WebView为Android 加载网页的一个控件,
webview加载链接的方法为webview.loadUrl();
一.webview的打开 mWebView.setWebViewClient(new WebViewClient()); 此方法使网页在当前应用的内部打开,如果不设置网页会从浏览器打开。 二。获取网页的头部 获取网页头部的方法有两种 1.此方法获取的标题是网页加载完毕时的标题mWebView.setWebViewClient(new WebViewClient() { //此方法会在网页加载完毕时调用 @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); //获取网页的头部标题 String title = view.getTitle(); } }; 2.此方法可以动态获取网页的标题,只要网页有标题就会显示, 能动态获取网页标题的改变,但是此方法有个缺陷如果两个网页公用一个webview, 如果从第二个链接返回到第一个链接的时候, 标题还停留在第二个网页的标题,不会刷新 mWebView.setWebChromeClient(new WebChromeClient(){ @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); //此处的title为网页的标题 } });
三。js交互
1.原生调用h5的方法mWebView.loadUrl("javascript:h5method()");2.h5调用原生的方法
//开启与h5页面的交互 WebSettings settings = mWebView.getSettings(); settings.setJavaScriptEnabled(true); //设置网页的加载模式是否缓存 settings.setCacheMode(WebSettings.LOAD_NO_CACHE); //h5调用原生的方法 mWebView.addJavascriptInterface(new Js(this), "JsName");public class Js { private Context context; public Js(Context context) { this.context = context; } @JavascriptInterface public void method() { //此处是和h5页面定义的方法,注意此处是处于子线程,如果想要更新ui需要利用handler开启一个主线程。 } }
Android webview的解析
最新推荐文章于 2024-08-29 17:08:36 发布