| | |
| | | <script>
|
| | | export default {
|
| | | setup() {
|
| | | const route = useRoute();
|
| | | const link = route.meta.link;
|
| | | if (link === "") {
|
| | | return "404";
|
| | | }
|
| | | let url = link;
|
| | | const height = document.documentElement.clientHeight - 94.5 + "px";
|
| | | const style = { height: height };
|
| | | <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>
|
| | |
|
| | | // 返回渲染函数
|
| | | return () =>
|
| | | h(
|
| | | "div",
|
| | | {
|
| | | style: style,
|
| | | },
|
| | | h("iframe", {
|
| | | src: url,
|
| | | frameborder: "no",
|
| | | width: "100%",
|
| | | height: "100%",
|
| | | scrolling: "auto",
|
| | | })
|
| | | );
|
| | | <script setup>
|
| | | const props = defineProps({
|
| | | src: {
|
| | | type: String,
|
| | | default: "/"
|
| | | },
|
| | | };
|
| | | iframeId: {
|
| | | type: String
|
| | | }
|
| | | });
|
| | |
|
| | | const height = ref(document.documentElement.clientHeight - 94.5 + "px");
|
| | | const loading = ref(false);
|
| | |
|
| | | onMounted(() => {
|
| | | const { proxy } = getCurrentInstance()
|
| | | const iframeId = ("#" + props.iframeId).replace(/\//g, "\\/");
|
| | | const iframe = document.querySelector(iframeId);
|
| | | // iframe页面loading控制
|
| | | if (iframe.attachEvent) {
|
| | | loading.value = true;
|
| | | iframe.attachEvent("onload", function () {
|
| | | proxy.loading = false;
|
| | | });
|
| | | } else {
|
| | | loading.value = true;
|
| | | iframe.onload = function () {
|
| | | proxy.loading = false;
|
| | | };
|
| | | }
|
| | | })
|
| | | </script>
|