什么控制PhoneGap是否打开外部浏览器/ Safari?

问题描述:

有时PhoneGap会在Safari中打开网页,有时会在UIWebView中打开它们,控制它的是什么?什么控制PhoneGap是否打开外部浏览器/ Safari?

Does phoneGap support normal web?

https://github.com/callback/callback-ios/blob/master/PhoneGapLib/Classes/PhoneGapDelegate.m#L669表明:

  1. 如果URL有计划的差距://它不会打开Safari浏览器
  2. 如果URL有计划文件://它不打开Safari
  3. 如果设置了OpenAllWhitelistURLsInWebView策略,则不会打开Safari。
  4. 如果navigationType == UIWebViewNavigationTypeOther && mainDocument != nil那么它确实打开Safari。

在解释4:

  • 〜NavTypeOther意味着导航不是来自:链接点击,回/ FWD键,重新加载或重新格式/提交。 (AKA window.location.href assignmentwindow.open(...)
  • mainDocument != nil表示链接不是来自iFrame?和/或没有目标?

所以基本上,我认为只有的链接点击打开在一个UIWebView(除非他们的差距://或file://链接或策略设置。)