uni-app 项目中 manifest.json 文件的 "app-plus" -> "useragent" 配置不符合预期

uni-app 项目中 manifest.json 文件的 “app-plus” -> “useragent” 配置不符合预期

类别 信息
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 Windows 11 家庭中文版 22H2
HBuilderX类型 正式
HBuilderX版本 3.96
手机系统 Android
手机系统版本 Android 14
手机厂商 魅族
手机机型 17pro
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

在项目的 manifest.json 中 “app-plus” -> “useragent” 进行配置

```json
"app-plus" : {
"useragent" : {
"value" : "Mozilla/5.1 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
"concatenate" : false
}
}
打包运行后在服务端打印User-Angent

### 预期结果:
User-Angent 应该为: Mozilla/5.1 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36

### 实际结果:
User-Angent 为: uni-app Html5Plus/1.0 (Immersed/43.636364)

### bug描述:
在项目的 manifest.json  "app-plus" -> "useragent" 进行配置
"app-plus" : {
"useragent" : {
"value" : "Mozilla/5.1 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
"concatenate" : false
}
}

实际的User-Angent 变成: uni-app Html5Plus/1.0 (Immersed/43.636364)

1 回复

uni-app 项目中,manifest.json 文件中的 "app-plus" -> "useragent" 配置用于设置应用的 User-Agent 字符串。如果你发现配置没有达到预期效果,可能是以下几个原因导致的:

1. 配置格式不正确

确保 useragent 的配置格式正确。它应该是一个字符串,例如:

{
  "app-plus": {
    "useragent": "MyCustomUserAgent/1.0"
  }
}

2. 平台限制

useragent 配置在 H5 平台上是有效的,但在其他平台(如 AndroidiOS)可能不会生效。你可以通过以下方式检查:

  • H5 平台:在浏览器中打开应用,检查 User-Agent 是否被修改。
  • App 平台:在 AndroidiOS 中,User-Agent 可能不会被修改,因为这些平台通常使用系统默认的 User-Agent

3. 未重新编译

修改 manifest.json 文件后,需要重新编译项目。你可以通过以下命令重新编译:

npm run dev
# 或者
npm run build

4. 检查 User-Agent

在代码中打印或检查 User-Agent,确保它已经被修改。你可以在 onLaunch 生命周期中打印 User-Agent

onLaunch: function() {
  console.log(navigator.userAgent);
}

5. 使用自定义方式修改 User-Agent

如果 manifest.json 中的配置不生效,你可以尝试在代码中动态修改 User-Agent。例如,在 H5 平台中,你可以通过以下方式修改:

Object.defineProperty(navigator, 'userAgent', {
  value: 'MyCustomUserAgent/1.0',
  configurable: false,
  writable: false
});
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!