美文网首页
postMessage使用方法

postMessage使用方法

作者: Cherry丶小丸子 | 来源:发表于2021-03-04 14:39 被阅读0次
    1、父页面向子页面发送消息
    let data = {type: 'answerResult', data: jsonData.data};
    this.$refs.iframe.contentWindow.postMessage(data, '*');
    
    2、子页面向父页面发送消息
    let parentData = {type: 'passDataBack', data: passData};
    window.parent.postMessage(parentData, '*');
     
    3、接收消息方法
    window.addEventListener('message', function (e) {})
    

    封装

    // 父页面
    mounted(){
        window.addEventListener("message", this.handleMessage)
    },
    methods:{
        /**
         * 向iframe传值的方法
         * @param {Object} data
         */
        sendMessage(data){
            const iframe = this.$refs.iframePage.contentWindow;
            iframe.postMessage(data, '*');
        },
        /**
         * 监听子页面传过来的值的方法
         * @param {Object} event
         */
        handleMessage (event) {
            // dosomething
        }
    }
    
    // 子页面
    mounted(){
        window.addEventListener("message", this.handleMessage)
    },
    methods:{
        /**
         * 向父页面传值的方法
         * @param {Object} data
         */
        sendMessage(data){
            window.parent.postMessage(data, '*');
        }
        /**
         * 监听父页面传过来的值的方法
         * @param {Object} event
         */
        handleMessage (event) {
            // dosomething
        }
    }
    

    相关文章

      网友评论

          本文标题:postMessage使用方法

          本文链接:https://www.haomeiwen.com/subject/jslkqltx.html