如何修复iframe中mailto链接的错误

时间:2013-04-22 15:43:20

标签: html iframe mailto

我正在iframe中创建一个带有mailto链接的网页。点击此链接时出错。当我将mailto链接放在iframe之外时,不会发生错误。它可能与gmail是我的默认邮件处理程序有关,但我希望该链接适用于gmail用户,当然也适用于其他电子邮件客户端的用户。我该如何解决这个问题?

以下是进入iframe的.html文件中的相关内容:

<a target="_parent" href="mailto:xxx@xxx.xxx">Contact XXX</a>

这是错误信息。

  

X-Frame-Options拒绝加载:   https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/?extsrc%3Dmailto%26url%3Dmailto:xxx@xxx.xxx&scc=1&ltmpl=default&ltmplcache=2   不允许框架。

如果它是相关的,我正在测试Firefox,但当然我想要一个跨浏览器的解决方案。

4 个答案:

答案 0 :(得分:1)

快速测试页面:

<html>
<body>
<iframe src="test2.html"></iframe>
</body>
</html>

这是test2.html的内容:

<a href="mailto:test@test.com" target="_parent">test email</a>

它可以正常使用Gmail设置为默认处理程序。不确定你的问题是什么......

编辑:您是否可以使用扩展程序在Gmail中打开mailto链接,而不是将其设置为默认处理程序?

答案 1 :(得分:1)

  1. 更改为target =“ _ blank”以打开新标签页;
    <a target="_blank" href="mailto:xxx@xxx.xxx">Contact XXX</a>
  1. 允许gmail处理“ mailto”:
    • 使用chrome访问gmail.com;
    • 查看地址栏右侧的“协议处理程序”图标;
    • 单击上方的图标,然后选择“允许”选项;

答案 2 :(得分:0)

在iframe中我也遇到了同样的问题。您只需为打开mailto窗口添加元素的以下代码onclick事件

window.top.location='mailto:xxx@xxx.xxx';

这将在iframe中打开您的mailto窗口

答案 3 :(得分:0)

尝试设置target="_top"