是什么控制PhoneGap是否打开Android浏览器?

时间:2011-12-15 01:07:29

标签: android cordova

有时,PhoneGap会在Android浏览器中打开网页,有时会在其UIWebView中打开它们。 Android的版本因行为而异。例如,在ICS中,window.open()在Android浏览器中打开链接,但2.3模拟器在WebView中打开此类链接。

是什么控制是在Android浏览器中还是在WebView中打开链接?

1 个答案:

答案 0 :(得分:1)

到目前为止我发现了:

触发shouldOverrideUrlLoading方法的内容将在以下情况下启动外部浏览器:

  • 网址未列入白名单
  • 一些计划(sms:tel:geo:mailto:

但是,shouldOverrideUrlLoading方法并不总是被触发 - 在Android 2.2和之前(可能是2.3?)Javascript技术上触发页面加载(例如window.open()document.location.href = )不要激活方法,因此无论如何加载WebView。

用户物理点击的链接似乎总是触发该方法。使用JS事件机制触发链接上的点击事件也可能有效,我还没有尝试过。