| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | <template>	<div class="view-vessel">		<div class="a-view" v-for="tab in $root.viewList" :key="tab.id" :class="tab == $root.nativeTab ? 'a-view-native' : null">			<!-- vue视图 -->			<template v-if="tab.view">				<component :is="tab.view" class="vue-com-view" v-if="tab.isNeedLoad"></component>			</template>			<!-- iframe视图 -->			<template v-else>				<iframe :src="tab.url" :id=" 'iframe-' + tab.id " v-if="tab.isNeedLoad" @load="onloadIframe(tab.id)"></iframe>			</template>		</div>		<!-- tab被拖拽时的遮罩(下托拽:悬浮打开) -->		<div class="shade-fox" v-if="$root.isDrag" 			@dragover="$event.preventDefault();" 			@drop="$event.preventDefault(); $event.stopPropagation(); $root.xfTab($root.dragTab); $root.closeTab($root.dragTab);">			<span style="font-size: 24px;">拖拽至此:悬浮打开</span>		</div>	</div></template><script>	module.exports = {		data() {			return {							}		},		methods: {			// iframe加载完毕后清除其背景 loading 图标			onloadIframe: function(iframeId) {				// console.log('iframeId', iframeId);				var iframe = document.querySelector('#iframe-' + iframeId);				if(iframe != null) {					iframe.parentElement.style.backgroundImage='none';				}			},		},		created() {					}	}</script><style scoped>		.view-vessel{height: 100%; position: relative; border: 0px #000 solid;}	.a-view{width: 100%; height: 100%; background-color: #EEE; background: url(../index/admin-loading.gif) no-repeat center 50%; position: absolute; }	.a-view{opacity: 0; transition: all 0.2s;}	.a-view-native{z-index: 100000; opacity: 1;}		.a-view>iframe{width: 100%; height: 100%; border: 0px #000 solid;}	.a-view>.vue-com-view{width: 100%; height: 100%; overflow: auto; background-color: #EEE;}		/* .iframe-no-scroll{width: calc(100% + 22px); } */	</style>
 |