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の代わり