parent
99d1760b98
commit
7347cbaedf
@ -0,0 +1,24 @@ |
|||||||
|
<template> |
||||||
|
<transition-group name="fade-transform" mode="out-in"> |
||||||
|
<inner-link |
||||||
|
v-for="(item, index) in iframeViews" |
||||||
|
:key="item.path" |
||||||
|
:iframeId="'iframe' + index" |
||||||
|
v-show="$route.path === item.path" |
||||||
|
:src="item.meta.link" |
||||||
|
></inner-link> |
||||||
|
</transition-group> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import InnerLink from "../InnerLink/index" |
||||||
|
|
||||||
|
export default { |
||||||
|
components: { InnerLink }, |
||||||
|
computed: { |
||||||
|
iframeViews() { |
||||||
|
return this.$store.state.tagsView.iframeViews |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
@ -1,27 +1,47 @@ |
|||||||
|
<template> |
||||||
|
<div :style="'height:' + height" v-loading="loading" element-loading-text="正在加载页面,请稍候!"> |
||||||
|
<iframe |
||||||
|
:id="iframeId" |
||||||
|
style="width: 100%; height: 100%" |
||||||
|
:src="src" |
||||||
|
frameborder="no" |
||||||
|
></iframe> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
<script> |
<script> |
||||||
export default { |
export default { |
||||||
|
props: { |
||||||
|
src: { |
||||||
|
type: String, |
||||||
|
default: "/" |
||||||
|
}, |
||||||
|
iframeId: { |
||||||
|
type: String |
||||||
|
} |
||||||
|
}, |
||||||
data() { |
data() { |
||||||
return {}; |
return { |
||||||
|
loading: false, |
||||||
|
height: document.documentElement.clientHeight - 94.5 + "px;" |
||||||
|
}; |
||||||
}, |
}, |
||||||
render() { |
mounted() { |
||||||
const { $route: { meta: { link } }, } = this; |
var _this = this; |
||||||
if ({ link }.link === "") { |
const iframeId = ("#" + this.iframeId).replace(/\//g, "\\/"); |
||||||
return "404"; |
const iframe = document.querySelector(iframeId); |
||||||
|
// iframe页面loading控制 |
||||||
|
if (iframe.attachEvent) { |
||||||
|
this.loading = true; |
||||||
|
iframe.attachEvent("onload", function () { |
||||||
|
_this.loading = false; |
||||||
|
}); |
||||||
|
} else { |
||||||
|
this.loading = true; |
||||||
|
iframe.onload = function () { |
||||||
|
_this.loading = false; |
||||||
|
}; |
||||||
} |
} |
||||||
let url = { link }.link; |
} |
||||||
const height = document.documentElement.clientHeight - 94.5 + "px"; |
|
||||||
const style = { height: height }; |
|
||||||
|
|
||||||
return ( |
|
||||||
<div style={style}> |
|
||||||
<iframe |
|
||||||
src={url} |
|
||||||
frameborder="no" |
|
||||||
style="width: 100%; height: 100%" |
|
||||||
scrolling="auto" |
|
||||||
></iframe> |
|
||||||
</div> |
|
||||||
); |
|
||||||
}, |
|
||||||
}; |
}; |
||||||
</script> |
</script> |
||||||
|
Loading…
Reference in new issue