我有一个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为null,值为“novalidate”
错误提升类似于: javascript运行时错误:找不到成员。
如果我从IE 10执行它然后切换到兼容模式,则会发生同样的错误。
有人能告诉我如何解决这个问题吗?
第一次尝试 我使用了以下元来确保使用最新的渲染引擎:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
但是在使用纯IE 7浏览器时它似乎无法正常工作......
任何想法?