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

<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方面に深入りする気はなかったんだけど、この辺ってやり始めると結構深そうだな。いわゆるバッドノウハウ系っぽいけど。

Published At2004-03-29 00:00Updated At2004-03-29 00:00