订阅帖子(后台)
// ==UserScript==
// @name 订阅帖子(后台)
// @storagename Su.订阅帖子
// @version 0.1.1
// @description 后台监测已订阅的帖子的回复数,有新回复则通知
// @author Su.
// @grant GM_notification
// @grant GM_xmlhttpRequest
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_listValues
// @grant GM_openInTab
// @crontab */5 * * * *
// ==/UserScript==
var lis=GM_listValues()
for(let i=0;i<lis.length;i++){
if(Number(lis[i])){
jiance(lis[i])
}
}
function jiance(urls){
return new Promise((resolve, reject) => {
let news,b,condition
let wangzhi=GM_getValue(urls)
GM_xmlhttpRequest({
url: wangzhi,
method: 'GET',
onload(xhr){
if (xhr.responseText.indexOf('<span class="y comiis_hfs">')!==-1) {
news=new DOMParser().parseFromString(xhr.responseText,"text/html").querySelector('span[class="y comiis_hfs"]').innerText.split('回复')[0]
b=GM_getValue("已订阅"+urls).split('回复数')[1]
if(b!=news){
GM_notification({
title: "【帖子id:"+urls+'】有新的回复',
text: '回复数:'+b+'->'+news,
onclick:()=> {
GM_openInTab(wangzhi)
GM_setValue("已订阅"+urls,"回复数"+news)
},
timeout:10000,
})
condition="新回复"
}
else {
condition="回复量相同"
}
console.log(condition)
resolve(condition)
}
}, onerror() {
console.log("错误")
reject("错误")
}
})
})
}