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有特殊限制,特别是在隐私模式或某些安全设置下可能禁用本地存储。

建议检查以下几点:

  1. 确保在调用getStorage前数据已正确存储,可使用uni.setStorageSync先写入测试数据
  2. 在UC浏览器设置中检查是否开启了"无痕浏览"或禁用了本地存储
  3. 添加fail回调捕获错误信息:
uni.getStorage({
    key: 'environment_key',
    success: function(res) {
        console.log('获取成功:', res.data);
    },
    fail: function(err) {
        console.error('存储获取失败:', err);
    }
});
回到顶部