代码之家  ›  专栏  ›  技术社区  ›  ideasculptor

如何在启动本机应用程序之前关闭iphone Safari窗口?

  •  1
  • ideasculptor  · 技术社区  · 15 年前

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

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

    2 回复  |  直到 15 年前
        1
  •  1
  •   Grant Paul    15 年前

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

        2
  •  0
  •   Biranchi    15 年前

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

    否则,如果你想为PC/Mac系统做些什么,可以使用javascript代码

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