| 
					
				 | 
			
			
				@@ -11,10 +11,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <iframe :src="iframe_url" frameborder="0"></iframe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="content" v-else> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <iframe :src="state.iframe_url" v-show="state.status == 'iframe'" ref="dom_iframe" frameborder="0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                scrolling="yes" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sandbox="allow-same-origin allow-scripts allow-popups allow-top-navigation allow-forms allow-modals allow-popups-to-escape-sandbox" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div ref="dom_area_iframe" v-show="state.status == 'iframe'" class="area-iframe"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <iframe src="https://www.twitter.com" ref="dom_iframe" frameborder="0" scrolling="yes" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 allow="camera *;microphone *"></iframe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <!-- 网页错误 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="state" v-show="state.status == '网页错误'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <img :src="state.cover_url" alt="" class="cover" /> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -67,7 +69,7 @@ import { getChromeStorage, setChromeStorage, defineProps, sendChromeTabMessage } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getPostDetail } from '@/http/redPacket.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { guid, getQueryString } from "@/uilts/help"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { onMounted, reactive, ref } from "vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let dom_iframe = ref(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let dom_area_iframe = ref(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let state = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     status: '', // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     show_alert: false, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -78,7 +80,8 @@ let state = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     postId: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tweetId: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     detail: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handle_type: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handle_type: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    iframe_sandbox: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let dom = {} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -138,10 +141,14 @@ onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let area_iframe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// detail函数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-const getDetail = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let iframe = dom_iframe.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const createIframe = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    area_iframe = dom_area_iframe.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (area_iframe.querySelector('iframe')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let iframe = document.createElement('iframe') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     iframe.onerror = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         state.status = '网页错误' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -151,6 +158,16 @@ const getDetail = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             state.status = 'iframe' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // if (state.detail.urlInBlacklist) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     iframe.sandbox = "allow-same-origin allow-scripts allow-popups allow-top-navigation allow-forms allow-modals allow-popups-to-escape-sandbox allow-presentation" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // state.detail.convertUrl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    iframe.src = 'https://www.twitter.com' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    area_iframe.appendChild(iframe) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// detail函数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const getDetail = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getPostDetail({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             postId: state.postId 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -161,15 +178,9 @@ const getDetail = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             console.log('postBizData', state.detail) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 加载iframe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             state.cover_url = state.detail.linkImagePath 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // state.cover_url = 'https://www.keaidian.com/uploads/allimg/190424/24110307_8.jpg' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // state.cover_url = 'https://www.keaidian.com/uploads/allimg/190424/24110307_8.jpg'   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             state.status = '加载' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            state.iframe_url = state.detail.convertUrl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // state.detail.urlInBlacklist 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // state.iframe_url = 'https://www.baidu.com' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // state.status = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // }, 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // createIframe() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             state.status = '网页错误' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -392,13 +403,20 @@ const clickFull = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         justify-content: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        iframe { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .area-iframe { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            height: 504px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            border: medium none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            iframe { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                border: medium none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .state { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             width: 100%; 
			 |