只是为了总结和方便日后再使用webView时记录遇到的问题!
一、加载
1、加载网页
mWebView.loadUrl("http://www.jianshu.com/");
这种加载方式,当第一次加载网页之后,当你点击网页上的链接时,会默认自动打开系统内置的浏览器。如果不想打开浏览器,这可以采用以下的方式解决:
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view,String url) {
view.loadUrl(url);
return true;
}
});
2、加载asset文件夹下的html文件
webView.loadUrl("file:///android_asset/test.html");
二、WebViewClient与WebChromeClient
1、WebViewClient主要帮助WebView处理各种通知、请求事件的
2、WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等
加载进度:
JavaScript的对话框:
三、WebView的设置
WebSettings settings =mWebView.getSettings();
settings.setJavaScriptEnabled(true);//设置可与js交互
//支持屏幕缩放
settings.setSupportZoom(true);
settings.setBuiltInZoomControls(true);
//将放大缩小图标隐藏
settings.setDisplayZoomControls(false);
//设置缓存模式
settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
四、与JS的交互
mWebView.loadUrl("javascript:do()");//调用js中函数名为do的方法
五、webView的后退处理
@Override
public booleanonKeyDown(intkeyCode,KeyEvent event) {
if((keyCode == KeyEvent.KEYCODE_BACK) &&mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode,event);
}
六、webView的cookie保存
CookieManager cm=CookieManager.getInstance();
cm.removeAllCookie();
cm.getCookie(url);//得到cookie
cm.setCookie(url,cookie);//将cookie设置到url中
关于webView的使用链接:
史上最全WebView使用,附送Html5Activity一份
网友评论