uni-app 启动是否启用摇树优化打包H5后 部分手机原生api对象IntersectionObserver为空
uni-app 启动是否启用摇树优化打包H5后 部分手机原生api对象IntersectionObserver为空
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
iOS | 10.2.1 (14D27) | - |
因为你这部分手机没有原生 IntersectionObserver
是搭的 uni.createIntersectionObserver 的车
uni.createIntersectionObserver 含有 IntersectionObserver Polyfill
如果仍然需要借助 uni.createIntersectionObserver 内的 IntersectionObserver Polyfill 可以在代码内使用一下 uni.createIntersectionObserver。
如果只想单纯使用 IntersectionObserver Polyfill ,自己引入https://www.npmjs.com/package/intersection-observer 即可。
更多关于uni-app 启动是否启用摇树优化打包H5后 部分手机原生api对象IntersectionObserver为空的实战教程也可以访问 https://www.itying.com/category-93-b0.html
那为啥启用摇树优化打包的是不判断下没有原生的api手机用uni.createIntersectionObserver包装打包啊
回复 4***@qq.com: 你说的这句话很难理解,能否整理一下。
针对uni-app打包H5后部分手机IntersectionObserver为空的问题,以下是分析:
-
兼容性问题: IntersectionObserver API在iOS 12.2以下版本和部分低版本Android浏览器中不被支持。你的iOS 10.2.1系统版本过低,这是主要原因。
-
摇树优化影响: uni-app默认启用摇树优化,但不会删除IntersectionObserver这类基础API。建议检查项目中是否使用了polyfill或第三方库导致兼容性问题。
-
解决方案: (1) 使用条件判断:
if('IntersectionObserver' in window) {
// 使用原生API
} else {
// 降级方案
}
(2) 添加polyfill:
npm install intersection-observer
然后在main.js中引入:
import 'intersection-observer'