ie浏览器下vue使用iframe嵌套网页显示为空白
vue使用的路由模式是hash,当在浏览器打开这个网站的时候,#/
会自动转到index.html#/
,而在ie中的iframe打开的时候并不能自动转到这个地址,所以解决问题的方法很简单了,在引用的时候引用全地址,以下是原文地址:解决vue项目中,用iframe调用项目中其他页面在ie打开空白问题 - 忽闻河东狮子吼 - 博客园 (cnblogs.com)
然后点击切换地址时,发现iframe
不会刷新页面,给iframe
加key
解决,下面上代码:
<!-- 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 许可协议。转载请注明来自 三思!