uni-app wap2app打包M站问题总汇
uni-app wap2app打包M站问题总汇
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| HBuilderX | HBuilder alpha 3.1.14.20210430 | - |
bug描述:
问题最多的是关于网站中有视频播放,安卓和IOS 都有问题,用户体验极差。
第一、iOS端懒加载失效。
新版本的LazyLoad使用IntersectionObserver API实现, IOS端会失效。
第二、IOS端 使用UIWebview内核视频播放无声音
{
"kernel": {
"ios": "UIWebview"
}
}
UIWebview视频播放无声音,设置wkwebview后 有声音但是"mediaPlaybackRequiresUserAction" : true,自动播放失效。
第三.IOS端 关于IntersectionObserver API兼容性。
虽然使用 UIWebview 内核 并且 引入 polyfill
<script src="https://polyfill.io/v3/polyfill.min.js?features=IntersectionObserver"></script>
后勉强支持部分IntersectionObserver功能,但是 wkwebview 内核完全无效,
第四、安卓端的 Webview 视频默认图标无法去除,
真的是奇丑无比,就算用默认视频封面代替,但是在播放瞬间还是要显示一下。
研究了好几天,解决办法无非就是拆东墙补西墙,没有个完美的解决方案。
运行方式:真机调试
手机型号: iphone xr
系统版本: IOS14.4.2
更多关于uni-app wap2app打包M站问题总汇的实战教程也可以访问 https://www.itying.com/category-93-b0.html
webview里调本地浏览器,不知道uniapp里能不能用腾讯的浏览器引擎渲染。
更多关于uni-app wap2app打包M站问题总汇的实战教程也可以访问 https://www.itying.com/category-93-b0.html
对了,差点忘了,还有wap2app 社区里有关文章提到 安卓端 可以用X5 内核,更具文章设置配置后并没什么卵用。
针对您汇总的wap2app视频播放问题,这里提供技术解决方案:
iOS懒加载失效:建议回退到传统滚动监听方案,替换IntersectionObserver,通过监听scroll事件结合getBoundingClientRect()实现懒加载,兼容性更好。
iOS视频播放问题:WKWebview下需配置"mediaPlaybackRequiresUserAction" : false启用自动播放,同时需要在视频元素添加muted属性和playsinline属性。可尝试通过用户交互事件触发视频播放。
IntersectionObserver兼容性:UIWebview已淘汰,建议全面转向WKWebview。对于不支持的API,需要实现降级方案,可参考MDN提供的兼容性polyfill。
安卓视频控件:通过CSS样式覆盖默认控件:
video::-webkit-media-controls {
display:none !important;
}

