GreaseMonkey では GM_xmlhttpRequest で他のページとってくるじゃないですか。で、onload して req.responseXML をとるなり req.responseText をとるなりするけど、どうにもこうにも not well-formed なページ (HTML とか) をとってきてノード検索するとき面倒くさいんですよ。responseXML はもちろん空だし、responseText はもちろんただのテキストだし。

で、なんとなく思いついたので以下のように解決するようにした。

GM_xmlhttpRequest({
method : "GET",
url : i.href,
onload : function (req) {
// てきとーなエレメント作って突っ込む (ブラウザにパースさせる)
var d = document.createElement("div");
d.innerHTML = req.responseText;
// d を最初のコンテキストノードにして文書を XPath 検索
$X(".//foobar", d);
},
onerror : function (req) {
alert(req.responseText);
}
});

なんてキモイ!

問題点は application/xhtml+xml なページから not well-formed なページをとってくるっていう場合は使えないこと。なぜなら innerHTML が使えないから。でも殆どの場合 (というか殆どのページは) text/html なので問題ない感じ。はてなとかはてなとかはてなとか。

Firefox 1.5 からは application/xhtml+xml なページでも innerHTML 使えるみたいです。by yoko さん

  1. トップ
  2. js
  3. ふぁっきん not well-formed, XMLHttpRequest とかで
  1. トップ
  2. gm
  3. ふぁっきん not well-formed, XMLHttpRequest とかで

はてぶでコメントと画像を表示させてる

hatena-bk-show-ss-and-comments.user.js

似たようなのがあるけどとりあえず公開する。こっちは自分のブックマークじゃなくてもいろんなところで動くと思う。

  1. トップ
  2. js
  3. はてブでスクリーンショットとコメントをさっさと表示させる GM
  1. トップ
  2. gm
  3. はてブでスクリーンショットとコメントをさっさと表示させる GM

sayonara-hatena-by-araiteru.user.js

気が付いたらはてなを使っている人向けのスクリプトです。そこそこ適切な代替サービスなどにリダイレクトします。

実装がダサかったので少しだけ変えました。コンセプトが既にダサいとかは知りません。

  1. トップ
  2. js
  3. はてな使うのをやめるための GreaseMonkey スクリプト
  1. トップ
  2. gm
  3. はてな使うのをやめるための GreaseMonkey スクリプト

via 適宜覚書はてな異本 - AdobeAcrobat7のロードをスピードアップする方法

紹介された方法だと何かうまく行かないので自力で try and error してみる。(7.0.5)

  • EScript.api
  • EScript.JPN
  • EWH32.api
  • Ewh32.jpn
  • Search.api
  • Search.JPN

エラー出しながらやったけど、「プラグインについて」を見れば依存性が書いてある罠。

  1. トップ
  2. soft
  3. Acrobat Reader 高速化