uni-app APP发布成H5程序 在UC手机浏览器下 uni.getStorage没有获取到数据
uni-app APP发布成H5程序 在UC手机浏览器下 uni.getStorage没有获取到数据
| 信息类别 | 详情 |
|---|---|
| 产品分类 | uniapp/H5 |
| PC开发环境 | Windows |
| 操作系统版本 | Windows 10 专业版 20H2 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 2.7.14 |
| 浏览器平台 | 手机系统浏览器 |
| 浏览器版本 | 手机UC浏览器 |
| 项目创建方式 | HBuilderX |
示例代码:
setTimeout(function() {
uni.getStorage({
key: 'environment_key',
success: function(res) {
_this.environment_key = res.data;
_this.channelToken();
setTimeout(function() {
// #ifdef APP-PLUS
_this.appuUpdate();
// #endif
}, 1000)
},
});
}, 1000)
操作步骤:
setTimeout(function() {
uni.getStorage({
key: 'environment_key',
success: function(res) {
_this.environment_key = res.data;
_this.channelToken();
setTimeout(function() {
// #ifdef APP-PLUS
_this.appuUpdate();
// #endif
}, 1000)
},
});
}, 1000)
预期结果:
setTimeout(function() {
uni.getStorage({
key: 'environment_key',
success: function(res) {
_this.environment_key = res.data;
_this.channelToken();
setTimeout(function() {
// #ifdef APP-PLUS
_this.appuUpdate();
// #endif
}, 1000)
},
});
}, 1000)
实际结果:
setTimeout(function() {
uni.getStorage({
key: 'environment_key',
success: function(res) {
_this.environment_key = res.data;
_this.channelToken();
setTimeout(function() {
// #ifdef APP-PLUS
_this.appuUpdate();
// #endif
}, 1000)
},
});
}, 1000)
bug描述:
setTimeout(function() {
//通过断点,走到这里就停止了
uni.getStorage({
key: 'environment_key',
success: function(res) {
_this.environment_key = res.data;
_this.channelToken();
setTimeout(function() {
// #ifdef APP-PLUS
_this.appuUpdate();
// #endif
}, 1000)
},
});
}, 1000)
更多关于uni-app APP发布成H5程序 在UC手机浏览器下 uni.getStorage没有获取到数据的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
在 fail 回调查看失败结果
更多关于uni-app APP发布成H5程序 在UC手机浏览器下 uni.getStorage没有获取到数据的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在UC浏览器中,uni.getStorage无法获取数据通常是浏览器兼容性问题导致的。UC浏览器对Web Storage有特殊限制,特别是在隐私模式或某些安全设置下可能禁用本地存储。
建议检查以下几点:
- 确保在调用getStorage前数据已正确存储,可使用uni.setStorageSync先写入测试数据
- 在UC浏览器设置中检查是否开启了"无痕浏览"或禁用了本地存储
- 添加fail回调捕获错误信息:
uni.getStorage({
key: 'environment_key',
success: function(res) {
console.log('获取成功:', res.data);
},
fail: function(err) {
console.error('存储获取失败:', err);
}
});

