2

jQuery が原因なのか、スクリプトが原因なのかはわかりません。これは、Internet Explorer 9 でエラーが発生する場所です。

parseJSON: function( data ) {
    // Attempt to parse using the native JSON parser first
    if ( window.JSON && window.JSON.parse ) {
        return window.JSON.parse( data ); <<< this the "Invalid Character" err.
    }

これは私のJavaScriptコードです

http://jsfiddle.net/fNPwh

私の調査から、ここにある私のDOCTYPEもチェックしました。Quirksモードの話だったので入れてみたx-ua-compatibleけど何も変わらなかった

<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" > <!-- IE9 mode -->
blabla

ie9 が jQuery の無効な文字エラーを出すのはなぜですか? Firefox や Webkit ではありません。ところで、私はjQuery 1.9.1を使用しています。

4

1 に答える 1

1

これは、jQuery ライブラリのバグのようです。この投稿には、修正のために追加/変更するコードが含まれています。基本的には、 のチェックnullを解析して追加する前に、 のチェックを移動するだけですundefined。メソッドの開始は次のようになります...

parseJSON: function( data ) {
    if (data === undefined) {
        return data;
    }
    if (data === null) {
        return data;
    }

    // Attempt to parse using the native JSON parser first
    if ( window.JSON && window.JSON.parse ) {
        return window.JSON.parse( data );
    }
...

IE10 と Chrome でこの修正を確認しました。

于 2013-03-11T17:48:36.983 に答える