首页 > 解决方案 > 如何修改 javascript 调用的 mailto 链接以在 Chrome 中工作

问题描述

我有这个 JavaScript 代码(在 PHP 页面内),它打开一个新窗口来调用 mailto 链接,然后关闭新窗口 - 这样做是为了允许原始窗口继续它的进程并在用户邮件客户端中打开一封电子邮件。

<script language="javascript">
  var win;
  win = window.open("<?php echo $link; ?>" , "Email Window", "width=100,height=100");
  win.close();
</script>

此代码适用于 Edge 和 Firefox,但不适用于 Chrome。我已经用谷歌搜索过 - 大多数人都在谈论处理程序,我已经检查过(Chrome 处理程序),唯一的选择是“允许网站要求成为协议的默认处理程序(推荐)”。

启用或禁用并不能解决问题。我已经在多台 PC 上对此进行了测试。

标签: javascriptgoogle-chromemailto

解决方案


mailto:在浏览器窗口中打开链接是没有意义的。相反,创建一个a元素,设置它href,然后以编程方式单击它

let link = document.createElement('a')
// link.href = '<?= $link ?>'
link.href = 'mailto:johndoe@example.com'
link.click()


推荐阅读