childbrowser入门使用

      最近做的一个Android项目需要用到浏览器页面跳转追踪,即在webview里打开一个页面后,页面自己的跳转导致的地址栏变化等需要记录。如果是单纯的webview那就简单了,webviewClient里就有现成的方法跟踪记录页面的变化,


public boolean shouldOverrideUrlLoading(WebView view, String url) 
public void onPageStarted(WebView view, String url, Bitmap favicon)
public void onPageFinished(WebView view, String url) 

        但是我这种情况比较特殊一点,项目用的phonegap搭的框架,也就是说webview和webviewclient都是固定的了,不能再重写方法,这个时候childbrowser就派上用场了。


        childbrowser名为子浏览器,额,其实我也不想去费神粘贴官方的介绍了,我想呢,在已有的webview里新启动一个页面,要是用新的webview来显示页面这样是不合法的,因为Android的线程机制决定了改变UI一定要在一个线程里,所以childbrowser就像是一个外挂,在已有的机制下钻了空子,另起了一个线程显示新页面而没有被系统察觉。


        以下是使用方法

        1,下载一个childbrowser文件包,里面的东西有这么三样,一是ChildBrowser.java,二是ChildBrowser.js,三是放图片的ChildBrowser文件包这个要是不显示地址栏就可以不用。

         2,把com.phonegap.plugins.childBrowser这个包直接粘贴项目src下,并在configue.xml里注册上插件名称

<plugin name="ChildBrowser" value="com.phonegap.plugins.childBrowser.ChildBrowser"/>

         3接下来就是js的使用了,在需要使用的页面里引入childbrowser.js。

<script charset="utf-8" type="text/javascript" src="childbrowser.js"></script>

         4,使用childbrowser打开新页面,第二个参数表示不显示地址栏。

window.plugins.childBrowser.showWebPage(url, { showLocationBar: false});

               追踪页面地址的变化

 window.plugins.childBrowser.onLocationChange = function(loc){
            loc就是浏览器地址栏
}

                关闭childbrowser

window.plugins.childBrowser.close();




         经验与不足:

         childbrowser其实就是一个写好的浏览器插件,用法上与其他的plugin并没有区别,而且还可以在childbrowser.java里尽情修改,时间关系我就没细看了。有一个不足的地方,childbrowser启动后直接占了全屏了,把我的应用盖得一点都看不到,应该修改下让childbrowser与四周有些间距才好。

        以上。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值