如何修改 javascript 调用的 mailto link 以在 Chrome 中工作

How to modify mailto link called by javascript to work in Chrome

我有这个 JavaScript 代码(在 PHP 页面中)打开一个新的 window 来调用一个 mailto link,然后关闭新的 [=26] =] - 这样做是为了让原来的 window 继续它的过程,并在用户邮件客户端中打开一封电子邮件。

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

此代码在 Edge 和 Firefox 上运行正常,但在 Chrome 上运行不正常。我已经用谷歌搜索了 - 大多数人都在谈论处理程序,我已经检查过(Chrome 处理程序),唯一的选择是 "allow sites to ask to become default handlers for protocols (recommended)".

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

在浏览器 window 中打开 mailto: link 毫无意义。相反,创建一个 a 元素,设置它的 href 然后以编程方式单击它

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