原标题:关于 Webview 的混合模式(华为 P30 出现问题)
前言:
从 Android 5.0 开始,Webview 默认不支持同时加载 Https 和 Http 混合模式,加上这段代码主动开启混合模式(但并不是万能的):
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSetting.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
}
Webview 的 3 种模式:
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 里面不能控制内容的渲染,但是又希望在一个安全的环境下运行。
后记:</