怎么使用webView去 加载本地CSS

html-css010

怎么使用webView去 加载本地CSS,第1张

可以用js加载css。

webview.setWebViewClient(new WebViewClient() {

....

public void onPageFinished(WebView view, String url) {

src="file:///android_asset/xxx.js"

String baseUrl = "file:///android_asset"

view.loadDataWithBaseURL(baseUrl, strHtml, "text/html", "utf-8", null)

}

....

}

js文件如下:

function loadjscssfile(filename,filetype){

if(filetype == "js"){

var fileref = document.createElement('script')

fileref.setAttribute("type","text/javascript")

fileref.setAttribute("src",filename)

}else if(filetype == "css"){

var fileref = document.createElement('link')

fileref.setAttribute("rel","stylesheet")

fileref.setAttribute("type","text/css")

fileref.setAttribute("href",filename)

}

if(typeof fileref != "undefined"){

document.getElementsByTagName("head")[0].appendChild(fileref)

}

}

调用方式:

loadjscssfile("test.css","css")

你好,这是不能,css只有ie的专有属性,仅仅能改变滚动条颜色,在其他内核浏览器下无效 要做到宽度改变的话,只有用js模拟浏览器滚动条。(js模拟滚动条请自行百度),我们只能修改网页的属性,那是浏览器,我们没有办法去修改。

项目中出现一个兼容性问题,Oppo、Vivo手机Webview加载本地JS、CSS不执行

一、前提 OV手机低于android 7.0版本,

二、baseUrl是Https的

三、使用: webView.loadDataWithBaseURL(baseUrl, html, "text/htmlcharset=UTF-8", "utf-8", null) 方法加载

解决办法

还有一种不太好的解决办法: webView.loadDataWithBaseURL(null, html, "text/htmlcharset=UTF-8", "utf-8", null)

但是这样会导致页面内不是完整路径的图片找不到。