【问题标题】:how to use multiple window.open functions to open on one tab如何使用多个 window.open 函数在一个选项卡上打开
【发布时间】:2015-12-23 22:11:29
【问题描述】:

我有多个网页组成 1 个网站。每个页面的底部都有一个帮助按钮。此按钮将用户引导到提供帮助页面的另一个站点。

问题在于每个按钮都会打开一个指向同一帮助站点的新选项卡。我的目标是只为单独页面上的所有按钮点击打开 1 个新标签。

我正在使用

function showHelp() {

var helpUrl = 'url'

mainHelp = window.open(helpUrl, 'help')     }




<a href="##" onClick="showHelp()"; return false">

【问题讨论】:

  • 我知道有很多关于我的问题的信息,但是到目前为止我所尝试的都没有奏效。我正在使用 ie11。
  • 您使用 JS 打开此窗口而不是传统的 HTML 锚元素是否有特定原因?
  • 听起来像这个问题:stackoverflow.com/questions/19098535/… 您需要让您的浏览器确定该站点是否已在另一个选项卡中打开...
  • 我也尝试将 window.open() 放在 标记中,得到相同的结果。
  • 在提供的示例中,我可以在 foreach 循环中看到检查浏览器是否打开标签。如果条件返回 true,我是否也会在其中插入 window.open()?或者我将如何针对我的情况实施此操作

标签: javascript html


【解决方案1】:

您的代码无法正常工作,只有一些拼写错误和语法错误。 这是类似的代码:

HTML:

<a href="#" onclick="showHelp('https://www.google.com/'); return false;">Open Google</a>
<a href="#" onclick="showHelp('https://www.yahoo.com/'); return false;">Open Yahoo</a>

JS:

var helpWindow;

function showHelp(url) {
    helpWindow = window.open(url, 'helpWindow');
}

如果您不想这样做,则不必将 window.open 的结果分配给 helpWindow。分配了 helpWindow,您可以稍后通过运行将其关闭:

helpWindow.close();

注意:此答案中的代码仅在 MAC OSX 上使用 Chrome、Firefox 和 Safari 进行了测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    相关资源
    最近更新 更多