看起来mailto
我们嵌入网站的链接在 Chrome 中无法执行任何操作,尽管它们在 Firefox 中有效。
这里的简单示例:http: //jsfiddle.net/wAPNH/
<a href='mailto:test@test.com'>hi this is a test</a>
我们需要做一些特别的事情来启用 Chrome 中的邮件链接吗?
看起来mailto
我们嵌入网站的链接在 Chrome 中无法执行任何操作,尽管它们在 Firefox 中有效。
这里的简单示例:http: //jsfiddle.net/wAPNH/
<a href='mailto:test@test.com'>hi this is a test</a>
我们需要做一些特别的事情来启用 Chrome 中的邮件链接吗?
这是特定于浏览器设置的,即根据用户的浏览器设置,它的行为会有所不同。用户可以mailto:
通过访问更改链接在 chrome 中的行为方式chrome://settings/handlers
,或者Chrome Settings->Content Settings->Manage Handlers...
如果该页面上未列出“电子邮件”,请参阅有关如何继续的答案。
这是因为 chrome 以不同的方式处理 mailto。您可以转到chrome://settings/handlers
并确保哪个是默认处理程序。在您的情况下,它将是无(即未列出)。现在转到 gmail.com。当您单击书签按钮旁边的按钮时,您应该会看到类似的内容。
如果您希望通过 gmail 打开所有电子邮件链接,请设置“使用 Gmail”。现在,当您单击 mailto 按钮时,chrome 将自动在 gmail 中打开。
我也遇到了这个问题,并最终追查到我的链接在 iframe 中,而我的网络应用程序使用 https。由于这个原因,Chrome 阻止了它(Chrome 会在 iframe 之外打开其他 mailto 链接)。
在mailto link not working in a frame chrome (over https)中,kendsnyder 提到简单地改变
<a href="mailto:...">email</a>
至
<a target="_top" href="mailto:...">email</a>
瞧,问题解决了。该 mailto 链接现在适用于所有浏览器。
修复对我有用的问题,因为我的协议处理程序是空的
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 可能会修剪之前的所有内容,包括冒号。然后点击进入。
当弹出窗口打开时,点击“允许”
您可以尝试去chrome://settings/handlers
并设置值mailto:
tonone
而不是gmail
我有同样的问题。这个问题,由于某种奇怪的原因,Chrome 将自己变成了打开 mailto: 链接的默认工具。解决方案,将您的邮件客户端作为默认应用程序打开它。如何: http: //windows.microsoft.com/en-nz/windows/change-default-programs#1TC=windows-7
祝你好运
我在一个对我有用的谷歌论坛上找到了这个答案。在脚注中提到了“googleapps.exe”——我没有这个,它仍然有效。只需按照以下说明操作,但在更改注册表之前关闭所有应用程序。我还保存了现有值,以防万一它不起作用。
只需在搜索栏中输入“运行”,然后输入“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 不能轻易解决这个问题。我听说 Google Apps 尚未在 Windows 7 上进行全面测试,但很明显相同的标签适用于它。
注意:这个解决方案唯一的事情是你的机器上需要有 googleapps.exe 文件。我相信我是通过他们网站上的免费 GooglePack 获得的,该网站现已停产。我尝试在网上搜索下载它的方法,但奇怪的是,它似乎现在只为企业保留,并且网上没有可用的下载链接,因为拥有它的每个人都使用谷歌更新程序流式传输它......奇怪。总之祝你好运!
另一种解决方案是实现您自己的自定义弹出/表单/用户控件,该控件将在所有浏览器中被普遍解释。
当然,这不会利用开箱即用的“mailto”功能。这完全取决于您所针对的可用性遵从性。对我自己来说不幸的是 - 默认情况下,每个人都可以使用 mailto,而不会“给客户带来不便”。
你的决定最终。
我用这段代码解决了这个问题:
<button onclick="email()">Contact me !</button>
<script>
function email() {
var str = window.open('mailto:aaaaaa@aaaaaa.net', '_blank');
}
</script>
它对我来说就像一个魅力!
通常<a href="mailto:hi@hi.com"></a>
应该可以,但请记住,您必须在计算机上设置默认电子邮件程序。例如,我使用的是 Ubuntu 14.04,默认电子邮件是 Thunderbird,它工作正常。
我只是有同样的问题。创建一个函数解决了这个问题:
<script>
function sendEmail(){
window.location = "mailto:test@test.com";
}
</script>
<a onclick="sendEmail();">hi this is a test</a>
'使用 Chrome,惹麻烦' - 匿名。(只是一个象征性的参考)
好吧,Chrome 以许多默认启用安全功能的实用程序而闻名,这就是您的问题所在。
但是,可以通过“设置默认电子邮件客户端”(因为未设置默认电子邮件客户端)或通过在“chrome://settings/handlers”下设置默认处理程序(默认情况下,它设置为“忽视')。
你也可以这样使用,
<a href="javascript:void(0);" onclick="javascript:window.location.href='mailto:info@example.com'; return false;">info@example.com</a>
我认为这是解决 chrome 问题的最佳方法。
谢谢..
请检查它:
这适用于 chrome 和所有浏览器。
<a href="mailto:test.test@gmail.com">Test</a>
尝试并在伟大的工作。