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

时间:2011-11-17 17:58:32

标签: cordova

有时PhoneGap在Safari中打开网页,有时会在UIWebView中打开它们,是什么控制了它?

1 个答案:

答案 0 :(得分:4)

来自Does phoneGap support normal web?

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

  1. 如果网址有方案差距://它不会打开Safari
  2. 如果URL具有方案文件://它不会打开Safari
  3. 如果设置了OpenAllWhitelistURLsInWebView策略,则不会打开Safari。
  4. if navigationType == UIWebViewNavigationTypeOther && mainDocument != nil然后它会打开Safari。
  5. 阐述4:

    • ~NavTypeOther表示导航不是来自:链接点击,后退/前进按钮,重新加载或表单重新/提交。 (AKA window.location.href assignmentwindow.open(...)
    • mainDocument != nil表示该链接不是来自iFrame?和/或没有目标?

    基本上,我认为只有链接点击在UIWebView中打开(除非它们是间隙://或文件://链接,或者该策略已设置。)