安卓真机白屏在uni-app中之前都是好的报错的位置都是引入的js

安卓真机白屏在uni-app中之前都是好的报错的位置都是引入的js

# 产品分类
uniapp/App

# PC开发环境操作系统
Windows

# PC开发环境操作系统版本号
1

# HBuilderX类型
正式

# HBuilderX版本号
4.57

# 手机系统
Android

# 手机系统版本号
Android 14

# 手机厂商
华为

# 手机机型
vivo

# 页面类型
vue

# vue版本
vue2

# 打包方式
云端

# 项目创建方式
HBuilderX

## 操作步骤:
reportJSException >>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property 'userAgent' of undefined  
at eval (anonymous:124:35)  
at eval (anonymous:3:106)  
at eval (anonymous:8:2)  
at (app-service.js:670:1)  
at webpack_require (app-service.js:80:30)  
at eval (anonymous:7:1)  
at (app-service.js:164:1)  
at webpack_require (app-service.js:80:30)  
at checkDeferredModules (app-service.js:46:23)  
at webpackJsonpCallback (app-service.js:33:19)

## 预期结果:
正常显示页面

## 实际结果:
reportJSException >>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property 'userAgent' of undefined  
at eval (anonymous:124:35)  
at eval (anonymous:3:106)  
at eval (anonymous:8:2)  
at (app-service.js:670:1)  
at webpack_require (app-service.js:80:30)  
at eval (anonymous:7:1)  
at (app-service.js:164:1)  
at webpack_require (app-service.js:80:30)  
at checkDeferredModules (app-service.js:46:23)  
at webpackJsonpCallback (app-service.js:33:19)

## bug描述:
之前可正常运行项目,现在报白屏reportJSException >>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property 'userAgent' of undefined  
at eval (anonymous:124:35)  
at eval (anonymous:3:106)  
at eval (anonymous:8:2)  
at (app-service.js:670:1)  
at webpack_require (app-service.js:80:30)  
at eval (anonymous:7:1)  
at (app-service.js:164:1)  
at webpack_require (app-service.js:80:30)  
at checkDeferredModules (app-service.js:46:23)  
at webpackJsonpCallback (app-service.js:33:19)

更多关于安卓真机白屏在uni-app中之前都是好的报错的位置都是引入的js的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于安卓真机白屏在uni-app中之前都是好的报错的位置都是引入的js的实战教程也可以访问 https://www.itying.com/category-93-b0.html


从错误信息来看,问题出在尝试读取userAgent属性时遇到了undefined。这是典型的浏览器环境检测问题,在uni-app的App端运行时会遇到。

解决方案:

  1. 检查代码中是否有直接使用navigator.userAgent的地方,在App端这个对象可能不存在。应该使用uni-app提供的API来获取设备信息:
// 替换 navigator.userAgent
uni.getSystemInfo({
  success: function(res) {
    console.log(res.platform); // 设备平台
  }
});
  1. 如果是第三方库导致的,建议:
  • 检查是否有浏览器环境检测的库
  • 使用条件编译区分运行环境
// #ifdef H5
// 浏览器环境代码
const ua = navigator.userAgent;
// #endif
  1. 如果问题突然出现,可能是:
  • 更新了依赖库版本
  • 修改了项目配置 建议回退最近修改或更新HBuilderX到最新稳定版
  1. 临时解决方案: 在main.js中添加polyfill:
if(typeof navigator === 'undefined') {
  global.navigator = {userAgent: 'uni-app'};
}
回到顶部