javascript - 仅当新选项卡尚未打开时才打开它

标签 javascript jquery

是否可以仅在尚未打开的情况下打开新选项卡。

index.php

$('.title').on('click', function(){
    if tab `images.php` is already open -> go to that tab
    else {window.open('images.php', '_blank')  // open a new tab
});

因此,如果新选项卡已存在,我不想打开它。

在这两种情况下,当前选项卡 (index.php) 保持打开状态,但不处于事件状态。

最佳答案

只需为窗口命名,并确保不以下划线开头,否则它将像 html 的 _target 属性一样:

$('.title').on('click', function(){
  window.open('images.php', 'myWindow')
  // it will open the same window on following clicks
});

如果您不想重新加载页面:

var myWindow = null;
$('.title').on('click', function(){
  if(myWindow == null || myWindow.closed)
    myWindow = window.open('images.php', 'myWindow')
  else
    myWindow.focus()
});

您可以在 docs 中阅读有关 window.open 的更多信息。 .

关于javascript - 仅当新选项卡尚未打开时才打开它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53355304/

相关文章:

javascript - 将 PHP 变量传递给 Javascript 函数参数

javascript - 如何使用函数参数作为类名?

javascript - 如何使用 GraphQL Yoga 进行多嵌套查询(GET 请求)?

javascript - 具有 "Hit"范围的自定义维度为其他命中传递空值

javascript - 将 MVC 模型属性存储到 JavaScript var 对象语法错误

javascript - 当我在链接上分配像源/目标这样的单元格时发生事件?

jquery - 如何在隐藏列后调整 JQuery/Datatable 的大小

javascript - 如何阻止我的 React Native 测试在 Node Modules 中的 Flow 类型上轰炸?

javascript - 全日历渲染 2000 个事件

jquery - 向附加元素添加类