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

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

我看到了相关的问题,答案看起来像这样:

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

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

十三古一神奇2020/03/09 18:28:04

Opening a new tab from within a Firefox (Mozilla) extension goes like this:

gBrowser.selectedTab = gBrowser.addTab("http://example.com");
十三Tony伽罗2020/03/09 18:28:04

There is an answer to this question and it is not no.

I found an easy work around:

Step 1: Create an invisible link:

<a id="yourId" href="yourlink.html" target="_blank" style="display: none;"></a>

Step 2: Click on that link programmatically:

document.getElementById("yourId").click();

Here you go! Works a charm for me.

乐十三2020/03/09 18:28:04

仅忽略[strWindowFeatures]参数将打开一个新选项卡,除非浏览器设置被覆盖(浏览器设置优先于JavaScript)。

新窗户

var myWin = window.open(strUrl, strWindowName, [strWindowFeatures]);

新标签

var myWin = window.open(strUrl, strWindowName);

- 要么 -

var myWin = window.open(strUrl);
梅Tom猿2020/03/09 18:28:04

我认为您无法控制这个。如果用户已将其浏览器设置为在新窗口中打开链接,则不能强制其在新选项卡中打开链接。

JavaScript在新窗口中打开,而不是选项卡

猴子古一蛋蛋2020/03/09 18:28:04

作者无法选择在新标签页中打开,而不是在新窗口中打开。这是用户的偏爱

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

反向是不正确的; 通过在的第三个参数中指定窗口的尺寸window.open(),可以在选项卡的首选项触发新窗口。