【问题标题】:Opening a new tab in JS在 JS 中打开一个新标签页
【发布时间】:2011-09-22 22:36:02
【问题描述】:

是否可以在 JS 中打开新标签页?我试着用谷歌搜索它,但大多数答案都是在几年前回答的,当时不可能,所以现在有可能吗?!

提前致谢:))

如果可能的话,另一个问题是,我们可以使用相同的标签打开不同的 Url 吗?我的意思是单击一个超链接时打开 2 个差异选项卡

【问题讨论】:

  • 我编辑了您的问题并删除了 PHP 作为标签,因为 PHP 是一种服务器端语言,与浏览器行为无关。
  • 谢谢,我们通常是成对写的,我太傻了哈哈 :)

标签: javascript


【解决方案1】:

是的。您可以使用添加到 onclick 事件的 window.open('target.html','mywindow','width=400,height=200') 在 Javascript 中执行此操作。 请参阅this for more 信息。

【讨论】:

【解决方案2】:

在现代浏览器中打开一个新选项卡与通过设置目标属性在新窗口中打开一个链接相同。使用 HTML,您可以这样做:

<a href="url" target="_blank">Click me</a>

(见HTML a target attribute

使用 javascript,您可以通过 window.open(url, '_blank'...) 执行相同的操作,但 请记住,除非在 onClick 事件中完成,否则大多数浏览器都会阻止此操作,因此在之后会自动打开一个新选项卡例如,某些计时器已关闭不是一个好主意。

【讨论】:

  • 谢谢!会考虑到这一点!
【解决方案3】:

如果是应该在新标签页中打开的链接,您也可以使用 &lt;a href="/target" target="_blank"&gt;link text&lt;/a&gt;

【讨论】:

    【解决方案4】:

    如果您想同时打开两个页面,您可以随时结合上述两种技术。

    <a href="thispage.html" target="_blank" onclick="window.open('thatpage.html');">Double Link</a>
    

    这将同时打开页面thispage.htmlthatpage.html

    不要忘记将title 属性添加到您的链接中,因为在没有警告用户的情况下打开新窗口/选项卡通常是不受欢迎的。类似的东西;

    title="Clicking this link will open two new tabs"
    

    应该让标准主义者远离你。

    此外,您可能希望将您的 onclick 事件与您的 html 分开,因为再次将它们混合在一起确实不是最佳做法。如果您使用的是 jquery,则通过在页面顶部插入一小段 JavaScript 来分配 onclick 事件;

    $(function(){
          $('#the-link-id').click(function(){
                 window.open('thatpage.html');
          });
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 2019-12-28
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 2012-05-09
      • 2016-07-16
      相关资源
      最近更新 更多