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