iframe 嵌套传值

iframe 页面设置

getData () {
      let _this = this;
      var iframe = document.getElementById('iframeId');
      iframe.onload = function () {
        var data = {
          name: _this.$store.state.user.name,
          uimsMobile: _this.$store.state.user.uimsMobile,
          orgCode: _this.$store.state.user.orgCode,
          company: _this.$store.state.user.company
        };
        // 向子页面传送跨域数据
        iframe.contentWindow.postMessage(JSON.stringify(data), '*');
      };
      // 接受子页面返回数据
      // window.addEventListener('message', function (e) {
      //   console.info('data from 子页面 ---> ' + e.data);
      // }, false);
    }

接收页面

// 接收iframe的数据
    window.addEventListener('message', function (e) {
      var data = JSON.parse(e.data)
      console.info('iframe传值 ---> ', data)
      _this.$store.commit('setIfrmData', data)
      // if (data) {
      //   data.number = 16
      //   // 处理后再发回iframe
      //   window.parent.postMessage(JSON.stringify(data), '*')
      // }
    }, false)

你可能感兴趣的:(iframe 嵌套传值)