android 在开发WebView时,去掉网页的标题并设置成自定义的标题

android 在开发WebView时,去掉网页的标题并设置成自定义的标题

分类:android

IOS中关于去掉标题只需类似下面的两行代码

[js appendString:@"var title = document.getElementsByClassName(‘navbar-top’)[0];"];[js appendString:@"title.parentNode.removeChild(title);"];

而android上面拿掉网页的标题还真是难事,自己花了好几天的时间终于大功告成,现目前这绝对是拿掉标题换成自定义的标题的第一人。网上的都是更改标题的文字,可有时加载的H5页面的标题与app风格不一时,就必须把标题栏拿掉换成自己的标题栏。先上网页的图和最后换掉标题的图

上一段网页的源码

1,初始化WebView并设置以下属性

webview= (WebView) findViewById(R.id.newer_guide_webview);脚本webview.getSettings().setJavaScriptEnabled(true);//加载需要显示的网页webview.setWebViewClient(new MyWebViewClient());webview.loadUrl(mUrl);视图webview.getSettings().setJavaScriptEnabled(true);webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);2,自定义WebviewClient,即继承WebViewClient并实现他的方法,并添加jsoup jar包(这种方法不好,后面有正确的方式)

//Web视图 private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); if (!firstLink){//必须加上,不然会不断刷新WebView界面 firstLink=true; /**拿掉标题的主要代码 开始**/

Document doc = null; try { doc = Jsoup.connect(mUrl).get(); } catch (IOException e) { e.printStackTrace(); } titleString = doc.getElementsByClass("nav-title").text(); System.out.println("*******" + titleString); /**拼凑要显示H5 开始**/ /**要想拼凑成功就必须把上面的网页图看懂,<></>称为一个Element 其会包含所有其中的内容**/ Elements content = doc.getAllElements(); String html="<!DOCTYPE html> \n" + "<html lang=\&;zh-cn\&;>"; html+=content.get(2).toString()+"<body>\n" +"<div class=\&;main\&;>"; //此次的数字得自己写个for循环打印每个element将数字替换 html+=content.get(16).toString(); /**拼凑要显示H5 开始**/ view.loadDataWithBaseURL(mUrl, html, "text/html", "utf-8", null); //只要有这句就得声明firstLink,不然一直刷新界面

每一件事与每一个美丽景色,都有可能成为一生中的难忘。

android 在开发WebView时,去掉网页的标题并设置成自定义的标题

相关文章:

你感兴趣的文章:

标签云: