我正在將我的一些舊的HTA從怪癖轉換爲IE9標準。但是,HTA打開的模態對話框和非模態對話框似乎不支持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時也會出現這種情況。
感謝您的回答,但正如您在我的示例中看到的那樣,代碼中已經包含「x-ua-compatible」(也在主頁中)。所有「HTML5-stuff」都在主頁面中工作,但不在對話框中= {。我也試過'IE = edge',不幸的是它也沒有幫助。 – Teemu 2012-07-30 19:23:52
嗯。這是一個痛苦。我希望'邊緣'會做到這一點。 MSDN網站的示例是否適合您? – Spudley 2012-07-30 19:45:14
不在對話框中,僅在主HTA中。如果主頁是HTM,那麼對話框也支持IE9標準。也許MS忘記更新mshta.exe的對話框? – Teemu 2012-07-30 19:52:24