出于某种原因,在 IE 中(准确地说是 Win 7 中的 IE8),当我单击 mailto 链接时,我最终将当前页面替换为地址栏中带有 mailto 的空白页面。
具体来说,当我单击 mailto 链接时会发生这种情况:
此时,看起来原始选项卡仍在显示原始页面。
如果我注释掉 dojo.xd.js 引用,它会按预期工作。
Firefox 和 Chrome 只是弹出 Outlook 新消息窗口。也在 Windows XP 和 IE7 上进行了测试和工作。
复制问题的代码是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>mailto test</TITLE>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.3.2/dojo/dojo.xd.js" djConfig="parseOnLoad: true"></script>
</HEAD>
<BODY>
<a href="mailto:example@example.com">mailto</a>
</BODY>
</HTML>
最佳答案
您好,我也一直在这里调查这个问题,归结为 ie8 中的扩展安全设置。
问题是所谓的保护模式。有趣的是,如果您的页面带有禁用了保护模式的 mailto 链接,并且您为 Internet 启用了 mailto 链接和保护模式,您就会遇到这个问题。
IE 尝试启动保护模式,并通过在启动邮件客户端之前针对 about: blank 执行此操作来执行页面刷新。
之后,它会尝试重定向到您的原始页面,但失败的次数比能够恢复页面的次数要多。
在默认设置中,您还会收到一个安全警告,您可以在其间使用复选框禁用。
将mailto 链接置于保护模式,或者完全禁用保护模式,或者将mailto 页面推送到保护模式,这一切都归结为问题。
更严重的问题甚至是您无法通配整个 mailto 链接,如果您添加通用域通配符 ala *.example.com,mailto 链接 mailto:myaddy@example.com 仍然未被识别为受信任域的一部分。
所以我不确定哪种策略最适合解决这个问题,最好的可能是微软在互联网设置中修复了他们的域通配符系统,这仍然与 IE 中的相同。
关于internet-explorer - 与 Dojo 一起使用时,mailto 在 IE8 中导致空白页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1674527/