webview 图片不显示问题总结

本文总结了WebView在加载网页时遇到图片不显示的问题,重点指出在Android 5.0以下版本中,需要设置setting.setBlockNetworkImage(false)来解决此类问题,确保JavaScript的启用也是关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 webview 加载url 需要setJavaScriptEnabled(true);
2图片不显示问题
a. 解决方案 : setting.setBlockNetworkImage(false);
使用场景 : 安卓5.0一下使用

b.  解决方案 : setting.setBlockNetworkImage(false); 
	 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        // 解决http及https混合情况下页面加载问题
        MIXED_CONTENT_NEVER_ALLOW:Webview不允许一个安全的站点(https)去加载非安全的站点内容(http),比如,https网页内容的
        图片是http链接。强烈建议App使用这种模式,因为这样更安全。										
		MIXED_CONTENT_ALWAYS_ALLOW:在这种模式下,WebView是可以在一个安全的站点(Https)里加载非安全的站点内容(Http),这是
		WebView最不安全的操作模式,尽可能地不要使用这种模式。		
		MIXED_CONTENT_COMPATIBILITY_MODE:在这种模式下,当涉及到混合式内容时,WebView会尝试去兼容最新Web浏览器的风格。一
		些不安全的内容(Http)能被加载到一个安全的站点上(Https),而其他类型的内容将会被阻塞。这些内容的类型是被允许加载还是被阻塞可
		能会随着版本的不同而改变,并没有明确的定义。这种模式主要用于在App里面不能控制内容的渲染,但是又希望在一个安全的环境下运行。

	  setting.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
     }
     原因 : android webview 从Lollipop(5.0)开始webview默认不允许混合模式,https当中不能加载http资源
     使用场景 : 安卓5.0 以上  8.0 以下使用
     
c.  解决方案  : setting.setBlockNetworkImage(false);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        // 解决http及https混合情况下页面加载问题
        setting.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
     }
     原因 : 8.0以上默认禁用了http
	 android:usesCleartextTraffic="true" (需要加在androidmainfest 文件application下)
	 使用场景 : 8.0以上使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值