gpt4 book ai didi

javascript - 当我的页面在 IE 中加载时,该窗口立即跳到其他窗口后面

转载 作者:可可西里 更新时间:2023-11-01 10:08:47 24 4
gpt4 key购买 nike

一位用户最近报告了这个神秘的错误:在 one of my pages 上:

  • 当它在IE中加载时(在IE8中观察到,它在其他版本中的状态未知);和
  • 在 IE 后面至少打开一个其他窗口

发生以下情况:

  • IE 窗口移动到所有其他窗口之后;和
  • 它保持专注。这意味着窗口的任务栏按钮被按下并且页面接收所有预期的键事件,即使窗口完全隐藏也是如此。
  • 试图将 IE 置于前台是徒劳的。只要有另一个窗口可以躲在后面,它就会立即再次跳回去。

我绝不是 IE 专家。当我必须使用 IE 或 Windows 时,我会保留 XP 虚拟机以备不时之需。所以我什至不熟悉如何开始追踪这个错误。有人可以帮我找出这个错误吗?

最佳答案

我过去遇到过同样的问题 - body 被模糊了 [document.body.blur() 只在 IE 中有效]。执行此操作的函数是源代码中的 setBlur()。

当前版本:

function setBlur(items) {
var item;
for (var i = 0; i < items.length; i++) {
item = items[i];
if (item.id == "search-box-wrapper") continue;
if (item.children) setBlur(item.children);
try {
item.onfocus = function() {
this.blur();
};
} catch (e) {
if (console) console.warn(e);
}
}
}

不包括 body 模糊的版本(希望能解决您的问题):

function setBlur(items) {
var item;
for (var i = 0; i < items.length; i++) {
item = items[i];
if (item.id == "search-box-wrapper" || (item.tagName).toUpperCase() == "BODY") continue;
if (item.children) setBlur(item.children);
try {
item.onfocus = function() {
this.blur();
};
} catch (e) {
if (console) console.warn(e);
}
}
}

这确保函数 setBlur() 不会意外地用于模糊 body ,尽管没有解决调用 setBlur([document.body, ..., ...]) 的函数。

关于javascript - 当我的页面在 IE 中加载时,该窗口立即跳到其他窗口后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6537049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com