【发布时间】:2018-06-17 21:30:15
【问题描述】:
我使用PWAbuilder 为我的 PWA 应用生成了 iOS 和 Android Pollyfill。它在 Android 上运行良好,但我在 iOS 上遇到了问题。
我想在外部浏览器中打开外部链接,所以我添加了这个allow-intent:
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
这很好,如果我点击任何外部链接 (not-under-my-domain.com),它会在外部浏览器中打开。
为了在应用中打开 my-domain.com,我添加了
<allow-navigation hap-rule="yes" href="*://my-domain.com/*" />
根据文档,allow-navigation 应该优先于 allow-intent,但它似乎不起作用。
然后,如果我点击我域中的任何链接,例如 /other-page,它会在外部浏览器中打开 - 这是意料之外的,它应该在应用程序中打开。 p>
我想让allow-navigation 中未定义的任何链接在外部浏览器以及应用内的所有其他链接(在 my-domain.com 下)中打开。
有什么想法吗?
【问题讨论】:
-
你的 cordova-ios 版本是什么?我一直在尝试 4.5.4 并且似乎工作正常。我创建了一个加载谷歌并允许谷歌导航并进行搜索的应用程序,但结果在 safari 中打开。还尝试在允许
<allow-navigation hap-rule="yes" href="*://www.example.com/*" />后加载不同的www.example.comurl,并且它们都在应用程序内打开。 -
可能需要添加:
不允许插入星号,你需要在星号里面添加 -> * 和 NSAppTransportSecurity NSAllowsArbitraryLoads -
@jcesarmobile 我使用pwabuilder.com 生成了iOS 版本,但我很难找到版本。根据 Xcode 项目如何判断?
-
@Lito 我试着把它留给“”,但它没有成功。
-
@PabloCantero
I said you need to add inside the asterisk -> *,但网络不允许设置星号<allow-navigation href="*" /> <allow-intent href="*" />
标签: ios cordova cordova-plugins pwabuilder