Johnny_new
Johnny_new
  • 发布:2024-11-08 17:01
  • 更新:2024-11-08 19:28
  • 阅读:33

在uniapp中有多个web-view时,如何标识web-view?

分类:uni-app

web-view标签是循环出来的! 我怎么知道那个web-view 对应哪条数据?
list数据如下:
[
{
"src": "undefinedpage/index/indexHome.jsp",
"frameName": "link1",
"height": 0,
"top": 0,
"linkName": "首页"
},
{
"src": "undefinedpage/index/indexNearby.jsp",
"frameName": "link2",
"height": 0,
"top": 0,
"linkName": "分类"
},
{
"src": "undefinedpage/index/indexUnit_group.jsp",
"frameName": "link3",
"height": 0,
"top": 0,
"linkName": "非密办公"
},
{
"src": "undefinedpage/index/shoppingCart.jsp",
"frameName": "link4",
"height": 0,
"top": 0,
"linkName": "购物车"
},
{
"src": "undefinedpage/my/indexMy.jsp",
"frameName": "link5",
"height": 0,
"top": 0,
"linkName": "我的"
}
]

我在@message 回调中完全就不知道那个页面给我发送的消息?

通过this.$scope.$getAppWebview().children()获取的结果也无法分清(id都一样) 如下图(这里只显示2个其他都差不多,我先删了)

2024-11-08 17:01 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

uni.webView.postMessage时可以传递参数
在这里可以传递标识或者url来做区分
例如:

  uni.webView.postMessage({  
                data: { type: 'xxx', params },  
            });
  • Johnny_new (作者)

    问题是 我需要获取到对应的webview 最后要执行evalJS方法,但是从this.$scope.$getAppWebview().children()获取时是一个数组,我不知道因该给那个执行evalJS

    2024-11-08 17:39

  • Johnny_new (作者)

    除了 this.$scope.$getAppWebview().children()能获取到webView 对象 还有别的方式能获取到webView吗?比如$refs

    2024-11-08 17:40

  • Johnny_new (作者)

    大神救命呀

    2024-11-08 17:56

爱豆豆

爱豆豆 - 办法总比困难多

给你的message穿个参数不就能区分了吗?
可以传个id 或者索引 区分当前触发的是第几个web-view

BoredApe

BoredApe - 有问题就会有答案。

要回复问题请先登录注册