2011-08-16 1 views
3

を示し、それはjqueryの - 1.6.2.jsでエラーを示し -のInternet Explorer 9 IE 9で私のjQueryのスクリプトをテストしているときにエラー

SCRIPT5022: Exception thrown and not caught 
jquery-1.6.2.js, line 548 character 3 

私のjsファイルは、中問題なく動作するように使用他のブラウザ - firefox 3.6、5.0、opera 11、chromium、chrome。分かりません。 jqueryソースにバグがありますか?またはjsファイルにバグがありますか?私はそれをどのように見つけますか?

私はこの分野で始めて以来、それほど長いことはありませんでしたので、いくつかのアイデアを本当にありがとうと思います。

ありがとうございます。

[編集] 私は完全なコードを追加しました。 私は以下から学んだ: http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-jquery-image-cropping-plug-in-from-scratch-part-ii/

私はどの部分を追加するのか分からない。全体のコードは、stackoverflowの提出に合っていません。 "ボディは3000文字に制限されています; 42121を入力しました"

[第2編集] 私はajax submitで 'error'を使用しました。

//jquery ajax submit for resizing 
    function submit(myform,e){ 
     $n.val($image.attr('src').replace(/^[^,]*\//,'')); 

     var mydata = myform.serialize(); 
     $.ajax({ 
      url: $myform.attr('action'), 
      cache: false, 
      type:$myform.attr('method'), 
      data: mydata, 

      success: function(response){ 
       var img = $("<img />").attr('src', 'images/'+response+'?'+ e.timeStamp) //<-- img name here 
        .load(function() { 
         if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) { 
          alert('Incorrect image.'); 

         } else { 
          $("#result").html(img); //<-- put cropped img here. 

         } 
        }); 


        }, 
      error: function(){ //<-- error used here 
         $('#result').html("Err. Loading Image"); 
        } 
     }); 
    }; 
+0

私のコードは必要ですか?私はjQueryプラグインを作成していますが、エラーがどこから生成されたのか分かりません。 – maan81

+0

あなたのコードは見栄えがいいでしょう:) –

+1

上記のエラーハンドラは理由がありませんでした.jQuery.error()とは別のものです –

答えて

2

私は自分をトレースし問題。IEはjQueryのエラーにせ属性の変更を防ぐ。

Note: jQuery prohibits changing the type attribute on an or element and 
will throw an error in all browsers. This is because the type attribute 
cannot be changed in Internet Explorer." 

http://api.jquery.com/attrから、ちょうど第一警告通知後。

だから私は

$('<input />').attr({'type':'hidden'}) 

に早く

$('input').clone() 

から私のコードを変更し、それは私の問題を解決しました。

ありがとうございました。

0

ちょっと推測しますが、コード内に$ .error()を使用していますか?はいの場合:使用しないでください。


<edit> 

しかし、このエラーがjQuery.error()から来ています。

元のエラー関数は次のようになります。

error: function(msg) { 
     throw msg; 
    } 

あなたはjqueryのせずに、それをテストすることがあります。

(function(msg) { 
     throw msg; 
    })('errormessage'); 

あなたは同じエラーを取得します。

jQuery.error()を使用しない場合は、それを使用するプラグインを多分使用します。 あなたはこの(バギー?)無効にすることができる機能を以下の直後に埋め込まれたjquery.jsを実行することによって:

jQuery.error=function(){} 

</edit> 
+0

号を使用していません。 – maan81

0

jQuery.error()(これthrows引数として渡されたメッセージ)、で指定errorハンドラとは全く異なっていますAJAX呼び出し。

jQuery.error()がためinternally by jQuery(検索「エラー(」)が使用されます。あなたはあなたのコードをデバッグしてerroringさjQueryのメソッドを呼び出しているあなたの方法のどの見つけるために、スタックトレースに従ってください。

関連する問題