我在IE 11中遇到了一个主要错误(Windows 7上的最新版本11.0.9600.16521)。如果我在任何表单上打开选择下拉列表,页面上的所有其他表单字段都会冻结。我可以解冻'它们通过调整窗口大小(导致重绘)。这似乎发生在任何形式的任何形式上。
重现: 打开IE 11.0.9600.16521 转到http://www.wikipedia.org/ 从语言下拉列表中选择任何语言
结果: 语言下拉列表似乎没有在屏幕上更新 搜索框似乎被冻结 - 即关注选择框并开始输入但不显示任何文本。但是,如果您调整窗口大小,表单字段将更新并返回正常工作(直到您与另一个选择元素进行交互)
我无法在Google上找到这个问题,所以也许它只是我设置的特定内容。只有听起来与我所遇到的相似的是:http://connect.microsoft.com/IE/feedback/details/806679/ie-11-desktop-selecting-an-item-from-a-drop-down-list-on-a-webpage-causes-the-tab-to-crash。还有其他人能够重现这个吗?
答案 0 :(得分:2)
我对IE11有类似的问题,结果是对SELECT-option元素的.text属性的任何修改。我最终在这里找到了stackoverflow的“提示” How to fix IE select issue when dynamically changing options
在我的情况下,我使用直接的JavaScript,并且有许多相互依赖的SELECT框必须提出通用解决方案,所以我的解决方案是拦截( defineGetter )赋值给任何.text HTMLOptionElement的属性,并设置一个1毫秒的计时器来执行添加元素并删除元素,如引用的标题为“我有修复。”我们必须添加和删除选项列表以触发IE8中的渲染。请注意对IE8的引用,AFAIK IE至少有IE7问题,因为它至少可能早于IE7。
所以我添加到我的一个全局脚本中的代码如下:
try { var IE11; // IE10 and IE11 removed ActiveXObject from the window object but it can still be instantiated
IE11 = new ActiveXObject('MSXML2.DOMDocument.6.0');
IE11 = null;
if (typeof(HTMLOptionElement) != "undefined") {
try { HTMLOptionElement.prototype.__defineSetter__(
'text',
function(original) {
return function(newValue) { var sel;
original.call(this, newValue);
if (!(sel=this.parentElement).fixIE) sel.fixIE = window.setTimeout(_fixIE_(sel), 1);
}
}(HTMLOptionElement.prototype.__lookupSetter__('text')));
} catch(e) {};
}
} catch(e) {}
}
// IE11 broke SELECT boxes again, modifying any options .text attribute "freezes" the SELECT so it appears disabled
function _fixIE_(selBox) {
return _fixIE_;
function _fixIE_(){ var lc = selBox.options.length;
selBox.options.add(new Option('',''));
selBox.options.remove(lc);
selBox.fixIE = undefined;
}
}
菲尔
答案 1 :(得分:-2)
programs
widdcom
文件夹bttray
compatibility
run as admin
答案 2 :(得分:-2)
我在戴尔Windows 7上的IE 11中遇到了同样的问题。
通过在IE中关闭硬件渲染来解决问题,正如您在链接中所建议的那样。