fen*_*ent 70 javascript google-chrome focus
我需要知道用户当前是否正在Google Chrome中查看标签.我试图将事件模糊和焦点绑定到窗口,但只有模糊似乎正常工作.
window.addEventListener('focus', function() {
document.title = 'focused';
});
window.addEventListener('blur', function() {
document.title = 'not focused';
});
Run Code Online (Sandbox Code Playgroud)
焦点事件很奇怪,只是有时候.如果我切换到另一个选项卡并返回,焦点事件将不会激活.但是,如果我点击地址栏然后返回页面,它就会.或者,如果我切换到另一个程序然后返回到Chrome,则会激活该选项卡当前是否已关注.
nin*_*cko 124
2015年更新:具有可见性API的新HTML5方式(取自Blowsie的评论):
document.addEventListener('visibilitychange', function(){
document.title = document.hidden; // change tab text for demo
})
Run Code Online (Sandbox Code Playgroud)
原始海报给出的代码(在问题中)现在有效,截至2011年:
window.addEventListener('focus', function() {
document.title = 'focused';
});
window.addEventListener('blur', function() {
document.title = 'not focused';
});
Run Code Online (Sandbox Code Playgroud)
编辑:几个月后,在Chrome 14中,这仍然有效,但用户必须通过点击窗口中的任意位置至少一次与页面进行交互.仅仅滚动这样做是不够的.做window.focus()也不会自动完成.如果有人知道解决方法,请提及.
| 归档时间: |
|
| 查看次数: |
55118 次 |
| 最近记录: |