谷歌chrome没有't打开多个邮件客户端

Google chrome doesn't open multiple mail clients

本文关键字:客户端 没有 chrome 谷歌      更新时间:2023-09-26

我有下面的代码,我试图在其中打开多个邮件客户端它适用于Firefox,但不适用于Chrome

<button class="button">Open Email</button>
$(document).ready(function(){
    $('.button').on('click',function(){
       window.location.href = "mailto:user@example.com?subject=Subject&body=message%20goes%20here";
       window.location.href = "mailto:user@example.com?subject=Subject2&body=message%20goes%20here";
    });
});

这是的小提琴

有人知道这背后的原因是什么,或者有其他技术可以做到这一点吗?感谢

Chrome每个用户操作只允许打开一个窗口。如果打开新的浏览器窗口是个问题,你可以告诉弹出窗口阻止程序允许它,但在启动电子邮件窗口时这是不可能的。您可以需要两个用户操作(例如两个按钮),也可以制作一个基于web的邮件表单来做同样的事情(如果您使用的是用于跟踪目的的邮件客户端,只需让它向自己发送一份副本即可。

如果你想打开多个链接,你不应该使用window.location.href,它会在当前窗口中打开链接,你不能在一个窗口中打开多个链路。您应该使用window.open(your_url),但要注意,它会创建弹出窗口。

从浏览器的角度来看,mailto和其他链接一样是一个链接,因此连续两次将其分配给window.location.href就像快速单击页面中的两个链接,浏览器将只处理其中一个链接。

最后,如果你使用基于浏览器的邮件客户端,比如gmail,那么你的问题中的代码即使在FF中也不起作用。

你可以为用户提供2个链接来手动打开电子邮件客户端,你也可以打开客户端,刷新页面(在url上指示第二个页面的内容),然后打开第二个?