Javascript 无法使用location.href在新选项卡中打开页面
我需要使用window.location.href打开用户的电子邮件,因此我有以下代码:Javascript 无法使用location.href在新选项卡中打开页面,javascript,Javascript,我需要使用window.location.href打开用户的电子邮件,因此我有以下代码: $("#email").click(function(){ window.location.href = "mailto:myemail.com?subject=Subject&body=xxxxxxxxxxxxxxxxxxxxxxxxxxx"; }); 这很好用。但是,问题是我无法在新选项卡中打开用户电子邮件页面,它是通过重定向当前页面打开的,而当前页面对用户不友好。我如何才能做到
$("#email").click(function(){
window.location.href = "mailto:myemail.com?subject=Subject&body=xxxxxxxxxxxxxxxxxxxxxxxxxxx";
});
这很好用。但是,问题是我无法在新选项卡中打开用户电子邮件页面,它是通过重定向当前页面打开的,而当前页面对用户不友好。我如何才能做到这一点?您正在寻找的是
window.open()
示例:
window.open(“mailto:myemail.com?subject=subject&body=xxxxxxxxxxxxxxxxxxxxxxxx”)代码>看看这个:
默认情况下,您无法在新选项卡/窗口中打开“mailto”链接
您需要在单击覆盖中使用window.open()
。您可以在任何常规锚定标记上使用target=“\u blank”
属性,以确保在新选项卡中打开链接,而无需使用任何JavaScript。但是,请注意,mailto
链接通常由浏览器专门处理,可能只是重定向到系统的默认邮件应用程序,而不打开可见选项卡
<a id="email" target="_blank" href="mailto:person@example.com?subject=Subject&body=Body">
Email us!
</a>
编辑:由于一个bug,这个方法似乎在某些版本的Firefox中不起作用。(请参阅。)请查看下面的链接,您可以使用此链接查看演示
它不会以这种方式打开电子邮件页面,但使用location.href我可以这样做“用户电子邮件页面”是什么意思?用户可能有一个在浏览器外部打开的电子邮件程序(例如Outlook)。你为什么不直接用
?