// ==UserScript== // @name 磁力链接百度网盘补完 // @namespace http://tampermonkey.net/ // @version 2.60 // @description 磁力链接、百度网盘补完 // @author backrock12 // @include * // @grant GM_registerMenuCommand // @grant GM_unregisterMenuCommand // @grant GM_xmlhttpRequest // @grant GM_setValue // @grant GM_getValue // @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js // @exclude /(^[^:\/#\?]*:\/\/([^#\?\/]*\.)?www\.gamersky\.com(:[0-9]{1,5})?\/.*$)/ // @exclude /(^[^:\/#\?]*:\/\/([^#\?\/]*\.)?www\.baidu\.com(:[0-9]{1,5})?\/.*$)/ // @exclude /(^[^:\/#\?]*:\/\/([^#\?\/]*\.)?www\.ciweimao\.com(:[0-9]{1,5})?\/.*$)/ // @downloadURL none // ==/UserScript== (function () { 'use strict'; console.log("UrlLinePlugin"); //字符串格式化方法 String.prototype.UrlLineformat = function (args) { var result = this; if (arguments.length > 0) { if (arguments.length == 1 && typeof args == "object") { for (var key in args) { if (args[key] != undefined) { var reg = new RegExp("({" + key + "})", "g"); result = result.replace(reg, args[key]); } } } else { for (var i = 0; i < arguments.length; i++) { if (arguments[i] != undefined) { var reg = new RegExp("({)" + i + "(})", "g"); result = result.replace(reg, arguments[i]); } } } } return result; }; $.fn.replaceText = function (search, replace, action, text_only) { return this.each(function () { var node = this.firstChild, val, new_val,// Elements to be removed at the end. remove = []; if (node) { do { if (node.nodeType === 3) { val = node.nodeValue; if (val) { if (!action && replace) { new_val = val.replace(search, replace); } else { var t = search.exec(val) if (action && t && t.length > 0) new_val = action(node, val, t); else new_val = val; } if (new_val !== val) { if (!text_only && /{1}", bilibiliurl: "{1}", magneturl: "magnet:?xt=urn:btih:{1}", baiduurl1: "" + " https://pan.baidu.com/s/1{1} ", baiduurl2: "{2}", baiduurl3: "{1}", baiduurl4: " https://pan.baidu.com/s/1{2}#{3} ", baiduPattern0: /((https?:\/\/)?pan\.baidu\.com\/s\/1([a-zA-Z0-9_\-]{5,22})|(https?:\/\/)?pan\.baidu\.com\/share\/init\?surl=([a-zA-Z0-9_\-]{5,22})|[^a-zA-Z]s\/1([a-zA-Z0-9_\-]{5,22})|\bs\/1([a-zA-Z0-9_\-]{5,22}))/, baiduPattern1: /(https?:\/\/)?pan\.baidu\.com\/s\/1([a-zA-Z0-9_\-]{5,22})/, baiduPattern2: /(https?:\/\/)?pan\.baidu\.com\/share\/init\?surl=([a-zA-Z0-9_\-]{5,22})/, baiduPattern3: /\/?s\/1([a-zA-Z0-9_\-]{5,22})/, baiduPattern4: /\/?s?\/?1([a-zA-Z0-9_\-]{5,22})(?!\.)/, baiduPattern5: /(神秘代码)1([a-zA-Z0-9_\-]{5,22})/, common_reg1: /\s*(提取密碼|提取密码|提取码|提取碼|提取|密碼|密码|百度|百度云|云盘|yun|通关口令|本帖隐藏的内容)[::]?\s*(<[^>]+>)?\s*([0-9a-zA-Z]{4,})\s*/, common_reg2: /\s*(百度网盘密码|提取密碼|提取密码|提取码|提取碼|提取|密碼|密码|百度|百度云|云盘|yun|通关口令|本帖隐藏的内容)[::]?\s*/, common_reg3: /\s*(<[^>]+>)?\s*([0-9a-zA-Z]{4,})\s*/, common_reg4: /[::]?\s*(<[^>]+>)?\s*([0-9a-zA-Z]{4,8})/, common_r: "\\s*({0})[::]?\\s*(<[^>]+>)?\\s*([0-9a-zA-Z]{4,})\\s*", url_reg: /(http|https):\/\/(www.)?(\w+(\.)?)+/, Pwnum: 5, defaults_ULSetting: { Magnet_mk: true, Baidu_mk: true, CHeck_mk: true, Desc_mk: true, Log_mk: true, DescUrl: [], Pwlist: [] } }; function FormatGet(key) { if (key == 'DownUrl') { if (!arguments[3]) { return default_settings.baiduurl1.UrlLineformat(arguments[2], arguments[2]); } else { return default_settings.baiduurl2.UrlLineformat(arguments[2], arguments[3], arguments[3]); } } else if (key == 'Url') { return default_settings.baiduurl3.UrlLineformat(arguments[0], arguments[1]); } else if (key == 'baiduurl4') { if (!arguments[2]) { return default_settings.baiduurl1.UrlLineformat(arguments[1], arguments[1]); } else { return default_settings.baiduurl4.UrlLineformat(arguments[1], arguments[2], arguments[1], arguments[2]); } } } function SettingCheck(key, value) { if (key == 'baiduPattern0') { return default_settings.baiduPattern0.test(value) } else if (key == 'common_reg2') { return default_settings.common_reg2.test(value) } } function SettingGet(key, value) { let ss; if (key == 'common_reg4') { return (ss = default_settings.common_reg4.exec(value)) && 3 === ss.length ? ss[2] : null; } else if (key == 'common_reg3') { return (ss = default_settings.common_reg3.exec(value)) && 3 === ss.length ? ss[2] : null; } else if (key == 'common_reg1') { return (ss = default_settings.common_reg1.exec(value)) && 4 === ss.length ? ss[3] : null; } else if (key == 'baiduPattern0') { ss = default_settings.baiduPattern0.exec(value); return ss[3] ? ss[3] : (ss[5] ? ss[5] : (ss[6] ? ss[6] : ss[7])); } else if (key == 'baiduPattern4') { return (ss = default_settings.baiduPattern4.exec(value)) && 2 === ss.length ? ss[1] : null; } } function Getnextnode(node) { let loopnum = default_settings.Pwnum; let bnode; if (Desc_Mk) { bnode = node == node.previousSibling ? null : node.previousSibling; } else { bnode = node == node.nextSibling ? null : node.nextSibling; } if (!bnode) bnode = Desc_Mk ? node.parentNode.previousSibling : node.parentNode.nextSibling; while (node && !bnode && loopnum >= 0) { bnode = Desc_Mk ? node.previousSibling : node.nextSibling; node = node.parentNode; loopnum--; } return bnode; } function FindNextPw(node, Pid) { let loopnum = default_settings.Pwnum; let isreg2 = false; let re = false; $(node).attr('urltype', 'head'); let bnode = Getnextnode(node); if (bnode) { do { let bh = bnode.nodeValue ? bnode.nodeValue : bnode.outerHTML; let bt = bnode.nodeValue ? bnode.nodeValue : bnode.innerText; if (bnode && bt) { if (SettingCheck('baiduPattern0', bt)) break; let pw = SettingGet('common_reg1', bt); if (isreg2) pw = SettingGet('common_reg3', bt); if (pw != null) { let retext = FormatGet('DownUrl', '', Pid, pw); let h = bh.replace(pw, retext); $(bnode).replaceWith(h); //$(bnode).remove(); re = true; break; } else { if (SettingCheck('common_reg2', bt)) isreg2 = !isreg2; } } bnode = Getnextnode(bnode); if (!bnode) break; loopnum--; } while (loopnum >= 0); } $(node).attr('urlline', re); $(node).attr('target', '_blank'); return re; } function ReplaceorPw(node, e, n) { let Pid = SettingGet('baiduPattern0', n[0]); if (!Pid) return e; let retext = FormatGet('DownUrl', n[0], Pid); let v = e.replace(n[0], retext); let pw = SettingGet('common_reg1', e); let ischeck = false; if (!pw) { var s = e.substring(e.indexOf(Pid) + Pid.length); if (SettingCheck('baiduPattern0', s)) { ischeck = true; } else { pw = SettingGet('common_reg4', s); } } if (pw) { let retext2 = FormatGet('DownUrl', '', Pid, pw); v = v.replace(pw, retext2); } else { FindNextPw(node, Pid); } if (ischeck) { v = ReplaceorPw(node, v, [s]); } return v; } function UrlLinePlugin(options) { this.settings = $.extend({}, default_settings, options); this._defaults = default_settings; this.init(); } var ULSetting; var Desc_Mk = false; var MenuID, setupID; UrlLinePlugin.prototype = { init: function () { console.log('init'); let gm_Setting = GM_getValue('UrlLineSetting'); ULSetting = $.extend({}, default_settings.defaults_ULSetting, gm_Setting); console.log(ULSetting); if (ULSetting.Desc_mk) { if (ULSetting.DescUrl && ULSetting.DescUrl.length > 0) { let DescTxt = `(${ULSetting.DescUrl.join('|')})`; if (DescTxt) { let DescUrlReg = new RegExp(DescTxt); if (DescUrlReg.test(location.href)) Desc_Mk = true; } } } addMenu(Desc_Mk); function addMenu(mk) { if (setupID) { if (ULSetting.Desc_mk) GM_unregisterMenuCommand(MenuID); GM_unregisterMenuCommand(setupID); } if (mk) { if (ULSetting.Desc_mk) MenuID = GM_registerMenuCommand('取消反向查找', OffDescUrl); setupID = GM_registerMenuCommand('设置', opensetup); } else { if (ULSetting.Desc_mk) MenuID = GM_registerMenuCommand('设置反向查找', OnDescUrl); setupID = GM_registerMenuCommand('设置', opensetup); } } function OnDescUrl() { let urls = location.href.match(default_settings.url_reg); if (urls) { if (!ULSetting.DescUrl) { ULSetting.DescUrl = [urls[0]]; } else { ULSetting.DescUrl = ULSetting.DescUrl.concat(urls[0]); } GM_setValue('UrlLineSetting', ULSetting); Desc_Mk = true; addMenu(Desc_Mk); console.log(ULSetting); } else { console.log('OnDescUrl 获取URL失敗'); } } function OffDescUrl() { let urls = location.href.match(default_settings.url_reg); if (urls) { let index = ULSetting.DescUrl.indexOf(urls[0]); if (index > -1) { ULSetting.DescUrl.splice(index, 1); GM_setValue('UrlLineSetting', ULSetting); Desc_Mk = false; addMenu(Desc_Mk); } console.log(ULSetting); } else { console.log('OffDescUrl 获取URL失敗'); } } function opensetup() { let content = document.createElement("div"); document.body.appendChild(content); content.outerHTML = `

设置

magnet链接
百度网盘链接
检测链接状态
记录提取码
反向查找
反向查找URL
`; $('#Magnet_mk').prop("checked", ULSetting.Magnet_mk); $('#Baidu_mk').prop("checked", ULSetting.Baidu_mk); $('#CHeck_mk').prop("checked", ULSetting.CHeck_mk); $('#Desc_mk').prop("checked", ULSetting.Desc_mk); $('#DescUrl').val(ULSetting.DescUrl.join('|')); $('#Log_mk').prop("checked", ULSetting.Log_mk); $('#btcolse').click(function () { $('#ULPContent').css("display", "none"); $('#ULPContent').remove(); }); $('#btsvae').click(function () { ULSetting.Magnet_mk = $('#Magnet_mk').prop("checked"); ULSetting.Baidu_mk = $('#Baidu_mk').prop("checked"); ULSetting.CHeck_mk = $('#CHeck_mk').prop("checked"); ULSetting.Desc_mk = $('#Desc_mk').prop("checked"); ULSetting.DescUrl = $('#DescUrl').val().split('|'); ULSetting.Log_mk = $('#Log_mk').prop("checked"); GM_setValue('UrlLineSetting', ULSetting); $('#ULPContent').css("display", "none"); $('#ULPContent').remove(); }); } }, Star: function () { var t = this; console.log("star"); if (/tieba\.baidu\.com/.test(location.href)) { setTimeout(function () { console.log("tieba"); t.StarReplace.call(t); }, 2000); } else { t.StarReplace.call(t); } document.addEventListener("keydown", function (e) { /* CTR + Z */ if (e.keyCode == 90 && e.ctrlKey) { t.StarReplace.call(t); } else if (e.keyCode == 88 && e.ctrlKey) { t.BaiduFilter(t); } }); }, StarReplace: function () { var obj = this; if (ULSetting.Magnet_mk) obj.MagnetReplace(obj); if (ULSetting.Baidu_mk) obj.BaiduReplace(obj); if (ULSetting.CHeck_mk) obj.BaiduCHeckStatus(); }, MagnetReplace: function (obj) { try { obj._subMagnetReplace(obj); } catch (err) { console.log("Magnet replace Error:" + err.message); } }, BaiduReplace: function (obj) { /* try { */ if (/pan\.baidu\.com/.test(location.href)) { obj.BaiduPassword(); obj.AddPWButton(); } else { obj._subBaiduReplace(); } /* } catch (err) { console.log("baidu replace Error:" + err.message); } */ }, BaiduPassword: function () { console.log("baiduPassword"); // $(".file-name").css('white-space','inherit'); $("[class*='global-icon-16']").css('float', 'left'); let url = location.href; if (location.hash) { url = location.href.substring(0, location.href.indexOf('#')) } let pwinput = $(".QKKaIE"); if (!pwinput) pwinput = $(":contains('请输入提取码'):last").nextAll("input"); if (!pwinput) pwinput = $(":contains('请输入提取码'):last").next().find("input"); let pwbtn = $("a:contains('提取文件')"); pwbtn.click(function () { let pw = pwinput.val(); if (pw) { let err = $("div:contains('提取码错误')"); if (err.length > 0) return; let pwmap = new Map(); if (ULSetting.Pwlist) pwmap = new Map(ULSetting.Pwlist); pwmap.set(url, pw); ULSetting.Pwlist = [...pwmap]; GM_setValue('UrlLineSetting', ULSetting); } }); if (pwbtn.length > 0) { //填寫密碼 if (location.hash && location.hash.length == 5) { pwinput.val(location.hash.slice(1, 5)); setTimeout(function () { pwbtn.click(); }, 50); } else { if (ULSetting.Pwlist) { let pwmap = new Map(ULSetting.Pwlist); let pw = pwmap.get(url); if (pw) { pwinput.val(pw); setTimeout(function () { pwbtn.click(); }, 50); } } } } }, _subMagnetReplace: function () { $("*").replaceText(default_settings.magnetfilter, ""); function magnetReplacer(match, p1, p2, p3, p4) { let value = match.replace("magnet:?", "").replace("xt=", "").replace("urn:btih:", ""); return default_settings.magneturl.UrlLineformat(value, match); } $("*").not("script").not("a[urlline='true']").replaceText(default_settings.magnetPattern, magnetReplacer); console.log(location.href + "is magnet replace"); }, _subBaiduReplace: function (obj) { function subpw() { let h = $(this).attr("href"); if (SettingCheck('baiduPattern0', h)) { let Pid = SettingGet('baiduPattern0', h); FindNextPw(this, Pid); } else { if (/\.bdimg.com/.test(h)) { let t = $(this).text() if (SettingCheck('baiduPattern0', t)) { let tPid = SettingGet('baiduPattern0', t); FindNextPw(this, tPid); } } } } $("*").not("script").not("a").replaceText(default_settings.baiduPattern0, function (match, p1, p2, p3) { let Pid = SettingGet('baiduPattern0', match); return FormatGet('Url', Pid, match); }, ReplaceorPw); $("a[urlline!='true']").each(subpw); console.log(location.href + "is baidu replace"); }, BaiduFilter: function (obj) { let r = window.getSelection(); if (r.rangeCount > 0) { for (let i = 0; i < r.rangeCount; i++) { let s = r.getRangeAt(i); let seltext = s.toString(); console.log('Selection' + seltext); let filtertext = seltext.replace(/([\u4e00-\u9fa5]|[::??!!])+/, ''); let Pid, purl, pw; if (SettingCheck('baiduPattern0', filtertext)) { Pid = SettingGet('baiduPattern0', filtertext); } if (!Pid) Pid = SettingGet('baiduPattern4', filtertext); if (Pid) { let lasttext = $.trim(filtertext.substring(filtertext.indexOf(Pid) + Pid.length)); if (lasttext) { pw = SettingGet('common_reg1', lasttext); if (!pw) pw = SettingGet('common_reg4', lasttext); } purl = FormatGet('baiduurl4', Pid, pw) } if (purl) { let a = $(purl)[0]; try { s.insertNode(a); let span = $('')[0]; s.surroundContents(span);//将创建的元素环绕在光标选中的文字周围 s.collapse(false); console.log('Selection Success' + s); } catch (e) { console.log('Selection Error' + e.message); } } } } }, AddPWButton: function () { console.log('AddPWButton'); $('div.slide-show-right').css('width', '500px'); let Pbutton = $(''); let button_a = $(''); let button_a_span = $('PanDown'); let Pbutton_span = $(''); button_a.append(button_a_span); Pbutton.append(button_a).append(Pbutton_span); Pbutton.click(function () { let url = window.location.href; url = url.replace('baidu.com', 'baiduwp.com'); window.open(url, "_blank"); }); $('div.module-share-top-bar div.bar div.x-button-box').append(Pbutton); //Pbutton.insertBefore($("a:contains('请输入提取码')")); }, BaiduCHeckStatus: function () { //$("a[urlline]").each(function () { $("a[urltype='head']").each(function () { let h = $(this).attr("href"); httpcheck(h, this); }); console.log(location.href + "is BaiduCHeckStatus"); let pageTexts = { isNotFound: "页面不存在", isDisabled: "无法访问", isDelete: '你来晚了', isLock: "请输入提取码", isOk: "失效时间", } let css = `.UL_ico_isLock{ background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAANlBMVEUAAAAQj98QldoTltkTldoSltsSltsSl9wRltwSldkQk9sQl9cRltsSltsSltsSltwSltv///8Shj1kAAAAEHRSTlMAEDBQYHCPn6+AQCC/z+/fCc+npAAAAAFiS0dEEeK1PboAAAAHdElNRQfjBxEQKzfUatRwAAAHG0lEQVR42u1d6XrjIAys75v0/Z92k3YTcDeG0SDA28/zu3U86EQI+ePjwoULFy5cuHDhwv+Hqm6atuv6fhjHoZ+mrm3mpfRLCSnMXb9u5vMdbuPUzlXpN4Q4rO8Z7DFOdelX9aDGSLzIdKckM/cSEn9h+pNxqadNzuIb23QaD1B1NIu/OtaWpvAApVL/oC8tFh0axanMqxKLbw0rRWWONI2TUKlHbRoPDLmDfqVmGz/RZeWhr1UWW74YWfXpaDzQZ+LRptKqF0zzC8SRSyh1QutwsSX2xOnV6omk6pVHrZ5Ip16LakYSxpYoOta3vDxSGUqdzTwsTILgOBfgkYJJV4THHbMyj0I07lDdBxfkocokXxh8CzXtKmPnDpQsvoTf3UPHd5XncWeiEOOr7PH8HbZ4HpnzqyOssUSy5rs+RBYl2rhfN9s49l3TTNOwxqpolBNeYgzd9PXeRpshalEiDD7CQMxQv/vhGC4RZjLxNI6Xj6dCm0lDr503gPEbNNJM2AhiupA2s5K+ZVUsJJ+oSSYTw4NMTbC8iGXCbOI5j4XmdyQTwnNxeyk8TyWZiMt2FaVY5qdfme8hfTOft3H4p9Vh5lZKSoTLsfbFwXl/+r79OO/kjryE9UdO8DfX77471Nq9BeneZfbOhV9Xsea3r7k7juIC7iDhwSWL7nof1sFca6WUy0hEQlmIm5566i6O2CpKJIKoGC0QXzB1PTSlwQLHxSUndqn9vtt5Ec4Fw1kwF0OcoBvQTEc3KMcFi4QTiK1shrI0x1y5rTQqEm6ZrKkHszTrQTlzB0US696BYLrgpAP/7wOXOljNAjSzk/yxd9XUTd1ZJOAk3hYOOfFDuhX7aChNe9HmjAQ6M+E0yzpfaCNjdYvLHAHdWrglsmEditY2lHD7BaBaR56y2VwQWuLx9edkUTasW2SHn81PsBWNNElnJQ5A+ixrveCW7KUaXLoV9lvkcy0R8AGvFJi0yWBMZIuA0pV4qSLpf4P5FtsEKzXeJpZIwEhYE7FVWdDrWa9D/mLASBgfYta+s05raSBYFW/aicoc/aVAuYmsKjemGnmA9xuJ1EQ2tc7DVkrFbyTCp62KzXqVsH/VayRCF9LrNh0Kayq+R8kqpaN286RMJr6QKMrgbupNoLJqsO9EUZT6JrjiJVpIn9uSOK3o7pB3kIhkVHpOkpZviUh8KylIF3Z7tKobNi7V2Iadhkrcpsf/Sh7jCjbuvtWu31qSrRwTkewNwNo7tLQOE8kW/thrSsKI1Yj43jRH2yXJng4Ra+sKTcF2VSTp93H+K9nn2nCkcCFxVCYieYolotC9yRVVjkO7xIsL6z8BUESOI5lE26OrB/FE2t9CpPstRI4lQtlIOSLHNkK5jItINJFj90sFxHJEjgOiJEU5AZHjTbsk+z01Eck7nYDIx+8nIsn/UCLr1N0Rmi3EEPHd8hFskUAir42kP9lniPiqKIKNJkhkwd6QIeLrNxVsNKVE/K6dIeIrEAoeU56Ir7Am8EDliXjPdfHCTnEi/sskeGG/OBF/7Rl3W8WJ+Jvk8a1VcSL+Ijpu7cWJBHo44CSlNJHQNWTYSEoTCd0jgR9UmkjonAk2ktJEgq2/qJEUJhK+qY8aSWEi4atWaCUFJFInIgJc2wV1CyTyyrX9OwQpEWQGBKhb6Fa3XR6oJ386KiWCXE8C/VbZ4gN0XQHTraJEgl2/X8ASR1Ui0qM3rOsCezPrNhQGHq4yIugcC6gBzBJRGJ3Sy4hgmgXWslvZn/tX2K4KpNfw7AdEWZwDvGiROM4UOf1DBYLJ1/XkkS0DbkshotaCYRyAB941GcV0cZhW+Mu4QDCR7GNS0/UUuv1AG8TeRNNRgIVJMvMZqNnKWhAB56ExhewnkGvbwhZEQCQJpr8C/k/aE4psS5SHWmJBRPyjgEvVHjSKtBTK1QDJuHSZIOMgGcOEkgXFbmxo7CvlKqGsdlWaLYyN1Oe6v8FkcOyiuaAflDGke8Hvc9xGHivew007/Ewz4lHww77ZW5tpEOMj6XF6KRB1PSLJ11I4xGVE0qto6RA7Df8sZhKfRJzDTDQ+GVF0QvkTKru4qJmwOlDa+hRnoraFKzxOWvEmbVEnrHmTtmQ40f2cSrlh5Zo3zb9QKFlRvmn+QBHfleSDQwVGyFODisOgZ32TMMm+JcrO4yF5JPwkV043rFWfOUAuQwmPOo9FHvXK8SHBHOqVWK2eSL1DSa9WT9RJg2MmcXxDPOkHht40IhBpomM+rbJIoF8mq1Ylo2LWcl+dV6RihnI0Hlh0qJip9AfaH1Nqoj3YdgIaX5hjMjDTl9WpHyA/h2TWJr+/DaGVfup869vzsfhG1Q4gGTO2p9KoN1jayfs5NLON/elJOHSaaVjX7fYUkDG3bRuHbq7Pqk1hVMtS/b9vf+HChQsXLly4cOHj4w/uz/+ai4I4RgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0wNy0xN1QxNjo0Mzo1NSswODowMF0bWnQAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTktMDctMTdUMTY6NDM6NTUrMDg6MDAsRuLIAAAAAElFTkSuQmCC") center left no-repeat; padding-left: 20px; background-size:18px 18px;}` + `.UL_ico_isOk{ background: transparent url("data:image/png;base64,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") center left no-repeat; padding-left: 20px; background-size:16px 16px;}` + `.UL_ico_isDisabled{ background: transparent url("data:image/png;base64,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") center left no-repeat; padding-left: 20px; background-size:16px 16px;}` + `.UL_ico_isUnknown{ background: transparent url("data:image/png;base64,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") center left no-repeat; padding-left: 20px; background-size:16px 16px;}`; let ulbody = document.getElementsByTagName("body")[0]; if (!ulbody) return; let ulstyle = document.createElement("style"); ulstyle.innerHTML = css; ulbody.appendChild(ulstyle); function httpcheck(url, ele) { GM_xmlhttpRequest( { url: url, method: "GET", headers: { "Content-Type": "application/x-www-form-urlencoded" }, onload: function (response) { if (response.status == 200 || response.status == '200') { let responseText = response.responseText; let status; if (!responseText) { //为空,地址出现了重定向 或 其它情况 status = "isUnknown"; } else { responseText = responseText.replace(/\s+/g, ""); if (responseText.length > 15000) { responseText = responseText.substring(0, 14999); } if (responseText.indexOf(pageTexts.isLock) != -1) { status = "isLock"; } else if (responseText.indexOf(pageTexts.isOk) != -1) { status = "isOk"; } else if (responseText.indexOf(pageTexts.isDisabled) != -1) { status = "isDisabled"; } else if (responseText.indexOf(pageTexts.isDelete) != -1) { status = "isDisabled"; } else if (responseText.indexOf(pageTexts.isNotFound) != -1) { status = "isDisabled"; } else { status = "isUnknown"; } } ele.classList.add('UL_ico_' + status); } } } ); } } }; var e = new UrlLinePlugin(); e.Star(); })();