【问题标题】:How to close iphone Safari window before launching native app?如何在启动本机应用程序之前关闭 iphone Safari 窗口?
【发布时间】:2010-12-13 06:02:43
【问题描述】:

很容易注册一个自定义协议处理程序,以便通过 Safari 中的 URL 启动本机应用程序。但是,这样做会使当前浏览器窗口保持打开状态。如果应用程序随后提供返回 URL 的链接(通过 openURL),则该 URL 将在新的 Safari 窗口中打开,而忽略现有窗口。我在这里问了一个关于在同一个窗口中加载的问题,有人建议使用#anchor 标签来区分内容但使用相同的 url 会使 Safari 混淆为重用窗口,但事实并非如此。即使 URL 完全相同,包括 #anchor 标记,Safari 也会启动一个新窗口。我的下一个想法是在打开本机应用程序的 url 之前通过 window.close() javascript 关闭窗口。但我无法让它工作。如果我对 url 使用 ajax 调用,它实际上不会启动本机应用程序。如果我使用 window.open(url),它会取消关闭前一个窗口,无论我在调用 window.close() 之前还是之后打开 url。

有人知道在通过 URL 启动本机应用程序之前关闭当前 Safari 窗口的方法吗?

【问题讨论】:

    标签: iphone safari window native


    【解决方案1】:

    我不相信这是可能的,尽管我可能被证明是错误的。

    【讨论】:

      【解决方案2】:

      由于 iphone 中的 safari 浏览器不完全支持 javascript 执行,这是不可能的。

      如果你想为 PC / Mac 系统做其他事情,可以使用 javascript 代码

      提示: 在单击 url 时调用 javascript 方法。在该方法中,使用 window.open 创建要打开的窗口的新实例,最后使用 self.close() 关闭父窗口;或 window.close();

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-22
        • 2022-01-19
        相关资源
        最近更新 更多