HealerLZH
HealerLZH
  • 发布:2020-07-20 20:00
  • 更新:2024-08-04 17:32
  • 阅读:2129

【报Bug】nvue页面获取不到子webview.【currentWebview.children()】

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 10.15.5

HBuilderX类型: 正式

HBuilderX版本号: 2.7.14

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: mi10

页面类型: nvue

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
var currentWebview = this.$scope.$getAppWebview()  
                setTimeout(()=> {  
                    // var currentWebview = this.$scope.$getAppWebview()  
                    console.log('onLoad',currentWebview.children()) //[]  
                }, 1000); //如果是页面初始化调用时,需要延时一下

预期结果:

nuve中获取webview

实际结果:

获取currentWebview.children() 返回空数组

bug描述:

在nvue页面中嵌入web-view组件

var currentWebview = this.$scope.$getAppWebview()  
                setTimeout(()=> {  
                    // var currentWebview = this.$scope.$getAppWebview()  
                    console.log('onLoad',currentWebview.children()) //[]  
                }, 1000); //如果是页面初始化调用时,需要延时一下

无法获取到子web-view.一直返回空数组。

2020-07-20 20:00 负责人:无 分享
已邀请:
Architecture

Architecture - 潜心钻研始于1999年,成长道路无止境。cgday@qq.com

确实无法获取!!!!支持!!!!顶!@@@!!!!!

Architecture

Architecture - 潜心钻研始于1999年,成长道路无止境。cgday@qq.com

怎么解决???是不是BUG呢?

1***@qq.com

1***@qq.com - gaoqiang

this.$parent.$scope.$getAppWebview()

  • 2***@qq.com

    Cannot read property '$scope' of undefined

    2021-01-20 14:45

  • 1***@qq.com

    回复 2***@qq.com: 尝试再多一层 $parent

    2023-08-11 13:48

3***@qq.com

3***@qq.com

我发现可以用refs获取组件对象然后使用evalJS调用到webview内部的api


<web-view ref="page" src="http://*****"/>  

this.$refs.page.evalJS('alert(123)')  
3***@qq.com

3***@qq.com

我发现可以用refs获取组件对象然后使用evalJS调用到webview内部的api


<web-view ref="page" src="http://*****"/>  

this.$refs.page.evalJS('alert(123)')  
1***@qq.com

1***@qq.com

解决了没,我的currentWebview.children()[0] 也是空的

2***@qq.com

2***@qq.com

解决了没,我的currentWebview.children()[0] 也是空的

a***@163.com

a***@163.com

请问解决了嘛

7***@qq.com

7***@qq.com

这个问题还没解决呢

q***@163.com

q***@163.com

现在看还没解决呢啊

this.$refs.page是可以获取webView的对象,但是只能执行evalJS方法

不过我的问题找到了替代方案,通过执行js代码修改网页中的html标签的解决的

要回复问题请先登录注册