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與四周有些間距纔好。

        以上。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章