|
@@ -67,9 +67,9 @@ export function backTwitterPinLoginCode(code) {
|
|
|
|
|
|
}
|
|
|
|
|
|
-export function backHttpTwitterShortUrl(url) {
|
|
|
+export function backHttpTwitterShortUrl(url,tweet_id) {
|
|
|
return new Promise(function (resolve, reject) {
|
|
|
-
|
|
|
+ console.log('请求一次短链接')
|
|
|
httpTwitterShortUrl(url).then(res => {
|
|
|
let _str_arr = res.match(/denetme.net\/([\s\S]*?)"/) || []
|
|
|
let _post_id = _str_arr[1] || ''
|
|
@@ -79,13 +79,16 @@ export function backHttpTwitterShortUrl(url) {
|
|
|
// 解析
|
|
|
let _obj = {
|
|
|
url,
|
|
|
- post_id: _post_id
|
|
|
+ post_id: _post_id,
|
|
|
+ tweet_id
|
|
|
}
|
|
|
getChromeStorage('sortLink', item => {
|
|
|
if (item) {
|
|
|
for (let i in item) {
|
|
|
if (item[i].url == _obj.url) {
|
|
|
item[i] = _obj
|
|
|
+ }else{
|
|
|
+ delete item[i].tweet_id
|
|
|
}
|
|
|
}
|
|
|
setChromeStorage({ sortLink: JSON.stringify(item) })
|
|
@@ -615,12 +618,12 @@ function parseDOMRedPacket() {
|
|
|
let parse_dom = {}
|
|
|
|
|
|
async function parseDOMRedPacketByShortUrl(port) {
|
|
|
- let _new_time = new Date().getTime()
|
|
|
- if ((_new_time - change_time) > 1000) {
|
|
|
- change_time = _new_time
|
|
|
- } else {
|
|
|
- return
|
|
|
- }
|
|
|
+ // let _new_time = new Date().getTime()
|
|
|
+ // if ((_new_time - change_time) > 1000) {
|
|
|
+ // change_time = _new_time
|
|
|
+ // } else {
|
|
|
+ // return
|
|
|
+ // }
|
|
|
// 为了减少声明变量次数
|
|
|
parse_dom.dom = null
|
|
|
parse_dom.txt_area = null
|
|
@@ -640,6 +643,9 @@ async function parseDOMRedPacketByShortUrl(port) {
|
|
|
parse_dom.dom.style.display = 'none'
|
|
|
continue
|
|
|
}
|
|
|
+ if (parse_dom.dom.parentElement.querySelector('iframe')) {
|
|
|
+ continue
|
|
|
+ }
|
|
|
parse_dom.short_url = getTwitterShortUrl(parse_dom.article)
|
|
|
parse_dom.a_tweetId = parse_dom.article.querySelector('a[aria-label]')
|
|
|
if (parse_dom.a_tweetId && parse_dom.a_tweetId.getAttribute('href')) {
|
|
@@ -753,15 +759,17 @@ function replaceDOMRedPacket(_type, _dom, postId, tweetId) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-let change_time = new Date().getTime()
|
|
|
-// function onChangePageMain(port, targetNode) {
|
|
|
-// const config = { attributes: true, childList: true, subtree: true };
|
|
|
-// const callback = (mutationsList, observer) => {
|
|
|
-// parseDOMRedPacketByShortUrl(port)
|
|
|
-// }
|
|
|
-// const observer = new MutationObserver(callback);
|
|
|
-// observer.observe(targetNode, config);
|
|
|
-// }
|
|
|
+// let change_time = new Date().getTime()
|
|
|
+function onChangePageMain(port, targetNode) {
|
|
|
+ const config = { attributes: true, childList: true, subtree: true };
|
|
|
+ const callback = (mutationsList, observer) => {
|
|
|
+ setTimeout(()=>{
|
|
|
+ parseDOMRedPacketByShortUrl(port)
|
|
|
+ },1500)
|
|
|
+ }
|
|
|
+ const observer = new MutationObserver(callback);
|
|
|
+ observer.observe(targetNode, config);
|
|
|
+}
|
|
|
|
|
|
export function setIframeRedPacket(port) {
|
|
|
// let elment = document.documentElement
|
|
@@ -769,15 +777,17 @@ export function setIframeRedPacket(port) {
|
|
|
if (window.location.href.includes('twitter.com)')) {
|
|
|
return
|
|
|
}
|
|
|
- setInterval(() => {
|
|
|
- parseDOMRedPacketByShortUrl(port)
|
|
|
- }, 2000)
|
|
|
- // let targetNode = null
|
|
|
- // let timer = setInterval(() => {
|
|
|
- // targetNode = document.querySelector('main')
|
|
|
- // if (targetNode) {
|
|
|
- // clearInterval(timer)
|
|
|
- // onChangePageMain(port, targetNode)
|
|
|
- // }
|
|
|
- // }, 1000);
|
|
|
+ // setInterval(() => {
|
|
|
+ // // parseDOMRedPacketByShortUrl(port)
|
|
|
+ // }, 1000)
|
|
|
+
|
|
|
+
|
|
|
+ let targetNode = null
|
|
|
+ let timer = setInterval(() => {
|
|
|
+ targetNode = document.querySelector('main')
|
|
|
+ if (targetNode) {
|
|
|
+ clearInterval(timer)
|
|
|
+ onChangePageMain(port, targetNode)
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
}
|