Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用location.href在新选项卡中打开页面_Javascript - Fatal编程技术网

Javascript 无法使用location.href在新选项卡中打开页面

Javascript 无法使用location.href在新选项卡中打开页面,javascript,Javascript,我需要使用window.location.href打开用户的电子邮件,因此我有以下代码: $("#email").click(function(){ window.location.href = "mailto:myemail.com?subject=Subject&body=xxxxxxxxxxxxxxxxxxxxxxxxxxx"; }); 这很好用。但是,问题是我无法在新选项卡中打开用户电子邮件页面,它是通过重定向当前页面打开的,而当前页面对用户不友好。我如何才能做到

我需要使用window.location.href打开用户的电子邮件,因此我有以下代码:

$("#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)。你为什么不直接用