メモ: IE8の「右クリック」から起動する JavaScript でも prompt を使えるようにする方法

観測気球

収集物の記録書庫 a data archive of collection -- collectible toys

[要旨] IE8 では、なぜか prompt を実行しようとすると、そこで強制終了するようになってしまったので、どうすれば動くようになるか、試行錯誤してみました。
[キーワード] JavaScript,IE8

« 反逆するつもりだった(BlogPet) | トップページ | 12月01日のココロ日記(BlogPet) »

2009.11.29

メモ: IE8の「右クリック」から起動する JavaScript でも prompt を使えるようにする方法

Internet Exporler には、「右クリック」で表示されるメニュー(context menu)経由でいろんなコマンドやツールを起動する機能、いわゆるコンテキストメニュー拡張(MenuExt)があります。この MenuExt は、JavaScipt (以外に VBScipt 等も使える) でコマンドやツールを記述して、レジストリに登録することで、使えるようになります。

IE6 までは、単にレジストリに登録するだけで使えた(今までIEが入ってなかった環境に IE6 を入れた場合は、セキュリティ関連の設定が必要になります。すでに IE5.x が入っている状態からのアップデートの場合は不要)のですが、IE7 以降は「既定」の設定のままでは動かなくなってしまいました。

IE7 のときは、「インターネットオプション」の設定をいじれば動くようになりました。IE8 では、「既定」のままでも問題なく動くものがある(セキュリティ的にそれでいいのか疑問ですが)一方で、なぜか途中まで動いて終了してしまうものがあるという、よくわからない状況になっています。

どういう JavaScript が動かなくなってしまったかというと、prompt を使っているものが動かなくなってしまったことを確認しています。alert や confirm は問題なく実行されるのに、prompt を実行しようとしたところで強制終了。わけがわかりません。

IE8 の新機能「セーフティ」はとりあえず、無関係。次に、「インターネットオプション」の「セキュリティ」。設定をいろいろいじって試してみましたが、全く効果なし。

結局、IE7 のときにもいじった「詳細設定」の「マイコンピューターでのファイルでのアクティブコンテンツの実行を許可する」を「許可する」設定に変更することで解決。prompt を使っている JavaScript も動くようになりました。

Ie8menuexthint
「マイコンピューターでのファイルでのアクティブコンテンツの実行を許可する」をチェック

それにしても何で prompt だけ、こんなことになってしまってるんでしょうね。不思議です。IE7 のときは、prompt だけじゃなくて、MenuExt な JavaScipt 全滅だったのに。セキュリティ的には IE7 の方が正しい「既定動作」だと思います。不評だったとかで変えちゃったのかなぁ? それにしても中途半端な変更ですね。

投稿者: tsupo 2009.11.29 午前 06:03 | 固定リンク | このエントリーをはてなブックマークに追加 | このエントリを del.icio.us に登録 このエントリの del.icio.us での登録状況 | このエントリを Buzzurl に追加このエントリの Buzzurl での登録状況 | このエントリをlivedoorクリップに登録 このエントリのlivedoorクリップでの登録状況 このエントリをlivedoorクリップに登録している人の数 | 酢鶏巡回中

楽天市場


品揃え豊富で安い!NTT-X Store


アマゾンわくわく探検隊

トラックバック

この記事のトラックバックURL:

この記事へのトラックバック一覧です: メモ: IE8の「右クリック」から起動する JavaScript でも prompt を使えるようにする方法:

コメント

ワード

ニッセン

fujisan.co.jp

楽天市場