Files
cunkebao_v3/Cunkebao/兼容性说明.md

4.3 KiB
Raw Blame History

存客宝项目 - 浏览器兼容性说明

🎯 兼容性目标

本项目已配置为支持以下浏览器版本:

  • Chrome: 50+
  • Firefox: 50+
  • Safari: 10+
  • Edge: 12+
  • Internet Explorer: 11+ (部分功能受限)
  • Android: 4.4+ (特别优化Android 7)
  • iOS: 9+

🔧 兼容性配置

1. Polyfill 支持

项目已集成以下 polyfill 来确保低版本浏览器兼容性:

  • core-js: ES6+ 特性支持
  • regenerator-runtime: async/await 支持
  • whatwg-fetch: fetch API 支持
  • Android专用polyfill: 针对Android 7等低版本系统优化

2. 构建配置

  • 使用 terser 进行代码压缩
  • 配置了 browserslist 目标浏览器
  • 添加了兼容性检测组件
  • 特别针对Android设备优化

3. 特性支持

项目通过 polyfill 支持以下 ES6+ 特性:

  • Promise
  • fetch API
  • Array.from, Array.find, Array.includes, Array.findIndex
  • Object.assign, Object.entries, Object.values, Object.keys
  • String.includes, String.startsWith, String.endsWith
  • Map, Set, WeakMap, WeakSet
  • Symbol
  • requestAnimationFrame
  • IntersectionObserver
  • ResizeObserver
  • URLSearchParams
  • AbortController

🚀 使用方法

开发环境

pnpm dev

生产构建

pnpm build

预览构建结果

pnpm preview

📱 Android 特别优化

Android 7 兼容性

Android 7 (API 24) 系统对ES6+特性支持不完整,项目已特别优化:

问题解决:

  • Array.prototype.includes 方法缺失
  • String.prototype.includes 方法缺失
  • Object.assign 方法缺失
  • Array.from 方法缺失
  • requestAnimationFrame 缺失
  • IntersectionObserver 缺失
  • URLSearchParams 缺失

解决方案:

  • 使用自定义polyfill补充缺失方法
  • 提供降级实现确保功能可用
  • 自动检测Android版本并启用相应polyfill

Android WebView 优化

  • 针对系统WebView进行特别优化
  • 支持微信、QQ等内置浏览器
  • 提供降级方案确保基本功能可用

⚠️ 注意事项

  1. Android 7 支持

    • 已启用兼容模式,基本功能可用
    • 建议升级到Android 8+或使用最新版Chrome
    • 部分高级特性可能受限
  2. Android 6 及以下

    • 支持有限,建议升级系统
    • 使用最新版Chrome浏览器
    • 部分功能可能不可用
  3. 移动端兼容性

    • iOS Safari 10+
    • Android Chrome 50+
    • 微信内置浏览器 (部分功能受限)
    • QQ内置浏览器 (部分功能受限)
  4. 性能考虑

    • polyfill 会增加包体积
    • 现代浏览器会自动忽略不需要的 polyfill
    • Android设备上会有额外的兼容性检测

🔍 兼容性检测

项目包含自动兼容性检测功能:

通用检测

  • 在低版本浏览器中会显示警告提示
  • 控制台会输出兼容性信息
  • 建议用户升级浏览器

Android专用检测

  • 自动检测Android系统版本
  • 检测Chrome和WebView版本
  • 识别微信、QQ等内置浏览器
  • 提供针对性的解决方案建议

📝 更新日志

v3.0.0

  • 添加 ES5 兼容性支持
  • 集成 core-js polyfill
  • 添加兼容性检测组件
  • 优化构建配置
  • 新增Android 7专用polyfill
  • 新增Android兼容性检测
  • 优化移动端体验

🛠️ 故障排除

如果遇到兼容性问题:

  1. Android设备问题

    • 检查Android系统版本
    • 确认Chrome浏览器版本
    • 查看控制台错误信息
    • 尝试使用系统浏览器而非内置浏览器
  2. 通用问题

    • 检查浏览器版本是否在支持范围内
    • 查看控制台是否有错误信息
    • 确认 polyfill 是否正确加载
    • 尝试清除浏览器缓存
  3. 性能问题

    • 在低版本设备上可能加载较慢
    • 建议使用WiFi网络
    • 关闭不必要的浏览器扩展

📞 技术支持

如有兼容性问题,请联系开发团队。

特别说明

本项目已针对Android 7等低版本系统进行了特别优化通过代码弥补了系统内核对ES6+特性支持不完整的问题。虽然不能完全替代系统升级但可以确保应用在低版本Android设备上正常运行。