FireBugみたく、簡便にIEをデバッグしたい情熱からJSコンソールを作ってみる。4日目
現状のソース
//windowオブジェクト取得関数 var loadURL = function(url){ ie = new ActiveXObject("InternetExplorer.Application"); ie.Visible = true; ie.Navigate(url); while(ie.Busy){ WScript.Sleep(1); } return ie.Document.parentWindow; } //メイン処理 window = loadURL("about:blank");//window変数にIEを入れる WScript.StdOut.Write("js> "); while (!WScript.StdIn.AtEndOfStream) { try{ var str = WScript.StdIn.ReadLine(); WScript.StdOut.WriteLine( eval (str) );//evalしてる }catch(e){ WScript.StdOut.WriteLine(e); }finally{ WScript.StdOut.Write("js> "); } }
これをWindowsのコマンドプロンプトから実行してやる
JSコンソールから行う処理
- 空白ページにリンクを書出してJavaScriptからクリックしてやる。
C:\Documents and Settings\takuya_1st\cscript //nologo IEデバッガ.js
js> window.location
about:blank
js> window.eval("alert()")
[object Error]
js> window.alert("hello from IE");
js> window.document.write("<a href='http://www.hatena.ne.jp/' id='hatena'>はてな</a>");
js> a = window.document.getElementById("hatena"); http://www.hatena.ne.jp/
js> a.click();
js> window.alert();
[object Error]
js>
コンソールで行ってる処理の概要
- alertのテスト・・・成功
- 現在のLocation
- evalのテスト・・・失敗
- リンク作成
- DOM走査でAnchor取得
- リンクをクリックする
- ページ移動後はAlertすらエラー
おおおおおおおおおおお、IE制御をコマンドから行えた。
かなりJSコンソールらしくなってきた。
IEを使ったJavaScriptのデバッグやDOM処理が可能に。
IEとコマンドプロンプトの組合わせでfirebugの代わり