javascript - 选择当前选项卡打开的浏览器选项卡

标签 javascript focus

我有一个网页,其中包含一个链接,可在新选项卡中打开另一个页面。在新打开的页面中,我有一个链接,单击该链接后,焦点应移至原始选项卡。

新选项卡通过 target 属性打开:

<a href="/new-page/" target="_BLANK">new tab</a>

我认为这应该有效:

<a href="#" class="back-link">switch tabs</a>

$('.back-link').click(function() { 
    if(window.opener) {
      console.log('switching tabs');
      window.opener.focus();
    }
 });

console.log 触发,但焦点仍保留在当前选项卡上。我做错了什么?

最佳答案

您能否尝试将以下事件监听器添加到您的新选项卡按钮而不是target="_blank":

$('.new-tab-button').click(function(e) { 
    e.preventDefault();
    window.open('/new-page/');
 });

这样,您实际上会打开一个新窗口而不是新选项卡,根据下面链接的 stackoverflow 线程,出于安全原因,似乎只能将焦点集中到(也可能来自)窗口/弹出窗口。我不确定你想要做的事情是否可行,但如果可以的话,这可能就是它。

How to change browser focus from one tab to another

关于javascript - 选择当前选项卡打开的浏览器选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58936971/

相关文章:

Javascript 替换特殊字符

javascript - 从 JavaScript 内容的开头和结尾删除 <p><br/></p> 标记

javascript - 单击链接后将焦点设置在输入元素上

javascript - 如何检查字段集中的任何表单元素是否具有焦点

javascript - 如何禁用按钮或基于 Angular 单选按钮启用按钮

javascript - 使用点运算符调用 javascript 函数

android - requestFocus 跳过下一个 EditText

javascript - 跨浏览器输入文本焦点系统?

jquery-ui - jquery 模式对话框关闭后聚焦于文本框

javascript - 未捕获的类型错误 : lang is not a function