y***@qq.com
y***@qq.com
  • 发布:2019-03-22 03:35
  • 更新:2019-03-22 15:00
  • 阅读:1902

uniapp 怎么监听 html发送的数据啊,花几个小时了 -_-

分类:uni-app

业务需求 在VUE页面append 测试页/hybrid/html/local.html,如何监听postMessage,不是用web-view
因为web-view默认全屏,不能设置大小

<template>  
    <view>  
        <text>{{testext}}</text>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                testext:''  
            };  
        },  
        onLoad() {  
            this.gettext();  
        },  
        methods: {  
            gettext(){  
                var pages = getCurrentPages();  
                var page = pages[pages.length - 1];  
                var currentWebview = page.$getAppWebview();  
                var w = plus.webview.create('/hybrid/html/local.html','id',{width:'400px',height:'200px'});  
                currentWebview.append(w);  
            }  
        }  
    }  
</script>  

<style>  

</style>

现在如何实时监听到 /hybrid/html/local.html 发送的数据?
各路大神,有没有办法呢?

2019-03-22 03:35 负责人:无 分享
已邀请:
y***@qq.com

y***@qq.com (作者)

另外做了个测试

w.addEventListener('loaded',function(){  
    console.log('加载完成了?')  
});

这个是可以监听
模拟了以前的 mui.fire 注册一个事件(/hybrid/html/local.html)

var i = plus.webview.currentWebview().parent();  
i.evalJS("receive('test','{mask:false}')");

本页的话可以正常document.addEventListener,但在vue不知道这个receive函数怎么写,写在哪?
都提示 receive is not defined

y***@qq.com

y***@qq.com (作者)

没人回,暂时用 plus.storage.getItem解决了,还不知道APP端通平台没有

  • 叫我白老师

    遇到了一样的问题,

    后来用global解决了

    global.receive=function(){ ... }


    不过要注意parent别弄错了

    2019-04-24 14:03

  • i***@qq.com

    同样遇到了,怎么弄的,给几行代码呗,谢谢啦


    当前页和子webview相互发信息

    2019-05-04 23:08

  • 1***@qq.com

    回复 叫我白老师: 您好, 可以说的详细点吗?

    2019-05-24 16:41

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