在vue中使用Iframe嵌套问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vue中使用Iframe嵌套问题相关的知识,希望对你有一定的参考价值。
参考技术A vue中嵌套iframe,将要嵌套的文件放在static下面:<iframe src="../../../static/bear.html" width="300" height="300" frameborder="0" scrolling="auto"></iframe>
src可以使用相对路径,也可使用服务器根路径http:localhost:8088/…等:
<iframe src="https://www.baidu.com/" width="300" height="300" frameborder="0" scrolling="auto"></iframe>
iframe实现vue嵌套外部系统
实现目标:
- 外部系统相关配置放在配置文件中
- 外部系统渲染入口放在主系统中,由主系统router控制外部系统的加载
- 外部系统加载过程展示loading
相关代码:
// config.js
export default {
collect: {
staticAddress: \'http://127.0.0.1:9303\'
},
application: {
staticAddress: \'http://127.0.0.1:9304\'
}
};
// router.js
import config from \'./config.js\';
import DynamicComponent from \'./DynamicComponent.vue\';
{
path: `${baseUrl}/collect`,
name: \'collect\',
props:config.collect,
component: DynamicComponent
},
// DynamicComponent.vue
<template>
<keep-alive>
<iframe ref="dynamicIframe"
:src="staticAddress"
frameborder="0"
style="width:100%;height:100%;"
@load="frameLoaded"
/>
</keep-alive>
</template>
<script>
export default {
name: "DynamicComponent",
props: {
staticAddress: {
type: String,
required: true
}
},
beforeRouteEnter(to, from, next) {
next(vm => {
// element-ui loading效果
vm.$showViewLoading();
});
},
beforeDestroy() {
this.$off(\'load\', this.frameLoaded);
},
methods: {
frameLoaded() {
this.$closeViewLoading();
}
}
};
</script>
以上是关于在vue中使用Iframe嵌套问题的主要内容,如果未能解决你的问题,请参考以下文章
当使用iframe使用时出现多层的嵌套,想要从内部直接跳转到外部