uni-app alpha版本11.10更新后web-view出现问题

uni-app alpha版本11.10更新后web-view出现问题

# 产品分类
uniapp/App

# PC开发环境操作系统
Windows

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

# HBuilderX类型
Alpha

# HBuilderX版本号
3.2.13

# 手机系统
Android

# 手机系统版本号
Android 11

# 手机厂商
小米

# 手机机型
小米10青春版

# 页面类型
vue

# vue版本
vue2

# 打包方式
云端

# 项目创建方式
HBuilderX

## 操作步骤:
- 动态给web-view的url参数赋值

## 预期结果:
- url显示

## 实际结果:
- 报错,url没有显示

## bug描述:
我使用web-view动态传入一个地址,打开一个网页,之前是可以打开的,现在打开的时候回报错,说`this._onParentReady is not a function at view.umd.min.js:1`这个报错,然后url也没有显示,切换至上一个版本就可以了

更多关于uni-app alpha版本11.10更新后web-view出现问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

我早上有人提了这个bug

更多关于uni-app alpha版本11.10更新后web-view出现问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


问题分析:

根据你的描述,在升级到 HBuilderX Alpha 3.2.13 版本后,动态设置 web-view 组件的 url 属性时出现 this._onParentReady is not a function 的错误,且页面无法正常加载。回退到旧版本可正常使用,这很可能是 Alpha 版本引入的兼容性问题或框架内部变更导致的。

可能原因:

  1. 框架内部更新:Alpha 版本可能对 web-view 组件的底层实现进行了调整,导致动态赋值时生命周期或事件处理出现异常。
  2. Vue 响应式处理差异:动态赋值 url 时,可能因数据响应式更新与组件渲染时序冲突,触发内部方法未正确初始化。
  3. 平台适配问题:Alpha 版本在 Android 平台的 web-view 模块可能存在临时缺陷。

解决方案:

  1. 临时回退版本
    如你所述,切换回旧版本可暂时解决问题。建议在正式修复前继续使用稳定版本进行开发。

  2. 检查赋值时机
    确保 url 的赋值在页面生命周期(如 onLoad)完成后进行,避免在组件未就绪时修改属性。例如:

    export default {
      data() {
        return { url: '' }
      },
      onLoad() {
        // 延迟赋值确保组件就绪
        setTimeout(() => {
          this.url = 'https://example.com'
        }, 50)
      }
    }
    
  3. 使用 v-if 控制渲染
    通过 v-ifurl 就绪后再渲染 web-view,避免初始空值触发内部错误:

    <web-view v-if="url" :src="url"></web-view>
回到顶部