在新标签页(而不是新窗口)中打开 URL

2022-08-29 21:49:56

我正在尝试在新选项卡中打开URL,而不是弹出窗口。

我见过相关问题,其中的回答看起来像这样:

window.open(url,'_blank');
window.open(url);

但是它们都不适合我,浏览器仍然试图打开一个弹出窗口。


答案 1

这是一个技巧,

function openInNewTab(url) {
 window.open(url, '_blank').focus();
}

//or just
window.open(url, '_blank').focus();

在大多数情况下,这应该直接在链接的处理程序中发生,以防止弹出窗口阻止程序和默认的“新窗口”行为。您可以通过这种方式执行此操作,也可以通过向对象添加事件侦听器来执行此操作。onclickDOM

<div onclick="openInNewTab('www.test.com');">Something To Click On</div>

http://www.tutsplanet.com/open-url-new-tab-using-javascript/


答案 2

作者无法选择在新选项卡而不是新窗口中打开;这是用户首选项。(请注意,大多数浏览器中的默认用户首选项是针对新选项卡的,因此在未更改该首选项的浏览器上进行的简单测试不会证明这一点。

CSS3提出了新的目标,但规范被放弃了

反之亦然。通过在 的第三个参数中为窗口指定某些窗口功能,可以在首选项为选项卡时触发新窗口。window.open()