window.onFocus 在 Chrome 上间歇性不触发

发布于 2024-11-17 08:09:40 字数 445 浏览 2 评论 0原文

我正在尝试确定聊天室应用程序的选项卡是否获得焦点。我有:

window.onfocus = function () {
  isActive = true;
};
window.onblur = function () {
  isActive = false;
};

这在 Firefox 甚至 IE 中都能完美运行。但在 Chrome 中,它只能间歇性地工作;有时该事件会触发,有时不会。如果我点击不同的窗口然后点击返回 Chrome 窗口,它总是会触发;但切换选项卡并不总是能做到这一点。

对此我能做什么?

请参阅此处的实例:http://holyworlds.org/new_hw/chat/onfocus.html

I'm trying to determine whether or not a tab is focused, for a chatroom app. I have:

window.onfocus = function () {
  isActive = true;
};
window.onblur = function () {
  isActive = false;
};

This works perfectly in Firefox and even in IE. But in Chrome, it only works intermittently; sometimes the event will fire, sometimes not. It will always fire if I click on a different window then click back to the Chrome window; but switching tabs doesn't always do it.

What can I do about this?

See live example here: http://holyworlds.org/new_hw/chat/onfocus.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哆啦不做梦 2024-11-24 08:09:40

这似乎是 Chrome\Windows 中的一个错误,因为其他平台上的 Chrome 不受影响。

此处提交的错误:http://code.google.com/p/chromium /问题/详细信息?id=87812

This appears to be a bug in Chrome\Windows, since Chrome on other platforms is unaffected.

Bug filed here: http://code.google.com/p/chromium/issues/detail?id=87812

疾风者 2024-11-24 08:09:40

你忘记了剧本的其余部分。

试试这个

var isActive = true;
window.onfocus = function () {
  isActive = true;
    document.title = window.isActive;
};
window.onblur = function () {
  isActive = false;
    document.title = window.isActive;
};

You forgot the rest of the script.

Try this

var isActive = true;
window.onfocus = function () {
  isActive = true;
    document.title = window.isActive;
};
window.onblur = function () {
  isActive = false;
    document.title = window.isActive;
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文