我在页面上有一个mailto链接。当页面自己加载时,它按预期工作。
然而,当通过Chrome中的框架集加载页面时,没有任何反应。加载开发人员工具后,将显示错误"[blocked] The page at https://mysite.com ran insecure content from mailto:..."
。
如何修复/解决此问题?
答案 0 :(得分:27)
是的,使用“top”是诀窍,但你可以单独用HTML做到这一点!
<a target="_top" href="mailto:...">email</a>
答案 1 :(得分:26)
我最近还遇到了一个问题iframe。使用顶部框架工作,应该与所有主流浏览器兼容。
window.top.location = 'mailto:...';
答案 2 :(得分:6)
这是我最终得到的解决方案: 使用Chrome,Firefox,IE6,IE7,IE8,IE9,IE10,IE11,Safari进行测试
$("a[href^='mailto:']").on("click",function() {
window.top.location = $(this).prop("href");
return false;
});
答案 3 :(得分:2)
添加目标=&#34; _top&#34;或&#34; _blank&#34;或&#34; _parent&#34;
<a target="_top" href="mailto:a@b.c">email1</a>
<a target="_top" href="mailto:a@b.c">email2</a>
答案 4 :(得分:1)
可能是因为您的父框架集是https,但Chrome现在似乎将mailto链接视为不安全。
我在通过
触发mailto链接时遇到了类似的问题window.location = 'mailto:...'
将其更改为可解决此问题。
window.open( 'mailto:...')
答案 5 :(得分:1)
这是我的解决方法,直到修复了Chrome错误:
$.browser.chrome = /chrom(e|ium)/.test(navigator.userAgent.toLowerCase());
if($.browser.chrome){
myWindow=window.open("mailto:"+eml+"?subject="+msb,'','width=50,height=50');
myWindow.close();
} else {
window.location.href = "mailto:"+eml+"?subject="+msb;
}
对于Chrome,使用window.open()方法生成实例并立即关闭该实例。小窗口会眨眼&#34;在短期内,但将完成这项工作。这是&#34;脏&#34;解决方案,但与Chrome的错误一样多。
对于其他浏览器,可以使用window.location()方法。
答案 6 :(得分:1)
这也有效,不会用Facebook关闭窗口....
<a href="mailto:..." target="_blank">...</a>
或
$("a[href^='mailto:']").attr('target','_blank');