QQ浏览器劫持html5的视频video标签的问题(怎么解决?)

本文探讨了QQ浏览器强制劫持HTML5 video标签并插入广告的问题,这一行为影响了视频播放器的正常工作,尤其是在开发HTML5视频播放器时会遇到此困扰。文章同时链接了相关讨论及原创文章,涉及HLS协议、Chrome浏览器设置、IIS配置、HTML5视频播放器设计等内容。

无解,暂无解决办法,哪位朋友知道告之一下,感激

QQ浏览器真的不讲一点规则,强制劫持视频video标签,这已经很 XX 了吧?还在视频结束时加载他们自己的广告,这... 就无语了。

相信开发html5视频播放器的朋友,都会遇到这个问题。

参见:

腾讯的移动浏览器劫持 <Video> 换成它自己的播放器还插广告: https://www.v2ex.com/t/411564

video标签在微信内置浏览器和QQ浏览器(手机端)的怪异现象?https://www.zhihu.com/question/27472010

 

我的原创文章整理:

### QQ浏览器 H5 视频劫持问题解决方案 在处理QQ浏览器H5视频被劫持问题时,可以采取以下方法来解决问题: #### 方法一:禁用全屏模式 可以通过设置 `playsinline` 属性以及控制播放行为的方式防止视频进入全屏状态。具体实现如下: ```html <video playsinline controls> <source src="example.mp4" type="video/mp4"> </video> ``` 此属性会强制视频保持在页面内显示而不触发全屏模式[^1]。 #### 方法二:监听并调整层级关系 如果某些浏览器仍然强行提升视频层至最顶层,则可通过 JavaScript 实现动态监控和修复机制。例如,在检测到返回按钮不可点击的情况下重新排列 DOM 结构或者手动降低覆盖层的 z-index 值。 ```javascript document.addEventListener('play', function() { const videoElement = document.querySelector('video'); if (navigator.userAgent.indexOf('QQBrowser') !== -1 && !videoElement.classList.contains('fixed-zindex')) { videoElement.style.zIndex = 'auto'; // 调整z-index恢复原有布局顺序 videoElement.classList.add('fixed-zindex'); // 防止重复操作标记类名 } }); ``` #### 方法三:提供替代方案 对于确实存在兼容性障碍的情况(如特定版本的小米/UC等),考虑降级体验策略——即当探测到当前环境不适合正常渲染时切换成其他形式展现内容,比如嵌入第三方插件或跳转专用客户端应用完成观看过程[^3]。 以上三种方式能够有效应对因不同设备特性引发的一系列异常状况,从而保障用户体验一致性。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值