在JavaScript文件中重定向到新标签页

54

我有一段代码可以设置:

top.location.href = [someurl]

但我希望它在新标签页中打开。 是否有任何方法可以使上面的代码包括:target="_blank"

4个回答

104

使用方法window.open(url, target)打开一个新窗口(取决于浏览器或用户的设置,URL是否在新窗口或标签页中打开):

window.open('http://stackoverflow.com', '_blank');

要了解有关 window.open() 的更多信息,请阅读 w3schools 上的文档

请注意:在大多数浏览器中,随意打开新窗口(或标签页)是不允许的,因为它会被视为“不必要的弹出窗口”。


1
@T.J.Crowder 对不起,你是完全正确的。已经更改了链接。 - lvogel
“_blank”并不是必需的,因为它是默认值。 - user1032531

19

If你是在响应用户的操作(比如点击)时执行这一动作,那么你可以使用window.open

window.open("someurl", "_blank");

大多数默认设置的浏览器中,这将打开一个新标签页而不是新窗口。当然,用户可以更改设置,使其成为新窗口。

如果不是响应用户的点击,您无法在良好的浏览器中执行此操作,因此网页不能随意打开标签页。


7

这里是window.open的一个替代方案 - 请参考这个例子(stackoverflow片段不允许打开)。

let a= document.createElement('a');
a.target= '_blank';
a.href= 'https://example.com/';
a.click();

-4
请使用这段代码。
 window.open ('URL', "_newtab" );    

3
这个回答有哪些其他回答没有提供的信息? - GrumpyCrouton
可以扩展您的答案,并链接一些关于 _newtab 的来源吗? - jrtapsell
1
将上述代码添加到文件中,并在浏览器上运行。 <script> window.open ('https://facebook.com', "_newtab" ); </script> - Karanpreet Singh Sethi
3
问题是:使用 _newtab 相比于 _blank 有什么附加价值?你只需要粘贴一个 JavaScript 代码行而不提供任何解释。Stackoverflow 应该给出更好的答案!谢谢。 - Samuel Dauzon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接