2

SyntaxErrorjQueryを使用してJSONP経由で不正な可能性のあるリソースにアクセスするときに、を検出しようとしています。

このようなことを実行すると

try
{
  $.ajax("http://www.google.com", {dataType:"jsonp"});
  alert("good");
}
catch(e)
{
 alert("bad");
}

からの"good"メッセージと一緒にメッセージを受け取ります。私が得たいのはメッセージです。Chrome を使用していますが、可能であればクロスブラウザー ソリューションが必要です。Uncaught SyntaxError: Unexpected token <www.google.com:1"bad"

SyntaxError返されたリソースが有効な JSONP ドキュメントではないことを抑制して検出する方法はありますか?

4

1 に答える 1

0

window.onerrorすべての JavaScript 構文エラーをキャッチします。次のように使用できます。

$.ajax("http://www.google.com", {dataType:"jsonp"});

window.onerror = function(msg, url, linenumber) {
    if((msg == "Script error." || msg == "Syntax error") &&
        url.indexOf("http://www.google.com/") == 0) {

        alert("bad");

    }
}
于 2013-01-25T17:35:43.990 に答える