zhangzengfei
2022-07-20 4a800a8fc83c6bd1f86a8e847b079a51a7532c09
src/pages/desktop/index/components/DFrame.vue
@@ -14,7 +14,9 @@
    }"
  >
    <div class="d-frame-title" v-drag="fullScreen" @click="frameClick">
      <div class="icon iconfont back" @click="back">&#xe718;</div>
      <div class="icon iconfont back" @click="back" v-if="isShowBack">
        &#xe718;
      </div>
      <div class="d-frame-title-operation">
        <i
          class="icon-minus d-frame-operation-minus"
@@ -81,6 +83,9 @@
  props: {
    data: Object,
  },
  created() {
    this.addBackListener();
  },
  data() {
    return {
      publicPath: process.env.BASE_URL,
@@ -97,6 +102,7 @@
        mouY: 0,
        resizeLock: false,
      },
      isShowBack: false,
    };
  },
  watch: {
@@ -211,13 +217,29 @@
      //return false;
    },
    // 菜单栏返回
    back() {
      let active = this.$store.state.desktop.minDocks;
      active = active.filter((item) => item.highlight);
      console.log(`返回${active.alt}`);
      console.log(active);
      const iframeArr = document.querySelectorAll("iframe");
      iframeArr.forEach((item) => {
        item.contentWindow.postMessage({ msg: `返回${active[0].alt}` }, "*");
      });
    },
    // 添加返回按钮相关监听
    addBackListener() {
      //显示返回按钮
      window.addEventListener("message", (e) => {
        if (e.data.msg === "showBack") {
          this.isShowBack = true;
        }
      });
      //隐藏返回按钮
      window.addEventListener("message", (e) => {
        if (e.data.msg === "hiddenBack") {
          this.isShowBack = false;
        }
      });
    },
  },
@@ -379,7 +401,7 @@
.d-frame-title-content {
  line-height: 30px;
  text-align: center;
  background: #eeeeee;
  background: #ffffff;
}
.d-frame-title-content img {