H5 qq浏览器video拦截处理
QQ浏览器中如果使用video标签,那么浏览器会将video劫持,使用他们浏览器自带的video,那么层级会很高,之前写在video上面的样式就会被覆盖,因此可以把视频url转成blod,那么就可以解决
从虎牙直播发现的,他们转为blod后,上面就可以加弹幕,滚动条等,因此发现了这个
一般让后端处理为blod二进制流,然后返回给前端
后端如果不处理前端搞也行,但是不太实际,弄不了鉴权,数据到了前端会被爬到数据
下面是前端处理的方式,前端处理的话,视频文件过大,会等待很长时间,因此建议还是后端处理
1、将video的视频链接转为blod
encryptionVideo(url) { return new Promise((resolve, reject) => { window.URL = window.URL || window.webkitURL; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = function() { if (this.status == 200) { var blob = this.response; var u = window.URL.createObjectURL(blob); resolve(u); } }; xhr.send(); }); }