2

我正在尝试SyntaxError使用 jQuery 通过 JSONP 访问可能格式错误的资源时检测到。

当我执行这样的事情时

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

我收到"good"消息和Uncaught SyntaxError: Unexpected token <来自www.google.com:1。我想得到的是"bad"消息。我正在使用 Chrome,但如果可能的话,我想要一个跨浏览器的解决方案。

有没有办法抑制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 回答