Android webview加载https网页时图片无法加载显示问题
程序员文章站
2022-06-04 15:10:31
...
webview加载https网页,在android 5.0以上,如果图片内容是http的,那么是无法加载出来的
webview 从Lollipop(5.0)开始 webview默认不允许混合模式,https当中不能加载http资源,如果要加载,需单独设置开启
settings.setBlockNetworkImage(false);
// 允许从任何来源加载内容,即使起源是不安全的;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
settings.setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
https://front.xiyilang.cc/laundry_test/wx/SlyderAdventuresnew.jsp?sid=a3ea58c419524e649893fbef3a9441cd&ctc=3301
网页不能加载出来图片,某些显示
图片的连接是js从后台请求过来,但是不显示出来。是因为,webview在加载页面的时候,图片还没有渲染上去,或者图片的连接还没有从后台加载完毕。
解决方式:
1.在加载钱先阻塞图片加载:
setting.setBlockNetworkImage(true);
2. 判断如果webview已经加载完毕sc的脚本后,在加载图片,解除阻塞
webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { settings.setBlockNetworkImage(false); //判断webview是否加载了,图片资源 if (!settings.getLoadsImagesAutomatically()) { //设置wenView加载图片资源 settings.setLoadsImagesAutomatically(true); } super.onPageFinished(view,url); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } });
上一篇: windows脚本指定目录关闭exe进程
下一篇: 老人延年益寿的秘籍是什么 这些方法助长寿
推荐阅读
-
Vue动态加载图片在跨域时无法显示的问题及解决方法
-
Android WebView加载图片显示过大的处理教程(代码教程)
-
Android适配利用webview加载后图片显示过大的问题解决
-
Android使用Glide加载https链接的图片不显示的原因
-
android 9.0 使用webview,显示页面无法加载
-
Android webview加载https网页时图片无法加载显示问题
-
Android webview 加载https网页显示空白
-
android webview加载网页不显示图片问题
-
Vue动态加载图片在跨域时无法显示的问题及解决方法
-
[原创] 连载 1 - 深入讨论 Android 关于高效显示图片的问题 - 如何高效的加载大位图