I'm translating some of my old HTAs from Quirks to IE9 standards. However, it seems that modal and modeless dialogs opened by HTA don't support IE9 standards mode.
Test dialog:
<!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>
In the HTA main page:
<button onclick="showModalDialog(...)">Modal</button>
<button onclick="showModelessDialog(...)">Modeless</button>
When opening TestDialog from HTA, it's empty. If the main page is a regular html-document, the green circle appears in the dialog. When opening from HTA, there's no difference if the dialog file itself were htm or hta.
I've also tested addEventListener()
but it also won't work in dialogs.
So, can I "force" dialogs to support IE9 standards when opening from HTA?
EDIT
It seems that modal and modeless dialogs opened from HTA are on the level of IE8. This same happens when using IE10 in Windows7.
A quick Google of the keywords in this question gave me this page on Microsoft MSDN site: http://msdn.microsoft.com/en-us/subscriptions/ms536496(v=vs.85).aspx
The answer to your question is on tha page. The answer is to add an
x-ua-compatible
meta tag to your HTML's<head>
section.To quote:
The tag would look like this:
The above is according to the MSDN site. In fact, I'd suggest that using
content="ie=edge"
would be better than specifying IE9 mode. Otherwise you'll lose out on any new features in IE10 when you upgrade to that.