bal*_*pha 11 javascript google-chrome focus
我(ab)使用文档标题作为某种通知区域.如果有问题的选项卡/窗口在我想要通知用户某事时没有焦点,我会更改窗口标题以包含一些通知.
当窗口/选项卡重新聚焦时,我想删除通知,即将标题重置为标准.但是,此重置有时在Chrome中不起作用.
当我来自不同的窗口时,标题会正确更新,但是当我来自同一窗口中的不同选项卡时,它不会.
我找到了一个解决方法(我会将其作为答案发布),但请分享您可能需要解决的任何其他想法.
bal*_*pha 14
这似乎是Chrome中关于实际重新绘制标签标题的错误,因为文档标题本身(即在DOM内)实际上已正确更新.
我想更改选项卡(导致选项卡移动到前景,因此重绘)并在结果焦点事件中更改标题(这也需要重绘)会导致某种竞争条件.
这就是我尝试这种解决方法的原因,实际上它确实起作用:
window.setTimeout(function () { $(document).attr("title", newtitle); }, 200);
Run Code Online (Sandbox Code Playgroud)
- 只需等待一小段时间再更新标题,这样两个重绘事件就不会相互冲突.显然,这并不漂亮,但0.2秒的延迟通常不应成为问题.
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |