IE11 和 <a href> 与 div 或 Javascript/dojo 中的 img

IE11 and <a href> with div or img in Javascript/dojo

在我的小部件 html-template 中,我有以下 a-tag:

<a class="mylink" href="" data-dojo-attach-point="downloadAttach"
                                dojoattachevent="onclick:_download">
<div class="mylinklayout"></div>
</a>

单击时应下载文件并以编程方式设置 `href 属性。这在 Chrome 和 Firefox 中工作正常,但在 IE11 中不行。用 img-tag 替换 div-tag 也会发生同样的情况。后台所有javascript代码都会按预期执行,只有下载不会开始(IE11也不会提示saving/directly打开文件)。

下载只有在我不使用 div 或 img 而只使用 a-tag 中的纯文本(制作通常的超链接)时才有效:

<a class="mylink" href="" data-dojo-attach-point="downloadAttach"
                                dojoattachevent="onclick:_download">
download here
</a>

javascript代码保持不变,href-attribute设置方法相同,值相同。现在它在 IE11 中工作。

是否有针对 IE11 的变通方法来使其与 div 或 img 一起工作?

我找到了它在旧版 IE 中有效但在 IE11 中无效的原因。此代码片段是针对 IE 制作的:

var scope = this;
setTimeout(function() { scope.close(); }, 500);

在 IE 中,clickhandler 似乎不应该在启动下载时立即得到处理,因此当检测到 IE 时执行此代码:对 IE 的检查以前是用 dojo.isIe 完成的,现在用sniff("ie")。此检查不会检测到 IE11,必须检查 trident。现在代码片段也将针对 IE11 执行,一切正常。