2***@qq.com
2***@qq.com
  • 发布:2026-03-19 11:16
  • 更新:2026-04-07 11:49
  • 阅读:240

【报Bug】编辑器更新后,html5+app项目plus.webview方法出现大量问题

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 5.04

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型:

打包方式: 云端

操作步骤:

例如以下方法:

function close_all() {  
    var wvs = plus.webview.all();  
    var sign = plus.webview.getWebviewById('login');  
    console.log(wvs)  
    for (var i = 0, len = wvs.length; i < len; i++) {  
        if (wvs[i].getURL() == sign.getURL() || wvs[i].getURL() == window.localStorage.enteranceURL) {  
            continue;  
        }  
        plus.webview.close(wvs[i], "none");  
    }  
}  

在老版本正常,而新版本报错Uncaught TypeError: Cannot read property 'getURL' of null。

在A页面使用mui的openWindow跳转到b页面,在b页面使用plus.webview.currentWebview()获取到的却是A页面的信息,正常应该是b页面的信息,因此导致拿不到页面传参,项目报错。

目前这两个问题导致项目无法正常运行,切换到老版本的hbuilderX,项目就能正常运行

预期结果:

plus.webview方法恢复正常使用

实际结果:

plus.webview出现问题报错

bug描述:

例如以下方法:

function close_all() {  
    var wvs = plus.webview.all();  
    var sign = plus.webview.getWebviewById('login');  
    console.log(wvs)  
    for (var i = 0, len = wvs.length; i < len; i++) {  
        if (wvs[i].getURL() == sign.getURL() || wvs[i].getURL() == window.localStorage.enteranceURL) {  
            continue;  
        }  
        plus.webview.close(wvs[i], "none");  
    }  
}  

在老版本正常,而新版本报错Uncaught TypeError: Cannot read property 'getURL' of null。

在A页面使用mui的openWindow跳转到b页面,在b页面使用plus.webview.currentWebview()获取到的却是A页面的信息,正常应该是b页面的信息,因此导致拿不到页面传参,项目报错。

目前这两个问题导致项目无法正常运行,切换到老版本的hbuilderX,项目就能正常运行

2026-03-19 11:16 负责人:DCloud_Android_ST 分享
已邀请:
容若思雪

容若思雪 - 奥利给

别提了,我原先用4.7x版本,更新到5.03之后H5+APP项目也是各种报错。现在我只能找一台电脑退回到老版本。但是又怕后续老版本不维护而且没法打包了。。。。。

  • 2***@qq.com (作者)

    哎 现在官方好像放弃了5+app一样 问题基本上都不回复

    2026-03-23 09:46

容若思雪

容若思雪 - 奥利给

官方能有回复吗,求给力。

容若思雪

容若思雪 - 奥利给

我现在逐渐定位到是自己写的js文件被html引用后,打开窗口就会报这个错误。如果打开窗口直接从HTML内执行就不会有这个问题。
TypeError: Cannot set properties of undefined (setting 'href')
at a.openWindow (file:///storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/www/scripts/mui.min3.7.2.js:6:24781)

7***@qq.com

7***@qq.com

我也在问答提了H5+ 页面的相关问题。感觉5.0.4的H5+ mui的页面管理进行了很多调整甚至是重写,导致tab切换、绝对路径定位、返回按钮等都出现大量的问题,严重到app基本不能正常使用,也只能回退版本到4.x,以后版本不升级了。
真心建议官方没什么问题就别修改底层逻辑,这不是小修小补,而是一整个app都不能用。

  • 容若思雪

    太对了,本周二,我直接蒙了。就是升级了个HbuilderX版本。tab切换也不能用了,打开页面也不能用了,按钮返回也不能用。有的简单页面还能用。我都一度怀疑是不是以前的代码写的不规范导致引擎升级了,规则更严苛。。这下可完了,得改多少地方啊。

    2026-03-20 16:26

  • 容若思雪

    大家都要认真反馈,官方就能重视了。这些H5+APP项目,想放弃,遗留问题太多,代码量太大。真难搞的

    2026-03-20 16:27

DCloud_Android_zl

DCloud_Android_zl

上面那个代码我这边不能复现问题。

提供一个完整的示例,把问题都发一下,我这边试一下。

  • 容若思雪

    调用不要放到HTML中,放到js中就大概率出问题的。你好老师,我邮箱是17753173678@189.cn。麻烦你发我一个邮件,我可以试着把我的项目简化一下发给你。整理个问题demo试试。

    2026-04-07 13:07

  • 容若思雪

    回复 容若思雪: 你测试时HBuilderx必须要用5.0.3+版本。问题在4.7.6或者4.8.x版本不会出现的老师。[咖啡]

    2026-04-07 13:09

  • DCloud_Android_zl

    回复 容若思雪: 你直接上传到云盘,发出来云盘地址就可以,我这边用的是最新的HBuilderX做的测试

    2026-04-07 16:23

  • 容若思雪

    回复 DCloud_Android_zl: 通过网盘分享的文件:bugcheck.zip

    链接: https://pan.baidu.com/s/1wqlU6rNrz7V6NKZihh5MBQ?pwd=22gb 提取码: 22gb 复制这段内容后打开百度网盘手机App,操作更方便哦

    2026-04-07 18:05

  • 容若思雪

    回复 容若思雪: 回复 DCloud_Android_zl: 非常感谢,可能demo中不能复现所有的问题。如果有新的进度请及时留言回复。非常感谢。

    2026-04-07 18:06

  • 容若思雪

    回复 DCloud_Android_zl: 我在想能不能建个微信群这种,来提高沟通效率。

    2026-04-07 18:10

  • 容若思雪

    回复 DCloud_Android_zl: 我刚才一直在测试寻找问题。我发现Hbuilderx的新版本中,页面传值是有问题的。mui.openwindow({extra:{id:111})。到新页面里id是null。我的程序中有有一些地方用了这个页面传值到了新页面就获取不到值,然后就报错,顺带了很多地方就开始错了。。。你自己搭建一个简单的页面传值试试。大概率会出错。

    2026-04-07 18:44

  • DCloud_Android_zl

    回复 容若思雪: 我在uni-im,给你留言了,麻烦看一下。

    2026-04-08 12:23

要回复问题请先登录注册