|
@@ -426,41 +426,55 @@ function checkHasDeBtn() {
|
|
|
function parseDOMRedPacket() {
|
|
|
let _dom = null
|
|
|
let arr = document.querySelectorAll('a') || []
|
|
|
-
|
|
|
+ let _type = ''
|
|
|
for (let i in arr) {
|
|
|
if (arr[i].innerText == '#DeNet') {
|
|
|
let _article = arr[i].closest('article')
|
|
|
- let _postId = _article.querySelector('[lang]').innerText
|
|
|
+ let _txt_area = _article.querySelector('[lang]')
|
|
|
+ let _postId = _txt_area.innerText
|
|
|
_postId = _postId.match(/###([\s\S]*?)###/)[1]
|
|
|
_dom = _article.querySelector('[aria-labelledby]')
|
|
|
+ if (_dom) {
|
|
|
+ _type = 'card'
|
|
|
+ } else {
|
|
|
+ _type = 'parnet'
|
|
|
+ _dom = _txt_area.parentNode.parentNode
|
|
|
+ }
|
|
|
let _tweetId = _article.querySelector('a[aria-label]').getAttribute('href').split('/status/')[1]
|
|
|
- replaceDOMRedPacket(_dom, _postId, _tweetId)
|
|
|
+ replaceDOMRedPacket(_type, _dom, _postId, _tweetId)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function replaceDOMRedPacket(_dom, postId, tweetId) {
|
|
|
- if (!_dom || _dom.querySelector('iframe')) {
|
|
|
- return
|
|
|
- }
|
|
|
- let _len = _dom.childNodes.length
|
|
|
- for (let i = 0; i < _len; i++) {
|
|
|
- _dom.children[i].style.display = 'none'
|
|
|
- }
|
|
|
-
|
|
|
+function createIframe(postId,tweetId) {
|
|
|
let _iframe = document.createElement('iframe')
|
|
|
_iframe.id = postId
|
|
|
_iframe.src = chrome.runtime.getURL('/iframe/red-packet.html') + `?postId=${postId}&tweetId=${tweetId}`;
|
|
|
_iframe.style.cssText = 'border: medium none; width:375px;height:500px;'
|
|
|
- _dom.style = 'height:500px'
|
|
|
- _dom.appendChild(_iframe)
|
|
|
+ return _iframe
|
|
|
+}
|
|
|
+function replaceDOMRedPacket(_type, _dom, postId, tweetId) {
|
|
|
+ if (!_dom || _dom.querySelector('iframe')) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let _len
|
|
|
+ if (_type == 'card') {
|
|
|
+ _len = _dom.childNodes.length
|
|
|
+ for (let i = 0; i < _len; i++) {
|
|
|
+ _dom.children[i].style.display = 'none'
|
|
|
+ }
|
|
|
+ _dom.style = 'height:500px'
|
|
|
+ _dom.appendChild(createIframe(postId,tweetId))
|
|
|
+ } else {
|
|
|
+ _dom.insertBefore(createIframe(postId,tweetId), _dom.children[1])
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
export function setIframeRedPacket() {
|
|
|
// let elment = document.documentElement
|
|
|
|
|
|
- if(window.location.href.includes('https://twitter.com)')){
|
|
|
+ if (window.location.href.includes('https://twitter.com)')) {
|
|
|
return
|
|
|
}
|
|
|
// const observer = new MutationObserver(callback);
|