cordova打包app,http图片显示不了

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34664239/article/details/90106182

小编今天很兴奋,困扰一周的问题终于解决了,此处撒花~~
本人负责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 (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
     webView.getSettings().setMixedContentMode(MIXED_CONTENT_COMPATIBILITY_MODE);
}
//或者直接:
webView.getSettings().setMixedContentMode(MIXED_CONTENT_COMPATIBILITY_MODE);

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

猜你喜欢

转载自blog.csdn.net/qq_34664239/article/details/90106182