2017年10月14日 星期六

[Android]android webview常用設定

android webview常用設定
大概整理了比較常用的webview的元件和項目在這邊以便查詢:



1、webSettings
詳細可以看android sdk相關文檔
設定webview的屬性處理:

方法名稱 描述
setAllowFileAccess 是否允許web連本地資料
setAppCatchMaxSize 設定快取最大值
setAppCatchEnable 設定API是否支援快取
setAppCatchPath 設定快取存放路徑
setAppCatchMode 設定快取類型,LOAD_NO_CACHE:不使用快取
setDomStorageEnabled 設定是否使用DOM Storage缓存
setJavaScriptEnabled 設定是否使用JavaScript
setSaveFromData 設定是否儲存表單數據
setSavePassword 設定是否儲存密碼
setSupportMulitipleWindows 設定是否支援多視窗瀏覽
setSupportZoom 設定是否支援頁面縮放


以下是範例:
setting.setDomStorageEnabled(true);//设置DOM Storage缓存

其他設定範例:(一般webview設定不會用到這個,這裡只是方便查詢)
物件.addJavascriptInterface(this, "javatojs");



2、webviewclient
設定webview的事件處理

方法名稱 描述
onUpdateVistiedHistory 更新歷史記錄觸發
onPageFinished 頁面載入完成觸發


以下是範例:
private final class WebViewClientImpl extends WebViewClient
{
        public void WebViewClientImpl()
        {
        }

        @Override
        public void onPageFinished(WebView view, String url)
        {
            view.loadUrl("javascript:window.ExtObj.responseResult(getFacebookShareURL())");
        }
}




3、webChromeclient
處理例如alert、頁面載入進度事件

方法名稱 描述
onJsAlert javascript的alert事件
onJsConfirm javascript的Confirm事件
onProgressChanged 頁面進度

以下是範例:
物件.addJavascriptInterface(new WebMap2.JsCallBack(), "ExtObj");
            物件.setWebChromeClient(new WebChromeClient(){
                @Override
                public void onProgressChanged(WebView view, int newProgress) {
                 
                }
            });

沒有留言: