2008/01/31


はてなTIPS - アドレスから「id naoya」でダイアリーに
こんなの使えないかなぁ...
javascript:alert(%s);void 0
これを「js」てキーでレジストリ登録しておけば今まで javascript:alert(document.getElementById('banner'));void 0 ってやってたオブジェクトの存在確認が js document.getElementById('banner') って感じに少し楽になる。
単に評価式を返すので js document.getElementById('banner').innerHTML = 'ばなー'; ってな感じにも使えますね。

あと、もうすこし凝ってダイナミックローダ作ってamachangのjavascript-xpath.js使って xpath //div[@id='foo']//span なんて事も出来るのかも。もちろんIEなのでtoJSONなんかを実装した方がalertで確認し易いけど...。

Posted at by




こりゃすげ。
URLを渡すとページの内容(htmlソース)をJSONPとかで取得できるAPIをYahoo! Pipesで作った(管理人日記) - むぅもぉ.jp
Yahoo! PipesにFetch Pageモジュールが追加されたので、さっそく作ってみた。
これで色んなことが出来るようになるし、グリースモンキーに頼っていたクロスドメインな処理がJSONだけで出来るようになる。
これまでにも同様の事が出来るサービスはあったけど、Yahoo! Pipesがサポートしたってのは強い。
試しにYahoo! JapanのHTMLをレンダリングするサンプルを作ってみた。
以下コード
<script type="text/javascript"><!--
function on_load_document(data) {
    document.getElementById('yahoo_html').innerHTML = data.value.items[0].description;
}
function load_document() {
    var url = 'http://www.yahoo.co.jp/';
    var s = document.createElement('script');
    s.charset = 'utf-8';
    s.src = 'http://pipes.yahoo.com/poolmmjp/page_loader?url=' + encodeURIComponent(url) + '&_render=json&_callback=on_load_document';
    document.body.appendChild(s);
}
--></script>

<input type="button" onclick="load_document()" value="Yahoo! Japanを表示">
<div id="yahoo_html"></div>
実行結果は↓

続きを読む...

Posted at by




いぬビームさんが作ったはてなスターをプロフィールアイコンに変えるブックマークレットで遊んでたんですが、複数の日記を含んだページや、はてなブックマークに付けられた複数人への「はてなスター」ではいちいち数字をクリックして展開しなくてはなりません。
で...書いた。

久々javascript書いた。

今日も徹夜だ。

同情するなら☆おくれ。

ブックマークレット:はてなスターの数字を展開

ソースコードは↓
javascript:var d=document,e=d.createEvent('MouseEvents');if(typeof d.getElementsByClassName=='undefined')d.getElementsByClassName=function(c){var m=[];var n=d.body.getElementsByTagName('*');for(var i=0;i<n.length;i++)if(n[i].className == c)m.push(n[i]);return m;};void(0);d.getElementsByClassName('hatena-star-inner-count').forEach(function(i){e.initEvent('click', true, true);i.dispatchEvent(e)});void(0);
※たぶんfirefoxでしか動かない。
※ちなみに私のサイトでは数字が出るほど☆がないので、いぬビームさんとこでやるのがいいかと...
追記
修正しました。document.getElementsByClassNameがundefinedでした。
Posted at by