0

プロジェクトを Internet Explorer で実行する際に問題が発生しています。Chrome ではすべて問題なく動作しますが、IE で起動すると次のエラー メッセージが表示されます。

Unhandled exception at line 2525, column 4 in http://localhost:52288/Scripts/jquery-1.8.3.js

0x80020003 - JavaScript runtime error: Member not found.

私は明らかにjquery-1.8.3.jsのどこかに問題がありますが、私はこれが初めてで、どこから始めればよいかわかりません。誰かが私を正しい方向に向けることができますか? これが失敗している関数です。

if ( !getSetAttribute ) {

    fixSpecified = {
        name: true,
        id: true,
        coords: true
    };

    // 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;
            ret = elem.getAttributeNode( name );
            return ret && ( fixSpecified[ name ] ? 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 ) {
                ret = document.createAttribute( name );
                elem.setAttributeNode( ret );
            }

                          // FAILING ON THIS LINE
            return ( ret.value = value + "" );  // <--- ?
        }
    };

    // Set width and height to auto instead of 0 on empty string( Bug #8150 )
    // This is for removals
    jQuery.each([ "width", "height" ], function( i, name ) {
        jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
            set: function( elem, value ) {
                if ( value === "" ) {
                    elem.setAttribute( name, "auto" );
                    return value;
                }
            }
        });
    });

    // Set contenteditable to false on removals(#10429)
    // Setting to empty string throws an error as an invalid value
    jQuery.attrHooks.contenteditable = {
        get: nodeHook.get,
        set: function( elem, value, name ) {
            if ( value === "" ) {
                value = "false";
            }
            nodeHook.set( elem, value, name );
        }
    };
}


// Some attributes require a special call on IE
if ( !jQuery.support.hrefNormalized ) {
    jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
        jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
            get: function( elem ) {
                var ret = elem.getAttribute( name, 2 );
                return ret === null ? undefined : ret;
            }
        });
    });
}
4

2 に答える 2

2

うまくいくと思われる解決策に出くわしました。_Layout.cshtml のタグ内に次の行を追加しました。

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

これが私が解決策に出くわした場所です:

http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html

于 2013-10-10T17:48:09.860 に答える
1

これは、IE10 互換モードの既知のバグです。バグ #12577を参照

これにも Microsoft Connect のバグがありましたが、IE10 では修正されないため、Microsoft はクローズしました。

これはjquery-script3-member-not-found の重複する可能性のある質問でもありますが、そのようにマークするのに十分な担当者がいません。

于 2013-10-10T17:47:01.420 に答える