记录appH5+原生 加载优化方案

遇到的问题:

首屏加载很慢,嵌入H5首屏加载需要6--8s,于是开始进行了优化之路。

解决思路:从控制台查看那些文件比较大,开始针对大的文件进行优化。

1. 登录界面图片很大:解决办法就是压缩图片,用在线压缩图片网站进行压缩,提升了1.5s

2. 发现首屏中加载了 不需要的js文件,例如Cesium.js 。这是main的js引入引起的 ,解决办法,cesium按需加载,动态引入库文件,库文件放到public下;速度提示4.5s;但是动态引入,导致使用cesium的界面加载较慢,牺牲了本界面的速度,换来了首屏的速度,可以接受i,第一次加载慢,加了缓存机制,第二次就快了。

3. 发现vant框架的js 和css也很大,于是继续优化vant引入;

4. 发现同事还引入了第三方组件库,好家伙也是放到main.js了,继续优化;

在uni-app (基于HBuilder构建的跨平台框架) 中,如果你想要在iOS设备上获取用户的麦克风权限,特别是针对iOS 6及更低版本,由于苹果从iOS 7开始对隐私权限管理进行了重大更新,对于旧版本并不支持直接请求麦克风权限。 然而,uni-app本身并不会直接处理iOS 6的兼容性,因为其主要目标是适配现代移动操作系统。针对iOS 6,开发者通常需要通过Webview调用网页API来获取用户许可,而HTML5的getUserMedia API在旧版Safari上可能受限。 以下是基本步骤: 1. **JavaScript调用**: 使用`<input type="audio">`元素尝试访问麦克风,但在iOS 6及更低版本的Safari中,它会自动提示用户是否允许访问音频。 ```html <input id="audioInput" type="audio" /> ``` 2. **检测浏览器兼容性**: JavaScript可以检查浏览器是否支持getUserMedia,例如: ```javascript if ('mediaDevices' in navigator && 'getUserMedia' in navigator.mediaDevices) { // iOS 8+ or modern browsers } else { // Older browsers like Safari < 9 } ``` 3. **提供备选方案**: 如果检测到不支持,可能需要提供一个替代方案,如使用Flash或其他第三方插件(但这通常不推荐,因为它们可能会有安全风险,并且在移动设备上可能不再可用)。 4. **用户引导**: 显示清晰的提示告知用户他们无法使用麦克风,并可能提供升级浏览器或使用其他设备的建议。 请注意,为了获得最佳用户体验并遵循最新的隐私政策,优先考虑只在支持现代浏览器的设备上请求麦克风权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值