IE11 の互換性 (VBScript)

ポツポツとネットでも見かけるようになったネタなので、メモ代わりに。

Windows 8.1 / Windows Server 2012 R2 の標準ブラウザは Internet Explorer 11 なわけです。

すでに自動更新も始まっていますので、もし、自動更新したくなかったら、ブロッキングツールを入れときましょう。

Internet Explorer 11 自動配布の無効化ツールキット
http://www.microsoft.com/ja-jp/download/details.aspx?id=40722

今回の本題は、IE11 の互換性で気になる VBScript についてです。まずは、IE に関する開発者向けリソースである

Internet Explorer 11 guide for developers
http://msdn.microsoft.com/en-us/library/ie/bg182636(v=vs.85).aspx

を覗いてみます。いや、ここよりも互換性クックブック(Compat Cookbook)の方がいいですね。

Internet Explorer compatibility cookbook
http://msdn.microsoft.com/en-us/library/ie/dn384059(vs.85)

大体、ここに互換性の情報がそろっていますので、探してみると…ありました!

VBScript is no longer supported in IE11 edge mode for the Internet zone
http://msdn.microsoft.com/en-us/library/ie/dn384057(v=vs.85).aspx

これですね。
そんで、サポートしないよと言っているのは、インターネットゾーンの場合と書いてあります。
そこら辺で見かけたコードで検証してみました。わー、シンプル。

<html>
<head>
</head>
<body>
<script type="text/javascript">
alert (‘Javascript’);
</script>
<script type="text/vbscript">
msgbox "Vbscript"
</script>
</body>
</html>

インターネットゾーンとイントタネットゾーンで動かしてみました。

InternetZone IntranetZone

確かに msdn に記述されているとおり、インターネットゾーンの場合だけ

msg1

と表示されます。イントラネットゾーンにすると、このメッセージボックスに加えて

msg2

も表示されました。
VBScript を動かしたかったら、インターネットゾーン以外にしなさいってことですね。
ただ、セキュリティゾーンを設定させるのは嫌だなぁって思うこともあります。
msdn をもう一度読んでみると、レガシー ドキュメントモード にすれば動きそうです。

<html>
<head>
<meta http-equiv="x-ua-compatible" content="IE=10">
</head>
<body>
<script type="text/javascript">
alert (‘Javascript’);
</script>
<script type="text/vbscript">
msgbox "Vbscript"
</script>
</body>
</html>

検証してみたところ、確かに VBScript の msgbox も動きました。
でも、msdn には、一時的な対処方法と書いてあるので、推奨していないってことですね。

とっとと JavaScript に移行するのが良さそうです。

One Response to IE11 の互換性 (VBScript)

  1. 多能食楽非労富眠 (@chan_no_ta) より:

    IE11でVBScriptが反応してくれずほとほと困っていましたが、お陰様でスッキリしました。ありがとうございました。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。