ie浏览器下vue使用iframe嵌套网页显示为空白

vue使用的路由模式是hash,当在浏览器打开这个网站的时候,#/ 会自动转到index.html#/,而在ie中的iframe打开的时候并不能自动转到这个地址,所以解决问题的方法很简单了,在引用的时候引用全地址,以下是原文地址:解决vue项目中,用iframe调用项目中其他页面在ie打开空白问题 - 忽闻河东狮子吼 - 博客园 (cnblogs.com)

然后点击切换地址时,发现iframe不会刷新页面,给iframekey解决,下面上代码:

<!-- IframeWrapper.vue -->
<template>
  <div class="iframe-container">
    <iframe
      width="100%"
      height="100%"
      frameborder="0"
      :src="formattedUrl"
      :key="key"
    ></iframe>
  </div>
</template>

<script>
export default {
  props: ["url"],
  data() {
    return {
      key: Date.now()
    }
  },
  computed: {
    formattedUrl() {
      let targetUrl = this.url
      // '/#/'会导致iframe无法跳转页面,使用全路径
      targetUrl = targetUrl.replaceAll("/#/", "/index.html#/")
      // key 用于触发iframe刷新页面
      this.key = Date.now()
      return targetUrl;
    },
  },
};
</script>

<style>
.iframe-container {
  height: 100%;
  overflow: hidden;
}
iframe {
  height: 100%;
  width: 100%;
}
</style>

文章作者: 三思
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 三思