SleipnirのSeaHorseでドメイン越え
似非GM_XHRかも。
なSeaHorseスクリプトができたかも。
ほとんどプヨぷよ氏のパクリです(__;)
実用性0だけどとりあえずあげておきます。
単にgooのトップページのケツにはてなのトップをつないだだけです。
// ==UserScript== // @name SH_XHR // @description えせGM_xmlHTTPRequest // @include http://www.goo.ne.jp/ // @type SleipnirScript // ==/UserScript== /******************************************* 動作説明 ページ内のドキュメントにSleipnirが作成したオブジェクトを持たせること(?)でブラウザのフリーズを回避。 たぶんこれで非同期化ができてると思う。 onloadイベント(読み込み時)でSH_XHRが着火。 onloadイベントは一回しか呼ばれないので非同期モード(引数=true)が可能。 SH_XHRはonunloadイベントで消される。 ********************************************/ if (_document) { Init(_window); } //SleipnirScript function Init(targetWindow) { var frames = targetWindow.document.getElementsByTagName("frame"); if (frames.length) { for (i = 0; i < frames.length; i++) { Init(frames[i].contentWindow); } } else if (!targetWindow.dict) { targetWindow.xmlhttp = sleipnir.CreateObject("MSXML2.ServerXMLHTTP"); jscript = targetWindow.document.createElement("script"); jscript.type = "text/javascript"; jscript.text = SH_XHR + closeSH_XHR; targetWindow.document.getElementsByTagName("head").item(0).appendChild(jscript); targetWindow.attachEvent("onload", targetWindow.SH_XHR); targetWindow.attachEvent("onunload", targetWindow.closeSH_XHR); } } //JavaScript function SH_XHR() { window.xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4) { var v = xmlhttp.responseText; document.body.innerHTML += v; } }; xmlhttp.open("GET", "http://hatena.ne.jp/",true, "", ""); xmlhttp.send(null); } //JavaScript function closeSH_XHR() { window.xmlhttp = null; }
ん〜
微妙にひっかりがあるなぁ。
きっとプヨぷよ氏やSleipnir2スレの中の人たちがもっといい感じのをリリースしてくれることに期待。