androidwebview加载页⾯,如何引⼊本地js库等⽂件
android webview加载页⾯时,页⾯中常常需要引⼊⼀些js库,⽐如jQuery等,平时都是使⽤cdn等⽅式引⼊的,因为并没有引⼊到本地,每次使⽤的时候都需要⽹络引进来,增加耗时。这⾥我们谈论⼀种将js放⼊本地assets中引⽤js的⽅法,由于js是在本地的,就不需要⽹络引⽤,好处就不说了。借鉴了很多⼤神的⽂章,但是都没有看到流程性的介绍,这⾥将⾃⼰引⼊的过程写出来,给后来的⼩伙伴们参考。
step2 将下载的js导⼊到本地android项⽬中
step 3 h5页⾯中引⼊本地js
<script type="text/javascript" src="/jquery-3.3.1.min.js">
嵌入式linux企业培训
step 4 重写android原⽣代码中webview webviewClient客户端中的shouldInterceptRequest⽅法
......
@Override
public WebResourceResponse shouldInterceptRequest(WebView webView, String url) {
Log.i("TAG***", "***"+url);
if (ains("jquery-3.3.1.min")) {
Log.i("TAG***", "***"+url);
try {
Log.i("TAG***", "加载本地jquery.js");
js中怎么让计时器重新运算return new WebResourceResponse("application/x-javascript",
"utf-8", getAssets().open("jquery-3.3.1.min.js"));
sorting out} catch (IOException e) {
modify revise amend区别e.printStackTrace();input的disabled属性
Log.i("TAG", "加载本地js错误:"+e.toString());
}
jquery下载文件请求}
return super.shouldInterceptRequest(webView, url);
}
......
step 5 运⾏查看⽇志是否打印
step 6 真机下测试后也没问题,这⾥不展⽰真机效果了
tip:
既然js⽂件可以引⼊,那么css等其他的⼀些⽂件都是可以本地引⼊的。