1

我有一个 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浏览器时似乎不起作用...

有任何想法吗?

4

0 回答 0