XREA.COM Logo XREA.COM Ad

Sleipnir2スレ

23l ★:2007/04/25(水) 15:48:59 ID:???
Sleipnirスクリプトで無理矢理非同期実行を実現
Sleipnirのスクリプト実行機能は、スクリプトの実行中メインスレッドが停止するというふざけた仕様だが、スクリプトコントロールを作って、_windowのプロパティにくっつけて、そこでスクリプトを実行させてやれば、バックグラウンドで実行できる。
Sleipnirスクリプトが終了するとsleipnirオブジェクトが使えなくなってしまうので、あまり意味がない気がするが、クロスドメイン対応のXMLHTTPオブジェクトなどは、windowのプロパティとしてくっつけてやれば動作した。
また、ページのスクリプト実行がOFFになっていても動作する。

so=new ActiveXObject('MSScriptControl.ScriptControl.1');
so.Language='JScript';
so.AddObject('document',_document);
so.AddObject('window',_window);
so.AddObject('sleipnir',sleipnir);
_window.ScriptControl=so;
_window.XMLHTTP=new ActiveXObject("Microsoft.XMLHTTP");
so.Eval('window.setTimeout("try{with(window.XMLHTTP){open(\'GET\',\'http://lukewarm.s151.xrea.com/\',false);send();alert(responseText.substr(0,400));}}catch(e){alert(e.message);}",1000);');
57KB
名前: E-mail:
ファイル:
0ch BBS 2005-10-08