如何将浏览器焦点从一个标签更改为另一个标签

Max*_*Max 21 javascript focus

我有一个JavaScript聊天客户端在一个浏览器选项卡中运行(称之为选项卡A).现在,当消息到达时,用户可能在另一个浏览器选项卡上(称为选项卡B).当这样的消息到来时,我正在寻找将焦点从标签B更改为聊天客户端(标签A)的方法.

我找不到办法做到这一点.

scu*_*ffe 16

这是不是可能-出于安全考虑.

除非 "tab"表示一个窗口和一个弹出窗口(由于浏览器首选项)在新选项卡中打开.如果是这种情况,那么你可以.

//focus opener... from popup
window.opener.focus();

//focus popup... from opener
yourPopupName.focus(); 
Run Code Online (Sandbox Code Playgroud)


小智 7

可以通过标签A中的警报将焦点移回标签A,例如警报('新消息')

但是,你需要小心使用它,因为它很可能会惹恼人们.只有在应用程序中将其设为可选项时,才应使用它.否则,更新标签A的标题和/或图标似乎是最好的,因为nc3b说.

  • 使用 `alert` 会停止该页面中的所有 js。不是一个好的理想 (3认同)

Cal*_*orm 6

Chrome和firefox现在具有通知。我认为通知可能是一种比通知弹出窗口并将其强行强制到您的页面更方便用户的方法,用于向用户警告您的应用程序已发生更改。


nc3*_*c3b 5

你最好的可能是改变页面的标题,提醒用户选项卡需要注意(也许还有favicon - 看看meebo是怎么做的,它真的很讨厌但很有效)