Prechádzať zdrojové kódy

[bug][渲染多张卡片]

zhangwei 2 rokov pred
rodič
commit
73960c491f
1 zmenil súbory, kde vykonal 15 pridanie a 7 odobranie
  1. 15 7
      src/logic/content/ParseCard.js

+ 15 - 7
src/logic/content/ParseCard.js

@@ -77,7 +77,7 @@ class ParseCard {
                 if (faceJumpUrl !== 'null') {
                     let urlArr = new URL(faceJumpUrl);
                     let searchArr = new URLSearchParams(urlArr.search);
-                    let deUrlParams =  searchArr.get('deUrlParams') || '{}';
+                    let deUrlParams = searchArr.get('deUrlParams') || '{}';
                     deUrlParams = JSON.parse(deUrlParams);
                     if (!tweet_Id) {
                         tweet_Id = deUrlParams.tweetId;
@@ -187,7 +187,7 @@ class ParseCard {
         return _array
     }
 
-    createIframe({post_Id, tweet_Id, tweet_author}, if_center = false) {
+    createIframe({ post_Id, tweet_Id, tweet_author }, if_center = false) {
         let _iframe = document.createElement('iframe')
         _iframe.id = post_Id
         _iframe.src = chrome.runtime.getURL('/iframe/red-packet.html') + `?postId=${post_Id}&tweetId=${tweet_Id}&tweet_author=${tweet_author}&window_origin=${window.location.origin}`;
@@ -232,7 +232,7 @@ class ParseCard {
                         }
                     }
                 }
-            }else{
+            } else {
                 let _iframe = dom.parentElement.querySelectorAll('iframe') || []
                 if (_iframe.length > 1) {
                     for (let i = 0; i < _iframe.length; i++) {
@@ -250,7 +250,15 @@ class ParseCard {
         if (!dom_card || !dom_card.parentElement) {
             return
         }
-        if (dom_card.querySelector('iframe')) {
+        let arr_iframe = dom_card.querySelectorAll('iframe') || []
+        if (arr_iframe.length > 0) {
+            if (arr_iframe.length > 1) {
+                for (let i = 0; i < arr_iframe.length; i++) {
+                    if (i > 0) {
+                        arr_iframe[i].remove()
+                    }
+                }
+            }
             return true
         }
         return false
@@ -285,7 +293,7 @@ class ParseCard {
             // 渲染时长:${(new Date().getTime() - time) / 1000}s
             // `
             // dom.parentElement.appendChild(div)
-            dom.appendChild(this.createIframe({post_Id, tweet_Id}))
+            dom.appendChild(this.createIframe({ post_Id, tweet_Id }))
         }
 
     }
@@ -294,7 +302,7 @@ class ParseCard {
             return
         }
         let dom = dom_card.querySelector('div[id^=jsc_c_][class=l9j0dhe7]')
-            dom.style = 'min-height:500px'
+        dom.style = 'min-height:500px'
         if (dom) {
             for (let i = 0; i < dom.childNodes.length; i++) {
                 if (dom.children[i].tagName.toLowerCase() != 'iframe') {
@@ -305,7 +313,7 @@ class ParseCard {
             let originUrl = new URL(short_url);
             let post_Id = originUrl.pathname.slice(1);
 
-            dom.appendChild(this.createIframe({post_Id, tweet_Id, tweet_author}, true))
+            dom.appendChild(this.createIframe({ post_Id, tweet_Id, tweet_author }, true))
         }
     }
 }