2006-06-21 ========== GreaseMonkey Script on Opera 9.00 --------------------------------- Reference URI: http://lowreal.net/logs/2006/06/21/2 Written Time: 2006-06-21T21:55:35+09:00 Tags: js gm soft opera 9.0 がリリースされたのでいろいろ調べて書く。 XPath は割と普通に使えるっぽい。時々変な挙動な気もするけど。$X は書き換え無しに動く。と思いきや createNSResolver は動かない [innerHTML 使ってパースさせるやつ](my:2006/06/19/1) は Opera でもできるようだ。 Array#forEach や GM_xmlhttpRequest がないため、殆どの GreaseMonkey スクリプトは動 かない (が、後述するスクリプトでほぼ解決)。ついでに Opera はハイパートリッキーなこ とをしないとドメインを超えられないようだ。 Opera 用のラッパは 000.user.js とか最初のほうに呼ばれそうなファイルに書いてあげれ ばいいっぽい。[000.user.js](/2006/opera-userjs/000.user.js) . インターフェイスのラッパだけです。ドメイン超えるのも 000.user.js に書けば普通に いけるかもしれない。 作ったスクリプトで確認がとれたやつを列挙する。 - [hatena-newest-top.user.js](/2006/hatena-newest-top.user.js) - [hatena-kill-seemore.user.js](/2006/hatena-kill-seemore.user.js) - [hatena-highlight-fragment.user.js](/2006/hatena-highlight-fragment.user.js) - [hatena-bk-neglect-comment-by-id.user.js](/2006/hatena-bk-neglect-comment-by-id.user.js) - [hatena-bk-show-ss-and-comments.user.js](/2006/hatena-bk-show-ss-and-comments.user.js) - [hatena-tsukattara-makekana.user.js](/2006/hatena-tsukattara-makekana.user.js) - [get_video_youtube.user.js](/2006/get_video_youtube.user.js) E4X (ECMAScript for XML) とかクロスドメインとかでひっかかる。E4X を innerHTML + XPath にし、クロスドメイン のハックをすれば動くと思われる。 - [xpost-del-hatena.user.js](/2006/xpost-del-hatena.user.js) : E4X, cross domain - [flickr-show-licenses.user.js](/2006/flickr-show-licenses.user.js) : E4X それと、日本語は素でかけないようです。\u でエンコードする必要あり。スクリプトを直 接編集する場合もです。(GreaseMonkey はインストールするときに化けるらしく、直接編集 している限りは日本語は普通にかけます。)