【问题标题】:How to modify mailto link called by javascript to work in Chrome如何修改 javascript 调用的 mailto 链接以在 Chrome 中工作
【发布时间】:2019-05-20 18:55:55
【问题描述】:

我有这个 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 上对此进行了测试。

【问题讨论】:

  • 为什么不简单地&lt;a href="mailto:email@domain.com"&gt;Your Email Link&lt;/a&gt;
  • 只需在$link 之前添加mailto:,js 版本就可以在chrome 中工作,在我的作品中。
  • 感谢 $link 包括 mailto:我不希望用户单击链接,我希望 php 脚本调用链接并打开他们的邮件客户端,同时继续处理 php 脚本的其余部分.这在 Firefox 和 edge 中有效,而不是 chrome。
  • “调用链接的 PHP 脚本”是什么意思 - 我在这段代码中没有看到任何对后端的调用,只有代码,在用户端是简单的 JS? PHP 不在客户端运行。如果不是全部代码,请提供其余代码。

标签: javascript google-chrome mailto


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-07-24
    • 2019-05-14
    • 2012-03-11
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2013-07-05
    • 2013-10-14
    • 1970-01-01
    相关资源
    最近更新 更多