我们网站中嵌入的mailto
链接似乎无法在Chrome中执行任何操作,但它们可以在Firefox中使用。
这里的简单示例:http://jsfiddle.net/wAPNH/
<a href='mailto:test@test.com'>hi this is a test</a>
我们是否需要做一些特别的事情来启用Chrome中的邮件链接?
答案 0 :(得分:113)
这是特定的浏览器设置,即。它的行为会有所不同,具体取决于用户的浏览器设置。用户可以通过访问mailto:
或chrome://settings/handlers
Chrome Settings->Content Settings->Manage Handlers...
链接在Chrome中的行为方式
答案 1 :(得分:97)
这是因为chrome以不同的方式处理mailto。您可以转到chrome://settings/handlers
并确保哪个是默认处理程序。在你的情况下,它将是没有。现在去gmail.com。当您单击书签按钮旁边的按钮时,您应该会看到类似的内容。
如果您希望通过Gmail打开所有电子邮件链接,请设置“使用Gmail”。现在,当您单击mailto按钮时,chrome将自动在gmail中打开。
答案 2 :(得分:39)
就我而言,chrome在 Windows 10 中与 MAILTO 协议相关联。
我使用“默认程序” - &gt;将关联更改为Outlook “将文件类型或协议与程序关联”。
MAILTO位于列表中。此屏幕截图可能有所帮助。
答案 3 :(得分:16)
我也遇到了这个问题,并最终追踪到我的链接在iframe中,而我的网络应用使用了https。 Chrome因此阻止了它(Chrome会打开iframe外部的其他mailto链接)。
在 mailto link not working within a frame chrome (over https) 中,kendsnyder提到只是改变
<a href="mailto:...">email</a>
到
<a target="_top" href="mailto:...">email</a>
沃拉,问题解决了。 mailto链接现在适用于所有浏览器。
答案 4 :(得分:11)
答案 5 :(得分:7)
您可以尝试转到chrome://settings/handlers
并将mailto:
的值设置为none
而不是gmail
答案 6 :(得分:5)
修复这对我有用,因为我的协议处理程序是空的
https://productforums.google.com/forum/#!topic/gmail/CQMCGRvyhCM
参见redfish43的回复,总结一下
对于mailto: - 确保您已登录Gmail,并且活动窗口是您的主Gmail页面(或不会发生任何事情)。 - 将其复制/粘贴到地址栏中:
javascript:navigator.registerProtocolHandler("mailto","https://mail.google.com/mail/?extsrc=mailto&url=%s","Gmail")
如果需要,可以再次将javascript:添加到前面,因为当您粘贴它时,Chrome可能会修剪所有内容,包括冒号。然后按回车。
当弹出窗口打开时,单击“允许”
答案 7 :(得分:3)
我遇到了同样的问题。这个问题,由于一些奇怪的原因,Chrome将自己视为打开mailto:link的默认工具。解决方案,将您的邮件客户端作为默认应用程序打开它。如何:http://windows.microsoft.com/en-nz/windows/change-default-programs#1TC=windows-7
祝你好运答案 8 :(得分:2)
我在一个对我有用的Google论坛上找到了这个答案。在脚注中它提到'googleapps.exe' - 我没有这个,它仍然有效。只需按照以下说明操作,但在更改注册表之前关闭所有应用程序。此外,我保存了现有值,以防它不起作用。
只需在搜索栏中输入“run”,然后输入“regedit”,然后转到:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command\
编辑(双击)“(默认)”到:
"C:\Program Files (x86)\Google\Google Apps\googleapps.exe" --domain= --mailto.google.com="%1"
就是这样!保存并关闭它,它应该工作得很漂亮!
使用此方法可以防止您必须下载GMail通知程序,对于我们这些使用GTalk的人来说,它不需要,因为它为我们做了。我不确定谷歌为什么不能轻易解决这个问题..我听说Google Apps尚未在Windows 7上完全测试过,但显然相同的标签可以使用它。
注意:此解决方案唯一需要在您的计算机上安装googleapps.exe文件。我相信我的免费GooglePack来自他们的网站,现已停止使用。我尝试在网上搜索下载它的方法,但奇怪的是它似乎只保留给企业现在,并且网上没有可用的下载链接,因为每个人都使用谷歌更新程序将其流式传输。奇怪。无论如何祝你好运!
答案 9 :(得分:1)
另一种解决方案是实现您自己的自定义弹出/表单/用户控件,该控件将在所有浏览器中得到普遍解释。
当然,这不会利用“mailto”开箱即用功能。这一切都取决于您正在使用的可用性依从性。对我来说不幸的是 - 默认情况下,所有人都可以使用mailto而不会给客户带来不便。
最终决定。
答案 10 :(得分:1)
我使用以下代码解决了问题:
<button onclick="email()">Contact me !</button>
<script>
function email() {
var str = window.open('mailto:aaaaaa@aaaaaa.net', '_blank');
}
</script>
它对我来说就像一种魅力!
答案 11 :(得分:0)
通常的<a href="mailto:hi@hi.com"></a>
应该有效,但请记住,您的计算机上必须设置默认的电子邮件程序。例如,我使用的是Ubuntu 14.04,默认的电子邮件是thunderbird,工作正常。
答案 12 :(得分:0)
在 macOS 上,还检查Mail.app设置,该应用程序被选择为默认电子邮件应用程序/与mailto:
链接相关联:
如果您曾经在Gmail上单击过该通知,从而可以在Gmail中打开您的应用程序-,并且在重置Chrome处理程序后,则必须在Mail.app设置中手动进行修改
答案 13 :(得分:0)
主要由于以下两个原因之一,它可能无法在Chrome中运行:
答案 14 :(得分:0)
“使用Chrome浏览器,招来麻烦”-匿名。 (仅供参考)
好吧,Chrome以许多默认的启用安全性的实用程序而闻名,这就是问题的根源。
但是,可以通过“设置默认电子邮件客户端”(因为未设置默认电子邮件客户端)或在“ chrome:// settings / handlers”下设置默认处理程序(默认情况下,设置为“忽略”)。
答案 15 :(得分:0)
我只是遇到了同样的问题。创建函数可以解决问题:
<script>
function sendEmail(){
window.location = "mailto:test@test.com";
}
</script>
<a onclick="sendEmail();">hi this is a test</a>
答案 16 :(得分:-3)
你也可以这样使用,
<a href="javascript:void(0);" onclick="javascript:window.location.href='mailto:info@example.com'; return false;">info@example.com</a>
我认为这是解决Chrome问题的最佳方法。
谢谢..
答案 17 :(得分:-7)
请检查一下:
这适用于Chrome和所有浏览器。
<a href="mailto:test.test@gmail.com">Test</a>
尝试并努力工作。