我有一个 asp.net mvc4 网络应用程序。从开发工具中,当我切换到 IE 7 时,当我进入登录页面时 jquery-1.9.1.js 崩溃(mvc 4 中互联网应用程序模板附带的默认值)。
jquery-1.9.1.js 在第 2582 行崩溃,一段代码:
// IE6/7 do not support getting/setting some attributes with get/setAttribute
if ( !getSetAttribute ) {
// Use this for any attribute in IE6/7
// This fixes almost every IE6/7 issue
nodeHook = jQuery.valHooks.button = {
get: function( elem, name ) {
var ret = elem.getAttributeNode( name );
return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ?
ret.value :
undefined;
},
set: function( elem, value, name ) {
// Set the existing or create a new attribute node
var ret = elem.getAttributeNode( name );
if ( !ret ) {
elem.setAttributeNode(
(ret = elem.ownerDocument.createAttribute( name ))
);
}
ret.value = value += ""; <---- HERE IE 7 CRASHES!!!!!
// Break association with cloned elements by also using setAttribute (#9646)
return name === "value" || value === elem.getAttribute( name ) ?
value :
undefined;
}
};
如上所述,它在以下行崩溃:
ret.value = value += "";
ret.value 为空,值为“novalidate”
错误引发类似于:javascript 运行时错误:找不到成员。
如果我从 IE 10 执行它然后切换到兼容模式,则会发生同样的错误。
有人可以告诉我如何解决这个问题吗?
第一次尝试 我使用了以下元数据来确保使用最新的渲染引擎:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
另请参阅以下页面: IE 7 兼容模式下的 JQuery 不显眼验证导致带有表单的页面中出现“未找到成员”错误
但是使用纯IE 7浏览器时似乎不起作用...
有任何想法吗?