美文网首页小技巧
WebView无法加载网页中的视频问题

WebView无法加载网页中的视频问题

作者: 飞奔的小马 | 来源:发表于2017-02-04 16:13 被阅读1305次
问题

在项目中遇到webview加载http网页,网页中嵌套有视频,视频的地址是https的,如https://v.qq.com/iframe/player.html?vid=s019849i6kt&amptiny=0&ampauto=0
点击播放视频时,进度条一直转,但就是不加载视频,提示信息
"Mixed Content: The page at 'https://v.qq.com/iframe/player.html?vid=s019849i6kt&amptiny=0&ampauto=0' was loaded over HTTPS, but requested an insecure image 'http://rcgi.video.qq.com/web_report?cmd=3529&url=http%3A%2F%2Fapi.chuangyebao.3158.cn%2Fapp%2Farticle%3Fcid%3D10815%26uid%3D0%26token%3D%26ver%3D&ver=V2.0Build9239&ua=Mozilla%2F5.0%20(Linux%3B%20Android%206.0.1%3B%20MI%204LTE%20Build%2FMMB29M%3B%20wv)%20AppleWebKit%2F537.36%20(KHTML%20%20like%20Gecko)%20Version%2F4.0%20Chrome%2F46.0.2490.76%20Mobile%20Safari%2F537.36&int1=1&int2=0&int3=0&int4=40&str1=&str2=tvp.player_v2_mobile.js&val=1&str4=268c2f8c6047642aea0e866f510e3d09'. This request has been blocked; the content must be served over HTTPS.", source: https://v.qq.com/iframe/player.html?vid=s019849i6kt&amptiny=0&ampauto=0 (0)

解决办法

关于webview的http和https的混合请求的,从Android5.0开始,WebView默认不支持同时加载Https和Http混合模式。在API>=21的版本上面默认是关闭的,在21以下就是默认开启的,直接导致了在高版本上面http请求不能正确跳转。
在WebView设置处配置Webview加载内容的混合模式
if (Build.VERSION.SDK_INT >= 21) { webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW ); }

混合模式属性介绍
  • 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里面不能控制内容的渲染,但是又希望在一个安全的环境下运行。

相关文章

网友评论

  • Z_527d:我加载的是网页中的视频, 然后全屏不了 , 是怎么回事??? 如果可以871643288 qq里交流
    线衣男:大神,能看你关于webView的配置吗
    0e0dc4eab78a:手机默认浏览器内核不支持全屏,需要换内核,可以试一下腾讯的TBS内核,很简单的
  • 6e1f08a1f08f:大神,我目前也在项目中遇到webview加载视频的问题,用的也是qq视频的连接,然后播放的时候是播放器显示有问题。。。有画面和声音,但是有个半透明的黑色背景遮住了画面,这个问题你遇到了吗?求答案
    飞奔的小马:没有遇到过

本文标题:WebView无法加载网页中的视频问题

本文链接:https://www.haomeiwen.com/subject/kxzjittx.html