【发布时间】:2010-08-05 13:31:53
【问题描述】:
我可以在移动 safari 中打开 URL 时添加 try/catch 吗?我知道这个问题被问到了很多不同的方式,但基本上我所追求的是捕获错误的 URL 或检测浏览器何时无法打开特定的 URL。
【问题讨论】:
标签: javascript error-handling mobile-safari
我可以在移动 safari 中打开 URL 时添加 try/catch 吗?我知道这个问题被问到了很多不同的方式,但基本上我所追求的是捕获错误的 URL 或检测浏览器何时无法打开特定的 URL。
【问题讨论】:
标签: javascript error-handling mobile-safari
如果 URL 在同一个域中,那么您可以使用 XMLHttpRequest 来确定它是否返回有效响应。
例如
var xhr = new XMLHttpRequest();
function handler(){
if (xhr.readyState != 4) { return; }
if (xhr.status != 200) { return "THIS IS A BAD LINK"}
}
if (xhr != null) {
xhr.open("GET", URL_YOU_ARE_TESTING, true);
xhr.send();
xhr.onreadystatechange = handler;
}
但是,由于浏览器的same origin policy,这不适用于指向其他网站的链接(我猜这是您想要的)。我不相信这种情况有 javascript 解决方案。
【讨论】: