足以注册自定义协议处理程序,以便通过Safari中的URL启动本机应用程序。但是,这样做会使当前浏览器窗口保持打开状态。如果应用程序然后提供返回URL的链接(通过openURL),该URL将在新的Safari窗口中打开,忽略现有窗口。我在这里问了一个关于在同一个窗口中加载的问题,并且建议使用#anchor标签来区分内容但使用相同的URL会使Safari混淆重用窗口,但事实并非如此。即使URL完全相同,Safari也会启动一个新窗口,包括#anchor标记。我的下一个想法是在打开本机应用程序的URL之前通过window.close()javascript关闭窗口。但我无法让它发挥作用。如果我对URL使用ajax调用,它实际上不会启动本机应用程序。如果我使用window.open(url),它会取消先前窗口的关闭,无论是在调用window.close()之前还是之后打开url。
有没有人知道在通过网址启动原生应用之前让当前Safari窗口关闭的方法?
答案 0 :(得分:1)
我不相信这是可能的,虽然我可能被证明是错的。
答案 1 :(得分:0)
由于iphone中的safari浏览器不能完全支持javascript执行,因此无法实现。
否则,如果你想为PC / Mac系统做,可以使用javascript代码
提示: 在单击url时调用javascript方法。在该方法中,使用window.open创建要打开的窗口的新实例,最后使用self.close()关闭父窗口;或者window.close();