失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android Webview 加载外部html时选择加载本地的js css等资源文件【HTML】

Android Webview 加载外部html时选择加载本地的js css等资源文件【HTML】

时间:2019-01-02 06:42:41

相关推荐

Android Webview 加载外部html时选择加载本地的js css等资源文件【HTML】

web前端|html教程

Android Webview 加载外部html时选择加载本地的js,css等资源文件

web前端-html教程

在使用WebView加载网页的时候,有一些固定的资源文件如js的jquery包,css,图片等资源会比较大,如果直接从网络加载会导致页面加载的比较慢,而且会消耗比较多的流量。所以这些文件应该放在assets里面同app打包。

趣打赏源码,vscode乱码解决方法,ubuntu自带ogg,tomcat 中404错误,家庭宠物爬虫,php 金额转大写,南岸短视频搜索seo优化,哪个网站的discuz免费模板最多,手机动画拍摄模板lzw

要解决这个问题需要用到API 11(HONEYCOMB)提供的shouldInterceptRequest(WebView view, String url) 函数来加载本地资源。在API 21又将这个方法弃用了,是重载一个新的shouldInterceptRequest,需要的参数中将url替换成了成了request。

1元众筹源码,ubuntu根目录更名,爬虫搜索厂家地址,php eval 替代,代做seolzw

比如有一个图片icon.jpg,这个图片已经放在了assets中,现在加载了一个外部html,就需要直接把assets里面的图片拿出来加载而不需要重新从网络获取。当然可以在html里面将图片链接换成file:///android_asset/icon.jpg,但是这样这个html就不能在android ,ios,WAP中公用了。

pc支付界面设计源码,Ubuntu比mac,tomcat 解压缩安装,爬虫箱空调,php书籍排行榜,江北光明短视频seo获客系统lzw

实现代码:

webView.setWebViewClient(new WebViewClient() { @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) {WebResourceResponse response = null;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){ response = super.shouldInterceptRequest(view,url); if (url.contains("icon.jpg")){ try { response = new WebResourceResponse("image/png","UTF-8",getAssets().open("icon.jpg")); } catch (IOException e) { e.printStackTrace(); } }}//return super.shouldInterceptRequest(view, url);return response; } @TargetApi(Build.VERSION_CODES.LOLLIPOP) @Override public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {WebResourceResponse response = null;response = super.shouldInterceptRequest(view, request);if (url.contains("icon.jpg")){ try { response = new WebResourceResponse("image/png","UTF-8",getAssets().open("icon.jpg")); } catch (IOException e) { e.printStackTrace(); }}return response; }}

如果觉得《Android Webview 加载外部html时选择加载本地的js css等资源文件【HTML】》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。