// ==UserScript== // @name LinkCheatGuardian_BiliBili // @namespace http://tampermonkey.net/ // @version 0.4 // @description 对b23.tv/xxxx这样的链接,直接获取到真实地址的标题,以免用户点进去自己不想看到的内容 // @author wlx0079 // @match *://www.bilibili.com/video/* // @icon https://i0.hdslb.com/bfs/album/5b628d8d94bbf2f80f8006f1f6865a3f977e51d2.jpg // @grant GM_xmlhttpRequest // @downloadURL none // ==/UserScript== //Update: 0801-01:42 只采集/video,采用hashmap缓存策略减少访问量,时间间隔调大,访问太多要验证码的== //Update: 0801-11:35 采用异步更新的方式,一个较长间隔请求未访问的网址,一个较短间隔从内存中更新内容 var hashmap = new Map() function getTitle(text){ var myReg = new RegExp("
#诈骗检测:'+name+"
" hashmap.set(theSpan.innerHTML,newContent) hashmap.set(newContent,"$") theSpan.innerHTML = newContent } } }); } function getRequest(){ var links = document.getElementsByTagName("a") for (var i = 0 ; i < links.length ; ++i){ var url = links[i].href; if (url.search("b23.tv") != -1 ){ if(hashmap.has(links[i].innerHTML)){ var content = hashmap.get(links[i].innerHTML); if (content != "$"){ links[i].innerHTML = content; } } else { httpGet(url,links[i]) } } } } function Alter(){ var links = document.getElementsByTagName("a") for (var i = 0 ; i < links.length ; ++i){ var url = links[i].href; if (url.search("b23.tv") != -1 ){ if(hashmap.has(links[i].innerHTML)){ var content = hashmap.get(links[i].innerHTML); if (content != "$"){ links[i].innerHTML = content; } } } } } setInterval(getRequest,2500) setInterval(Alter,1000)