我正在尝试使用jQuery通过JSONP访问可能格式错误的资源时检测到SyntaxError
。
当我执行类似这样的事情时
try
{
$.ajax("http://www.google.com", {dataType:"jsonp"});
alert("good");
}
catch(e)
{
alert("bad");
}
我收到"good"
消息以及来自Uncaught SyntaxError: Unexpected token <
的{{1}}消息。我想得到的是www.google.com:1
消息。我正在使用Chrome,但如果可能的话,我想要一个跨浏览器的解决方案。
有没有办法抑制"bad"
并检测返回的资源不是有效的JSONP文档?
答案 0 :(得分: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");
}
}