Javascript邮件不工作在chrome手机浏览器

javascript mailto not working in chrome mobile browser

本文关键字:chrome 手机 浏览器 工作 Javascript      更新时间:2023-09-26

通过javascript发送邮件

window.location.href = "mailto:linto.cet@gmail.com?subject=subject&body=body"

在移动Google chrome浏览器中不工作

实际源

Chrome在Android上阻止重定向到非通过用户手势制作的应用程序。

所以通过javascript是不可能重定向用户到邮件应用程序,因为Chrome 40,只有当你把它放在一个按钮href,这将工作,当用户点击按钮。

您可以在chromium论坛中阅读更多内容

如果你检查Chrome控制台,你会看到一个警告,类似于:Navigation is blocked: mailto:?...

我张贴一个答案,因为这是可能的。

创建一个隐藏的from view/temporary link元素并模拟点击。

var linkElement = document.createElement('a');
linkElement.style.visibility = 'hidden';
linkElement.style.position = 'absolute';
linkElement.href = 'mailto:linto.cet@gmail.com?subject=subject&body=body';
document.body.appendChild(linkElement);

以及稍后当您想要触发并打开邮件客户端时:

linkElement.click();

在我的网站上,当人们点击他们认为是mailto链接时(顺便说一下,同样的限制也适用于tel:链接),我首先发送一个GA事件,然后使用window。初始化邮件收件人的位置。虽然Chrome会通过开发控制台给我警告,但它仍然处理tel/mailto请求,并且窗口仍然弹出。