您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
转换编号为直达链接,并不知道站长知道了这东西会不会做出什么应对措施.
当前为
// ==UserScript== // @name dm1080直接跳转 // @namespace http://tampermonkey.net/ // @version 0.0.0.0.0.0.5 // @description 转换编号为直达链接,并不知道站长知道了这东西会不会做出什么应对措施. // @homepage http://greasyfork.icu/zh-CN/scripts/29313-dm1080%E7%9B%B4%E6%8E%A5%E8%B7%B3%E8%BD%AC // @author You // @match https://dm1080p.com/archives/* // @match https://52kbd.com/archives/* //@connect https://zzzpan.com/?/file/view-*.html // @grant GM_xmlhttpRequest // @grant GM_setClipboard // ==/UserScript== var urlRegex = /[0-9A-Z]{7}(?=-| |$)/g; //正则,不区分大小写,匹配七位大写编码 //获取id名为main下entry-content类中的所有span元素 var sp=document.getElementById('main').getElementsByClassName('entry-content')[0].getElementsByTagName('span') //递归函数,实现遍历同一个span元素中的多个编码匹配 //span:元素父节点,txt:innerHTML文本 function nam(span,txt) { var rex=txt.match(urlRegex) if (rex) {//如果正则匹配,不管多少,先处理再说 var q=txt.indexOf(rex[0]) //最初匹配的位置 var qtxt=txt.substring(0,q) //赋值匹配位置之前的所有文字 var htxt=txt.substring(q+7) //赋值匹配位置之后的所有文字 span.appendChild(document.createTextNode(qtxt)) //先在节点中插入最初的文字 //创建超链接节点 var elmLink = document.createElement("a"); elmLink.href='https://zzzpan.com/?/file/view-'+rex[0]+'.html'; //xh.url=elmLink.href elmLink.target="_blank"; elmLink.innerText=rex[0] var cd=document.createElement("code") cd. style="font-size:100%; " cd.appendChild(elmLink) GM_xmlhttpRequest({ method: 'GET', url: elmLink.href, headers: { 'User-agent': navigator.userAgent, 'Accept': 'text/xml', 'referer': "https://zzzpan.com/index.php" }, onload: function(responseDetails) { var parser = new DOMParser(); var dom = parser.parseFromString(responseDetails.responseText,"application/xml"); var d=dom.getElementsByClassName('linkHidden')[0].getElementsByTagName('a')[0] d.title='直接下载' d.innerText='📥' //下载链接的添加与代码所在位置和顺序无关 s.appendChild(d) } }); var s = document.createElement("span") s.appendChild(cd) //并追加到父结点中 span.appendChild(s); nam(span,htxt) } else { //如果余下的文本中没有匹配,则直接追加 span.appendChild(document.createTextNode(txt)) } } for (var i = 0; i <sp.length; i++) { //var sp=ss[2].getElementsByTagName('span') var iH=sp[i].innerHTML //文本 if (iH.match(urlRegex)) { //如果匹配成功,则先清除innerHTML sp[i].innerHTML='' //console.log(sp[i]) nam(sp[i],iH) } }