在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();
}
05-11 17:50