Javascript - 通过单击按钮在新选项卡中打开给定的URL

won*_*ng2 90 javascript

我想有一个重定向到给定URL的按钮,并在新选项卡中打开.如何才能做到这一点?

Luk*_*ton 122

用这个:

<input type="button" value="button name" onclick="window.open('http://www.website.com/page')" />
Run Code Online (Sandbox Code Playgroud)

为我工作,它将打开一个实际的新"弹出"窗口,而不是一个新的完整浏览器或选项卡.您还可以向其添加变量以阻止它显示特定的浏览器特征,如下所示:

onclick="window.open(this.href,'popUpWindow','height=400,width=600,left=10,top=10,,scrollbars=yes,menubar=no'); return false;"
Run Code Online (Sandbox Code Playgroud)

  • @ wong2可能想改变这个答案.目前选择的那个是罗嗦有效的. (2认同)

sat*_*nam 44

在javascript中你可以这样做:

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


Tim*_*the 26

添加target ="_ blank"应该这样做:

<a id="myLink" href="www.google.com" target="_blank">google</a>
Run Code Online (Sandbox Code Playgroud)

  • 我用一个按钮! (9认同)
  • -1因为请求了按钮而不是链接 (6认同)
  • 我明白了,对不起,我错过了.好吧,你可以将链接设置为外观和感觉就像一个按钮.如果您正在使用jQuery UI,只需使用[button](http://jqueryui.com/demos/button/)即可. (3认同)
  • +1,因为您为那些寻找简单的“在新选项卡中打开链接”答案的人提供了一个很好的解决方案(如果他们不使用按钮)。 (2认同)

小智 20

您可以忘记使用JavaScript,因为浏览器控制它是否在新选项卡中打开.您最好的选择是执行以下操作:

<form action="http://www.yoursite.com/dosomething" method="get" target="_blank">
    <input name="dynamicParam1" type="text"/>
    <input name="dynamicParam2" type="text" />
    <input type="submit" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

无论客户端使用哪种浏览器target="_blank"属性,这都将始终在新选项卡中打开.

如果你需要的只是重定向而没有动态参数,你可以使用带有target="_blank"属性的链接,如TimBüthe建议的那样.


Jam*_*ice 10

使用window.open而不是window.location打开新窗口或选项卡(取决于浏览器设置).

你的小提琴不起作用,因为没有button要选择的元素.尝试input[type=button]或给出按钮id并使用#buttonId.


Spy*_*ipt 5

老问题,但我想分享我的首选方法,它的优点是你的标记中没有嵌入令人讨厌的javascript:

CSS

a {
  color: inherit;
  text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<a href="http://example.com" target="_blank"><input type="button" value="Link-button"></a>
Run Code Online (Sandbox Code Playgroud)

  • 好吧,我想我有一个新的首选方法。 (2认同)

小智 5

使用 javascript 在新标签页中打开

 <button onclick="window.open('https://www.our-url.com')" id="myButton" 
 class="btn request-callback" >Explore More  </button>
Run Code Online (Sandbox Code Playgroud)