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();
}
时间: 2024-08-08 05:35:45

phonegap 新窗口 inappbrowser插件的相关文章

phonegap 新窗口 WebView

自定义WebView窗口打开 import com.ap.work.QuickWeb public class QuickPlugin extends CordovaPlugin { /** * 新开WebView 打开链接 * * @param context * @return */ public void WebUrl(JSONArray data, CallbackContext callbackContext) { try { // 下面两句最关键,利用intent启动新的Activi

vue.js开发抓信插件,如何在单页应用中打开新窗口

在vue项目中实现跳转到一个新窗口,有两个方法:1.<vue-link>标签实现新窗口打开官方文档中说 v-link 指令被 <router-link> 组件指令替代,且 <router-link> 不支持 target="_blank" 属性,如果需要打开一个新窗口必须要用<a>标签,但事实上vue2版本的 <router-link> 是支持 target="_blank" 属性的(tag="a

【JavaScript】单击网页任意一处打开新窗口与关闭窗口

在一些不正规的网站,尤其是那些挂满广告的下载站,经常在你点击的下载链接之前,无论你点击网页的任何一处都会弹出新窗口. 这样的效果,可以轻松用JavaScript做到,还可以专门指定点击某一区域的Div,才触发打开新窗口的事件. 比如下图的效果: 在原网页中,指定一个Div,无论用户点击这个Div的任意区域,都会打开新窗口,而点击其它地方则不会. 在新窗口的地址栏不可以编辑,不能被调整大小,提供一个"关闭"按钮,关闭该窗口. 原网页的HTML布局如下, <!DOCTYPE HTML

为PhoneGap写一个android插件

为PhoneGap写一个android插件,要怎么做? 其实这句话应该反过来说,为android写一个PhoneGap插件,要怎么做? 这里以最简单的Hello World!为例,做个说明: 1.第一步,要先建立一个支持PhoneGap(Cordova)的android工程 因为这个插件本质上是安卓插件,用于PhoneGap,因此,要二者支持才行,所以我们要建立一个支持PhoneGap(Cordova)的android工程,插件在这个工程里面编写. 扫盲:PhoneGap现在已经出售给了Apac

jquery新窗口打开链接

第一种:下面的代码是针对m35ui这个样式下的a都是在新窗口打开  <script type="text/javascript"> jQuery(document).ready(function($) { $('.m35ui a').attr({target: "_blank"}); }); </script> 第二种:  <script src="http://code.jquery.com/jquery-latest.js

phoneGap的Android下编写phonegap 发送短信插件

一.前端代码的编写 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>jQuery Mobile Web 应用程序</title> <link href="jquery.mobile-1.3.2.css" rel="stylesheet" type="text/css"/>

WinForm登陆成功关闭窗口打开新窗口

正常写法 DialogResult result = MessageBox.Show("OK", "连接成功!", MessageBoxButtons.OK); if (result == DialogResult.OK) { Home home=new Home(); home.Show(); this.Close(); } 事实证明,这种办法是行不通的.因为主窗口是由登录窗口打开的,所以我们在关闭登录窗口时,主窗口也会被一起关闭.这是一个线程树,或者窗口树的关系

JavaScript-打开新窗口

open()方法可以查找一个已经存在或者新建一个新的浏览器窗口. 语法:window.open([URL], [窗口名称], [参数字符串]) 参数解释: URL:可选参数,在窗口中显示网页的网址或路径.如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档. 窗口名称:可选参数,被打开窗口的名称. 1.该名称由字母.数字和下划线组成. 2."_top"."_blank"."_self"具有特殊意义的名称. _blank:在新窗口显示目

制作新按钮,“新窗口打开网站” ,点击打开新窗口。

<!DOCTYPE html><html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script type="text/javascript"> // 新窗口打开时弹出确认框,是否打开 //