トップ «前の日記(2004-03-28) 最新 次の日記(2004-03-30)» 編集

2002|01|02|03|04|05|06|07|08|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|02|03|04|07|

2004-03-29 [長年日記]

_ deferとWScript.Shell.Runの第3引数 (13:51)

<script type="text/javascript" defer>
var shell = new ActiveXObject("WScript.Shell");
shell.run("notepad.exe", 1, true);
alert("end");
</script>

みたいなスクリプトで、shell.runの第3引数がtrue(終了するまで待つ)になっているのが効かないのはどうしてだろう? よりローカルな設定ほど強力であるというのが一般的だと思うんだけど、defer設定は何よりも強力ってことなのかなー。あと、shell.runの前に

alert("begin");

とか入れると、"begin"自体は表示されずに、"notepad.exe"が実行され、"notepad.exe"を閉じると"end"が表示される時もあるようだ。「時もある」というのは、(タブブラウザなんかで)裏で他のウィンドウをアクティブにしたりすると、突然"end"が表示されたりすることもあって、いまいち挙動が安定しなかったりするから。

あんまりJavaScript、WSH方面に深入りする気はなかったんだけど、この辺ってやり始めると結構深そうだな。いわゆるバッドノウハウ系っぽいけど。