123456789101112131415161718192021222324252627282930 |
- <template>
- <div v-loading="loading" :style="'height:' + height">
- <iframe :src="url" frameborder="no" style="width: 100%; height: 100%" scrolling="auto" />
- </div>
- </template>
- <script setup lang="ts">
- import { ref, computed, onMounted } from 'vue'
- interface IFrameProps {
- src: string
- }
- const props = withDefaults(defineProps<IFrameProps>(), {
- src: ''
- })
- const height = ref(document.documentElement.clientHeight - 94.5 + 'px;')
- const loading = ref(true)
- const url = computed(() => props.src)
- onMounted(() => {
- setTimeout(() => {
- loading.value = false
- }, 300)
- window.onresize = function temp() {
- height.value = document.documentElement.clientHeight - 94.5 + 'px;'
- }
- })
- </script>
|