如何在新选项卡(而不是新窗口)中打开链接?

Eri*_*pir 73 html javascript

我有一个"打开"按钮,用于"计算"应在新标签页中打开的链接.我尝试使用:

window.open(url, '_blank');
Run Code Online (Sandbox Code Playgroud)

但这开启了一扇新窗口.

我也尝试了以下方法:

<form id="oform" name="oform" action="" method="post" target="_blank">
</form>

...

document.getElementById("oform").action = url;
document.getElementById("oform").submit();
Run Code Online (Sandbox Code Playgroud)

仍然会打开一个新窗口,而不是新选项卡.

使用简单的<a href...>with时target='blank',链接将在新选项卡中打开.

有解决方案吗?

Ani*_*han 68

CSS3支持属性target-new的 "在新标签中打开"

 <a href="some url" target="_blank">content of the anchor</a>
Run Code Online (Sandbox Code Playgroud)

更新[2016]:正如其中一条评论所示,这种方法从未进入CSS3规范.不应该使用它.但是,可以看出大多数现代浏览器_blank无论如何都会在新标签中打开链接,除非之后立即尝试调整新标签的大小.但是,似乎没有一种机制可以在规范中强制执行此行为.


[2011]有关在受支持良好的新选项卡中强制打开的方法,请尝试以下操作:

target-new: window | tab | none;
Run Code Online (Sandbox Code Playgroud)

否则,使用方法立即调整窗口大小,以确保弹出窗口阻止程序不会终止您的弹出窗口


Kon*_*Kon 9

除了提到的CSS3目标 - 新选项@ anirudh4444之外,你不能,而且最重要的可能不应该.您试图控制用户的体验,这很可能由用户决定.

  • 这样做对吗? (3认同)

Ben*_*Ben 6

您可以使用以下任何一种,我在6种不同的浏览器中测试它们.(谷歌浏览器,Mozilla Firefox,Microsoft Internet Explorer,Opera,K-meleon*和Seamonkey.)

  1. <a href="blaah" target="_blank">Blaah</a>
  2. <a href="blaah" target="_tab">Blaah</a>
  3. <a href="blaah" target="_new">Blaah</a>

它们都完全相同,选择完全取决于偏好.

*K-meleon,出于某种原因刚刚打开我点击链接时所在的页面.

  • 当您第一次单击此类链接时,它们可能都有效。但是第二次单击此类链接时,它可能会打开一个新选项卡,或者它可能会在上次使用的同一选项卡中打开该 URL。只有 `target="_blank"` 被定义为始终使用新选项卡(或窗口,如果您的浏览器是这样配置的)。 (2认同)