//API 21之前使用
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
return addLocationAssets(url);
}
//API 21之后使用
@SuppressLint("NewApi")
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
return addLocationAssets(request.getUrl().toString());
}
//需要加载的本地js资源
String[] jsFileName = {"bootstrap.min.js", "common-1.0.js", "fastclick.js", "hua-1.0.js", "jquery-1.9.1.js", "juicer-min.js", "map_min.js", "map_webapi.js", "swiper.min.js", "viewpager.js"};
//需要加载的本地image资源
String[] imageFileName = {"i_bbtn_ico01.png", "i_bbtn_ico02.png", "i_bbtn_ico03.png", "i_bbtn_ico04.png", "i_bbtn_ico05.png", "i_tcdt_ico01.png", "i_tcdt_ico02.png", "i_tcsf_zwdd.png"};
//需要加载的本地css资源
String[] cssFileName = {"bootstrap.css", "css_h5.css", "public-1.1.css", "swiper.min.css"};
//后台Image路径
String imageUrl = "mtss/images/";
//后台js路径
String jsUrl = "mtss/myjs/";
//后台Css路径
String cssUrl = "mtss/mycss/";
private WebResourceResponse addLocationAssets(String webResourceUrl) {
if (webResourceUrl.contains(UrlBuild.HEARD_URL)) {
WebResourceResponse webResourceResponse = null;
//加载图片
if (webResourceUrl.contains(imageUrl)) {
//取本地JS文件
for (int i = 0; i < imageFileName.length; i++) {
if (webResourceUrl.contains(imageFileName[i])) {
webResourceResponse = addImageWebResource(imageFileName[i]);
if (webResourceResponse != null) {
Log.e("WebResourceRespons2rimg", imageFileName[i]);
}
break;
}
}
}
//加载js
if (webResourceUrl.contains(jsUrl)) {
//取本地JS文件
for (int i = 0; i < jsFileName.length; i++) {
if (webResourceUrl.contains(jsFileName[i])) {
webResourceResponse = addJsWebResource(jsFileName[i]);
if (webResourceResponse != null) {
Log.e("WebResourceRespons2rjs", jsFileName[i]);
}
break;
}
}
}
//加载css
if (webResourceUrl.contains(cssUrl)) {
//取本地JS文件
for (int i = 0; i < cssFileName.length; i++) {
if (webResourceUrl.contains(cssFileName[i])) {
webResourceResponse = addCssWebResource(cssFileName[i]);
if (webResourceResponse != null) {
Log.e("WebResourceRespons2rcss", cssFileName[i]);
}
break;
}
}
}
return webResourceResponse;
}
return null;
}
/**
* @return 本地css
*/
private WebResourceResponse addCssWebResource(String cssName) {
try {
return new WebResourceResponse("text/css", "utf-8", getAssets().open("css/" + cssName));
} catch (IOException e) {
e.printStackTrace();
}
//需处理特殊情况
return null;
}
/**
* @return 本地js
*/
private WebResourceResponse addJsWebResource(String jsName) {
try {
return new WebResourceResponse("application/x-javascript", "utf-8", getAssets().open("js/" + jsName));
} catch (IOException e) {
e.printStackTrace();
}
//需处理特殊情况
return null;
}
/**
* @return 本地image
*/
private WebResourceResponse addImageWebResource(String imageName) {
InputStream is = null;
try {
is = getApplicationContext().getAssets().open("images/" + imageName);
} catch (IOException e) {
e.printStackTrace();
return null;
}
return new WebResourceResponse("image/png", "utf-8", is);
}