Mailto链接在Chrome中什么也不做,但在Firefox中工作?

时间:2013-07-08 00:06:46

标签: html html5 google-chrome

我们网站中嵌入的mailto链接似乎无法在Chrome中执行任何操作,但它们可以在Firefox中使用。

这里的简单示例:http://jsfiddle.net/wAPNH/

<a href='mailto:test@test.com'>hi this is a test</a>

我们是否需要做一些特别的事情来启用Chrome中的邮件链接?

18 个答案:

答案 0 :(得分:113)

这是特定的浏览器设置,即。它的行为会有所不同,具体取决于用户的浏览器设置。用户可以通过访问mailto:chrome://settings/handlers

来更改Chrome Settings->Content Settings->Manage Handlers...链接在Chrome中的行为方式

答案 1 :(得分:97)

这是因为chrome以不同的方式处理mailto。您可以转到chrome://settings/handlers并确保哪个是默认处理程序。在你的情况下,它将是没有。现在去gmail.com。当您单击书签按钮旁边的按钮时,您应该会看到类似的内容。

Set mailto in chrome

如果您希望通过Gmail打开所有电子邮件链接,请设置“使用Gmail”。现在,当您单击mailto按钮时,chrome将自动在gmail中打开。

答案 2 :(得分:39)

就我而言,chrome在 Windows 10 中与 MAILTO 协议相关联。

我使用“默认程序” - &gt;将关联更改为Outlook “将文件类型或协议与程序关联”

MAILTO位于列表中。此屏幕截图可能有所帮助。

enter image description here

答案 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)

您需要允许gmail安装mailto协议的服务处理程序:

1)转到gmail

2)点击地址栏末尾的小菱形图标(屏幕截图)

3)享受

enter image description here

答案 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设置中手动进行修改

Screenshot

答案 13 :(得分:0)

主要由于以下两个原因之一,它可能无法在Chrome中运行:

  1. 您的默认电子邮件客户端未设置。
  2. chrome:// setting / handlers中的默认处理程序设置为“忽略”。

答案 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>

尝试并努力工作。