JavaScriptでHTMLのDOMノードを扱う
で、なんとなく思いついたので以下のように解決するようにした。
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); } });なんてキモイ!
ふむ、いいね。
ドメインが一緒なら iframe つかうという技も。こんな感じの。
var f = document.createElement('iframe'); f.height = 0; f.width = 0; f.onload = function() { alert(f.contentWindow.document.title); }; f.src = url; document.appendChild(f);
これなら getElementById も使える。キモイのは一緒だけど。