在Phonegap 开发过程中,需要调用外部网页,又要跳出白名单安全限制,可以使用 inappbrowser插件。
http://plugins.cordova.io/#/package/org.apache.cordova.inappbrowser
使用案例:
http://blog.csdn.net/gapapp/article/details/17093601
inappbrowser插件,顾名思义,就是应用内置浏览器。使用inappbrowser插件的时候,默认手机返回键按下,是退出内置浏览器,而不是历史记录的回退。
解决方法:改两个地方
1、org.apache.cordova.inappbrowser\src\android\InAppBrowserDialog.java
找到onBackPressed方法,改为下面的
public void onBackPressed () {
if (this.inAppBrowser == null) {
this.dismiss();
} else {
// better to go through the in inAppBrowser
// because it does a clean up
if (this.inAppBrowser.canGoBack()) {
this.inAppBrowser.goBack();
} else {
this.inAppBrowser.closeDialog();
}
}
}
2、org.apache.cordova.inappbrowser\src\android\InAppBrowser.java
找到goBack方法,把private改为public
public void goBack() {
if (this.inAppWebView.canGoBack()) {
this.inAppWebView.goBack();
}
}
然后添加一个方法
public boolean canGoBack() {
return this.inAppWebView.canGoBack();
}