cordova打包app,http图片显示不了,android不兼容http,https混合

小编今天很兴奋,困扰一周的问题终于解决了,此处撒花~~
本人负责h5页面,http图片显示不了,领导让找问题,可难坏了小编,不就是一个img标签加图片路径吗?前端还能改出花来!
不得已,小编开始研究cordova壳子

我们都知道Android5.0上 WebView不支持Http和Https混合,不用说,肯定是这个原因,网上一堆android写法,修改混合,但是都不适用cordova,还有一些java代码,小编看都没看就否了

最终还是朋友提醒,有java文件配置混合,这才解决了问题~~

修改支持混合
http图片不显示情况
  • 你的网页是https协议,你加载了http的图片
原因
  • Android5.0上 WebView不支持Http和Https混合模式
修改办法(设置支持混合)

文件修改位置

  • \apptest\platforms\android\CordovaLib\src\org\apache\cordova\engine\SystemWebViewEngine.java

修改方法

  • 需要设置setMixedContentMode(有三种值)
    • MIXED_CONTENT_ALWAYS_ALLOW:允许从任何来源加载内容,即使起源是不安全的;
    • MIXED_CONTENT_NEVER_ALLOW:不允许Https加载Http的内容,即不允许从安全的起源去加载一个不安全的资源;
    • MIXED_CONTENT_COMPATIBILITY_MODE:当涉及到混合式内容时,WebView 会尝试去兼容最新Web浏览器的风格。
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
    webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
}
//或者直接:
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);

还有一些WebView 里的常见问题:https://www.jianshu.com/p/fea5e829b30a

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值