phonegap 新窗口 inappbrowser插件

在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();
}
posted @ 2015-05-10 08:57  AppleCn  阅读(954)  评论(0编辑  收藏  举报