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)
但是这样会导致页面内不是完整路径的图片找不到。