Google Chrome不会打开多个邮件客户端

时间:2014-04-12 07:04:16

标签: javascript jquery google-chrome data-binding mailto

我有以下代码,我试图打开多个mailclient 它适用于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";
    });
});

以下是fiddle to it

任何人都知道这背后的原因是什么,还是有其他技术可以做到这一点? 感谢

3 个答案:

答案 0 :(得分:2)

Chrome每个用户操作只允许一个打开的窗口。如果打开新浏览器窗口是个问题,您可以告诉弹出窗口阻止程序允许它,但是在启动电子邮件窗口时这是不可能的。您可以要么需要两个用户操作(例如两个按钮),要么可以使基于Web的邮件表单执行相同的操作(如果您正在使用跟踪目的的邮件客户端,只需将其发送给您自己。

答案 1 :(得分:0)

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

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

如果您使用基于浏览器的邮件客户端(如gmail),那么即使在FF中,您的问题中的代码也无法正常工作。

答案 2 :(得分:0)

您可以为用户提供2个链接手动打开电子邮件客户端,您也可以打开客户端,刷新页面(在第二个网址上显示某些内容)然后打开第二个链接?