【问题标题】:Try/Catch for Javascript in mobile safari?在移动 safari 中尝试/捕获 Javascript?
【发布时间】:2010-08-05 13:31:53
【问题描述】:

我可以在移动 safari 中打开 URL 时添加 try/catch 吗?我知道这个问题被问到了很多不同的方式,但基本上我所追求的是捕获错误的 URL 或检测浏览器何时无法打开特定的 URL。

【问题讨论】:

    标签: javascript error-handling mobile-safari


    【解决方案1】:

    如果 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 解决方案。

    【讨论】:

    • 感谢您的回复,但我应该澄清一下,我正在尝试使用 URL 启动已安装的应用程序并检测何时未安装该应用程序。我相信这归结为检测到错误的 URL,但我不知道,因为我以前从未真正处理过 mobilesafari。
    • 查看这个答案 - 我认为它可以满足您的需求:stackoverflow.com/questions/627916/…
    猜你喜欢
    • 2010-09-12
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    相关资源
    最近更新 更多