3

古い HTA のいくつかを Quirks から IE9 標準に翻訳しています。ただし、HTA によって開かれたモーダルおよびモードレス ダイアログは、IE9 標準モードをサポートしていないようです。

ダイアログのテスト:

<!DOCTYPE html>
<html>
<head>
<title>TestDialog</title>
<meta http-equiv="x-ua-compatible" content="ie=9" />
</head>
<body>
<svg>
    <circle cx="100" cy="100" r="50" fill="#0f0" />
</svg>
</body>
</html>

HTA のメイン ページ:

<button onclick="showModalDialog(...)">Modal</button>
<button onclick="showModelessDialog(...)">Modeless</button>

HTA から TestDialog を開くと、空になります。メイン ページが通常の html ドキュメントの場合、緑色の円がダイアログに表示されます。HTA から開く場合、ダイアログ ファイル自体が htm であるか hta であるかに違いはありません。

私もテストしましaddEventListener()たが、ダイアログでも機能しません。

では、HTA から開くときにダイアログが IE9 標準をサポートするように「強制」することはできますか?


編集

HTA から開いたモーダルおよびモードレス ダイアログは、IE8 のレベルにあるようです。Windows7 で IE10 を使用している場合も同様です。

4

1 に答える 1

2

この質問のキーワードを Google で簡単に検索すると、Microsoft MSDN サイトの次のページが表示されました

あなたの質問への答えはそのページにあります。答えは、HTML のセクションx-ua-compatibleにメタ タグを追加することです。<head>

引用するには:

既定では、HTA は Web ページを互換表示で表示します。これにより、標準モードのコンテンツが IE7 標準モードで表示され、互換モードのコンテンツが IE5 (Quirks) モードで表示されます。現在のバージョンの Internet Explorer で利用可能な機能を利用するには、meta 要素を使用して、HTA の X-UA-Compatible ヘッダーを定義します。

タグは次のようになります。

<meta http-equiv="x-ua-compatible" content="ie=9">

上記はMSDNのサイトによるものです。content="ie=edge"実際、 IE9 モードを指定するよりも、使用した方がよいと思います。そうしないと、IE10 にアップグレードしたときに、IE10 の新機能を利用できなくなります。

于 2012-07-30T19:14:33.093 に答える