h***@sina.com
h***@sina.com
  • 发布:2021-04-23 14:03
  • 更新:2021-04-23 14:03
  • 阅读:885

【报Bug】webview加载的h5页面,console.log打印webview传递过去的参数,在hbuilerx控制台显示的log数据都为空

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 2.9.5

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 荣耀v10

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

写在前面:重要!h5页面(我用的vue),一定要用alert查看结果,console的日志会显示到hbuilerx的控制台里,结果会一直为空,我的版本是2.9.5。

从h5向uniapp传值,网上的两种方法确实都可以,url加问号传参,或者plus.webview.create(url, id, style, {data:{}})的第四个参数传参,alert能直接打印出来传递的参数

步骤一、uniapp代码:

复制代码let wv = plus.webview.create( 'http://www.baidu.com/#/clientEdit?aa=1&bb=2','mendMerchant', {  
top:'66px',  
height:'92%',  
},{data:this.userInfo}) //this.userInfo是我要传的对象,不用data键值对的方式传的话,h5接收后会是多个字段,而非一个对象  
let currentWebview = this.$mp.page.$getAppWebview()  
currentWebview.append(wv);

步骤二、

h5代码 (weiview src引用的h5页面代码,h5我用的vue,另外,js原生支持plus对象,不需要引入外部资源支持):

方式一,获取plus.webview.create第四个参数传来的值:

复制代码document.addEventListener("plusready",function (){  
alert(JSON.stringify(plus.webview.getWebviewById("mendMerchant").data)) //data与uniapp里定义的键名保持一致,那里也是定义的data:this.userInfo  
},false);

方式二(url获取):

复制代码alert(this.$route.query.aa)

操作步骤:

直接复现

预期结果:

直接复现

实际结果:

直接复现

bug描述:

【报Bug】webview加载的h5页面(vue),console.log打印webview传递过去的参数(url和creat的扩展参数),在hbuilerx 2.9.5 uniapp 控制台显示的log数据都为空,如果在h5 alert则可以正产打印出来。

2021-04-23 14:03 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容