本文介绍了什么控制PhoneGap是否打开外部浏览器/ Safari?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有时,PhoneGap会在Safari中打开网页,有时会在其UIWebView中打开网页,这是什么控制?
解决方案
a href =http://stackoverflow.com/questions/3210543/does-phonegap-support-normal-web/3505350#comment10019245_3505350> phoneGap是否支持正常的网络?:
会显示:
- 如果网址有方案gap://不打开Safari
- 如果网址有方案file://不打开Safari li>如果设置了OpenAllWhitelistURLsInWebView策略,它不会打开Safari。
- if
navigationType == UIWebViewNavigationTypeOther&&
详细说明4:
- 〜NavTypeOther表示导航不是来自:链接点击,返回/ fwd按钮,重新加载或形成重新提交。 (AKA
window.location.href assignment
或window.open(...)
) -
mainDocument!= nil
表示链接不是来自iFrame的? - if the URL has scheme gap:// it does not open Safari
- if the URL has scheme file:// it does not open Safari
- if the OpenAllWhitelistURLsInWebView policy is set it does not open Safari.
- if
navigationType == UIWebViewNavigationTypeOther && mainDocument != nil
then it does open Safari. - ~NavTypeOther signifies that the navigation is not from: a link click, back/fwd button, reload, or form re/submission. (AKA
window.location.href assignment
, orwindow.open(...)
) mainDocument != nil
signifies that the link is not from an iFrame? and/or doesn't have a target?
所以基本上,我认为只有链接点击在UIWebView中打开(除非他们' re gap://或file:// links,或已设置该策略。)
Sometimes PhoneGap opens web pages in Safari, sometimes it opens them in its UIWebView, what controls this?
解决方案
From Does phoneGap support normal web?:
https://github.com/callback/callback-ios/blob/master/PhoneGapLib/Classes/PhoneGapDelegate.m#L669 reveals that:
Elaborating on 4:
So basically, I think that only link clicks open in the UIWebView (unless they're gap:// or file:// links, or that policy is set.)
这篇关于什么控制PhoneGap是否打开外部浏览器/ Safari?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!