// ==UserScript== // @name HTMLMI:MJJ上班划水摸鱼 LOC增强体验专属神器 // @name:en HTMLMI:MJJ上班划水摸鱼 LOC增强体验专属神器 // @name:zh HTMLMI:MJJ上班划水摸鱼 LOC增强体验专属神器 // @name:ja HTMLMI:MJJ上班划水摸鱼 LOC增强体验专属神器 // @description 自定义工作环境、自定义工作模式、自定义背景、显示头像开关,显示签名开关 去除DIY空间样式 // @description:en 自定义工作环境、自定义工作模式、自定义背景、显示头像开关,显示签名开关 去除DIY空间样式 // @description:ja 自定义工作环境、自定义工作模式、自定义背景、显示头像开关,显示签名开关 去除DIY空间样式 // @icon https://ae03.alicdn.com/kf/H89545e8e9881422ea4079294a70ddce8J.png // @author htmlmi.com // @license GPL-3.0-only // @create 2020-04-15 // @run-at document-start // @version 1.3 // @include *://hostloc.com/* // @include *://www.hostloc.com/* // @exclude *://www.hostloc.com/search.php* // @namespace 4370142@qq.com // @supportURL https://www.hostloc.com/thread-675435-1-1.html // @home-url https://greasyfork.org/zh-TW/scripts/14178 // @home-url2 https://github.com/langren1353/GM_script // @homepageURL https://greasyfork.org/zh-TW/scripts/14178 // @copyright 2015-2020, AC // @lastmodified 2020-04-15 // @feedback-url https://www.hostloc.com/thread-675435-1-1.html // @note 2020.04-15 第一版面试 欢迎MJJ使用 // @grant GM_getValue // @grant GM.getValue // @grant GM_setValue // @grant GM.setValue // @grant GM_addStyle // @grant GM_xmlhttpRequest // @grant GM_getResourceText // @grant GM_registerMenuCommand // @downloadURL none // ==/UserScript== !function () { let isdebug = false; let isLocalDebug = isdebug || false; let debug = isdebug ? console.log.bind(console) : function () {}; let acCssLoadFlag = false; let inExtMode = typeof(isExtension) != "undefined"; let inGMMode = typeof(GM_info.scriptHandler) != "undefined"; // = "Greasemonkey" || "Tampermonkey" || "ViolentMonkey" // 新版本的GreaseMonkey是带有scriptHandler,但是没有GM_getResourceText;旧版本不带scriptHandler,但是有GM_getResourceText let isNewGM = typeof(GM_info.scriptHandler) != "undefined" && GM_info.scriptHandler.toLowerCase() == "greasemonkey"; let useCNLan = true; // 暂定,之后需要逻辑处理 debug("程序开始"); if (inExtMode == true && inGMMode == true) { console.log("扩展模式-脚本不启用"); return; } if (typeof(GM) == "undefined") { // 这个是ViolentMonkey的支持选项 GM = {}; GM.setValue = GM_setValue; GM.getValue = GM_getValue; } (function () { debug("程序执行"); let needDisplayNewFun = true; // 本次更新是否有新功能需要展示 if (window.NodeList && !NodeList.prototype.forEach) { NodeList.prototype.forEach = function (callback, thisArg) { thisArg = thisArg || window; for (var i = 0; i < this.length; i++) { callback.call(thisArg, this[i], i, this); } }; } let ACConfig = {}; /*存在对未初始化变量的初始化赋值-无需担心迭代兼容问题*/ let DefaultConfig = { isHtmlmi: true, isDeleteAD:true, sDiy:true, isAcgbg:true, isRightDisplayEnable:true, isCounterEnable:true, isSimple:true, isWord:true, oldVersion: "", lastSaveTime: new Date().getTime(), }; let CONST = { hasNewFuncNeedDisplay: true, sortIndex: 1, isGoogleImageUrl: false, AdsStyleMode: ACConfig.AdsStyleMode_Baidu, keySite: "baidu", StyleManger: function () {}, curHosts: [], }; let curSite = { SiteTypeID: 1, }; let SiteType = { OTHERS: 8 }; /**初始化所有的设置**/ Promise.all([GM.getValue("Config")]).then(function (data) { if (data[0] != null) { try{ ACConfig = JSON.parse(data[0]); }catch (e) { ACConfig = data[0]; } } else { ACConfig = DefaultConfig; } for(var key in DefaultConfig){ if(typeof(ACConfig[key]) == "undefined"){ ACConfig[key] = DefaultConfig[key]; } } if(ACConfig.isUserStyleEnable == false && (new Date().getTime() - ACConfig.lastSaveTime > 2592000000)){ // 大约30天时间 // 如果用户取消了设置,并且长时间(3天)没有进行过处理,那么直接将数据置空 -> 用于刷新数据 console.log("ac-baidu css reset for time"); ACConfig.lastSaveTime = new Date().getTime(); ACConfig.UserStyleText = DefaultConfig.UserStyleText; } callback(); }).catch(function (except) { console.log(except); }); function Reg_Get(HTML, reg) { let RegE = new RegExp(reg); try { return RegE.exec(HTML)[1]; } catch (e) { return ""; } } function getElementByXpath(e, t, r) { r = r || document, t = t || r; try { return r.evaluate(e, t, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; } catch (t) { return void console.error("无效的xpath"); } } function getAllElementsByXpath(e, t, r) { return r = r || document, t = t || r, r.evaluate(e, t, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); } function getAllElements(e, t, r, n, o) { var i, s = []; if (!e) return s; if (r = r || document, n = n || window, o = o || void 0, t = t || r, "string" == typeof e) i = 0 === e.search(/^css;/i) ? function getAllElementsByCSS(e, t) { return (t || document).querySelectorAll(e); }(e.slice(4), t) : getAllElementsByXpath(e, t, r); else { if (!(i = e(r, n, o))) return s; if (i.nodeType) return s[0] = i, s; } return function makeArray(e) { var t, r, n, o = []; if (e.pop) { for (t = 0, r = e.length; t < r; t++) (n = e[t]) && (n.nodeType ? o.push(n) : o = o.concat(makeArray(n))); return a()(o); } if (e.item) { for (t = e.length; t; ) o[--t] = e[t]; return o; } if (e.iterateNext) { for (t = e.snapshotLength; t; ) o[--t] = e.snapshotItem(t); return o; } }(i); } function callback() { if (ACConfig.oldVersion == GM_info.script.version) { CONST.hasNewFuncNeedDisplay = false; } else { CONST.hasNewFuncNeedDisplay = needDisplayNewFun; } !function () { let BaiduVersion = " V" + GM_info.script.version; let insertLocked = false; if(GM_getResourceText){ let config = GM_getResourceText("SiteConfigRules"); eval(config); } try { if (curSite.SiteTypeID != SiteType.OTHERS) { RAFFunction(function(){ rapidDeal(); // 定期调用,避免有时候DOM插入没有执行导致的问题 }, 800); } } catch (e) { console.log(e); } function MainCallback(e) { if (e.target != null && typeof(e.target.className) == "string" && e.target.className.toUpperCase().indexOf("AC-") == 0) { return; } //屏蔽掉因为增加css导致的触发insert动作 rapidDeal(); } //去论坛所有广告 function AutoRefresh() { if (!ACConfig.isHtmlmi) { AC_addStyle("body {background:#fff; }", "AC-Htmlmi"); }else { if (!ACConfig.isDeleteAD) { }else { AC_addStyle(".a_h, .a_mu, .a_c, .a_p, .a_f, .a_t {display: none;}.a_pt, .a_pb { display: none;}", "AC-DeleteAD"); }; //自定LOGOO if (!ACConfig.isLogo) { }else { AC_addStyle("#hd h2 img { display: none;} div.hdc.cl h2 a{width: 250px; height: 70px; background: url(https://htmlmi.gitee.io/loc/logo/htmlmi.png) no-repeat;display: inline-flex;}", "AC-Htmlmi"); if (!ACConfig.isGithub) { }else { AC_addStyle("div.hdc.cl h2 a{background: url(https://htmlmi.gitee.io/loc/logo/github.png) no-repeat;}", "AC-Github"); }; if (!ACConfig.isGitee) { }else { AC_addStyle("div.hdc.cl h2 a{background: url(https://htmlmi.gitee.io/loc/logo/gitee.png) no-repeat;}", "AC-Gitee"); }; if (!ACConfig.isDing) { }else { AC_addStyle("div.hdc.cl h2 a{background: url(https://htmlmi.gitee.io/loc/logo/ding.png) no-repeat;}", "AC-Ding"); }; if (!ACConfig.isJD) { }else { AC_addStyle("div.hdc.cl h2 a{background: url(https://htmlmi.gitee.io/loc/logo/jd.png) no-repeat;}", "AC-JD"); }; if (!ACConfig.isPdd) { }else { AC_addStyle("div.hdc.cl h2 a{background: url(https://htmlmi.gitee.io/loc/logo/pdd.png) no-repeat;}", "AC-Pdd"); }; }; if (!ACConfig.isAvatar) { AC_addStyle(".pls .avatar { margin: 10px 25px;}.pls .avatar img {padding: 0px;width: 110px;height: 110px; border-radius: 50%;}", "AC-Avatar"); }else { AC_addStyle(".pls .avatar { margin: 20px 5px; margin-top: -42px;}.pls .avatar img { padding: 0px; width: 25px; height: 25px; border-radius: 50%;}.pls .pi { padding-left: 35px;}", "AC-Avatar"); }; if (!ACConfig.isDiy) { }else { for(var stylesheet of document.styleSheets){ if(stylesheet.ownerNode.id ==='diy_style'){ for(var i=stylesheet.cssRules.length-1;i>=0 ;i--){ stylesheet.deleteRule(i); } break; } } }; if (!ACConfig.isSimple) { }else { AC_addStyle("a#post_reply {background: url(https://www.hostloc.com/forum.php?mod=attachment&aid=MTM0MjI4fGY5M2U2ZDBhfDE1ODY5ODQ2MjZ8MzgyMDB8NjY0NTE2&noupdate=yes) no-repeat;width: 78px; height: 35px;}a#newspecial { background: url(https://www.hostloc.com/forum.php?mod=attachment&aid=MTM0MjI3fGI4MWY2ODQ4fDE1ODY5ODQ2MjZ8MzgyMDB8NjY0NTE2&noupdate=yes) no-repeat; width: 78px; height: 35px;}#nv li.a { background: #005AB4;} #nv { background: #2B7ACD;}.pls {background: #fff;}.pls span img {display: none;}.pbg2{background: #eee;}.pbr2{background: #ccc;}.tshare.cl { display: none;}", "AC-Simple"); }; if (!ACConfig.isAcgbg) { }else { AC_addStyle(".pgs a img { display: none;}div#postlist { background: url(https://htmlmi.gitee.io/loc/images/mask.png) no-repeat,url(https://www.htmlmi.com/loc.php) no-repeat; background-position-x: right;}", "AC-Acgbg"); }; if (!ACConfig.isBackground) { AC_addStyle("body {background:#fff; }", "AC-Background"); }else { if (!ACConfig.isWord) { }else { AC_addStyle("body {background: url(https://s1.ax1x.com/2020/04/15/J9bEq0.png) no-repeat top center;background-size: cover; background-attachment: fixed;}#toptb{ border-bottom: 0px;background: #ffffff00;margin-bottom: 190px;}.wp { background: #fff;}", "AC-Word"); }; if (!ACConfig.isExcel) { }else { AC_addStyle("body {background: url(https://ae02.alicdn.com/kf/Hcb53d6f1f095460990290a19e0e0edf4a.png) no-repeat top center;background-size: cover; background-attachment: fixed;}#toptb{ border-bottom: 0px;background: #ffffff00;margin-bottom: 190px;}.wp { background: #fff;}", "AC-Word"); }; if (!ACConfig.isPPT) { }else { AC_addStyle("body {background: url(https://ae04.alicdn.com/kf/H28b05979f79c488ab5ed0fb7e33942925.png) no-repeat top center;background-size: cover; background-attachment: fixed;}#toptb{ border-bottom: 0px;background: #ffffff00;margin-bottom: 190px;}.wp { background: #fff;}", "AC-Word"); }; if (!ACConfig.isAdobePS) { }else { AC_addStyle("body {background: url(https://ae01.alicdn.com/kf/H9b6f3c926b7c4f21b4558725f5b9eefbI.png) no-repeat top center;background-size: cover; background-attachment: fixed;}#toptb{ border-bottom: 0px;background: #ffffff00;margin-bottom: 110px;}.wp { background: #fff;}", "AC-Word"); }; }; }; if (!ACConfig.isRightDisplayEnable) { AC_addStyle(".pls .avatar img { display: none;}", "AC-RightRemove"); }; if (!ACConfig.isCounterEnable) { AC_addStyle(".sign {display: none;}", "AC-Sign"); } /*"自定义"按钮效果*/ AC_addStyle(".newFuncHighLight{color:red;font-weight: 100;background-color: yellow;font-weight: 600;}#sp-ac-container label{display:inline;}#u{width:319px}#u #myuser{display:inline}#myuser,#myuser .myuserconfig{padding:0;margin:0}#myuser{display:inline-block;}#myuser .myuserconfig{display:inline-block;line-height:1;background:#2866bd;color:#fff;font-weight:700;text-align:center;padding:6px;border:2px solid #E5E5E5;border-radius: 30px;}#myuser .myuserconfig{box-shadow:0 0 10px 3px rgba(0,0,0,.1)}#myuser .myuserconfig:hover{background:#2970d4 !important;color:#fff;cursor:pointer;border:2px solid #73A6F8;}", "AC-MENU_Btn"); /*自定义页面内容效果*/ AC_addStyle('body[baidu] #sp-ac-container .container-label:not([class*="baidu"])>label,\n' + 'display:none;\n' + '}#sp-ac-container labelHide{cursor:pointer;margin-left:8%;color:blue}#sp-ac-container .linkhref,#sp-ac-container labelHide:hover{color:red}#sp-ac-container .linkhref:hover{font-weight:bold}#sp-ac-container label.menu-box-small{max-width:16px;max-height:16px;cursor:pointer;display:inline-block}.AC-CounterT{background:#FD9999}body > #sp-ac-container{position:fixed;top:3.9vw;right:8.8vw}#sp-ac-container{z-index:999999;text-align:left;background-color:white}#sp-ac-container *{font-size:13px;color:black;float:none}#sp-ac-main-head{position:relative;top:0;left:0}#sp-ac-span-info{position:absolute;right:1px;top:0;font-size:10px;line-height:10px;background:none;font-style:italic;color:#5a5a5a;text-shadow:white 0px 1px 1px}#sp-ac-container input{vertical-align:middle;display:inline-block;outline:none;height:auto;padding:0px;margin-bottom:0px;margin-top:0px}#sp-ac-container input[type="number"]{width:50px;text-align:left}#sp-ac-container input[type="checkbox"]{border:1px solid #B4B4B4;padding:1px;margin:3px;width:13px;height:13px;background:none;cursor:pointer;visibility:visible;position:static}#sp-ac-container input[type="button"]{border:1px solid #ccc;cursor:pointer;background:none;width:auto;height:auto}#sp-ac-container li{list-style:none;margin:3px 0;border:none;float:none;cursor:default;}#sp-ac-container fieldset{border:2px groove #ccc;-moz-border-radius:3px;border-radius:3px;padding:4px 9px 6px 9px;margin:2px;display:block;width:auto;height:auto}#sp-ac-container legend{line-height:20px;margin-bottom:0px}#sp-ac-container fieldset > ul{padding:0;margin:0}#sp-ac-container ul#sp-ac-a_useiframe-extend{padding-left:40px}#sp-ac-rect{position:relative;top:0;left:0;float:right;height:10px;width:10px;padding:0;margin:0;-moz-border-radius:3px;border-radius:3px;border:1px solid white;-webkit-box-shadow:inset 0 5px 0 rgba(255,255,255,0.3),0 0 3px rgba(0,0,0,0.8);-moz-box-shadow:inset 0 5px 0 rgba(255,255,255,0.3),0 0 3px rgba(0,0,0,0.8);box-shadow:inset 0 5px 0 rgba(255,255,255,0.3),0 0 3px rgba(0,0,0,0.8);opacity:0.8}#sp-ac-dot,#sp-ac-cur-mode{position:absolute;z-index:9999;width:5px;height:5px;padding:0;-moz-border-radius:3px;border-radius:3px;border:1px solid white;opacity:1;-webkit-box-shadow:inset 0 -2px 1px rgba(0,0,0,0.3),inset 0 2px 1px rgba(255,255,255,0.3),0px 1px 2px rgba(0,0,0,0.9);-moz-box-shadow:inset 0 -2px 1px rgba(0,0,0,0.3),inset 0 2px 1px rgba(255,255,255,0.3),0px 1px 2px rgba(0,0,0,0.9);box-shadow:inset 0 -2px 1px rgba(0,0,0,0.3),inset 0 2px 1px rgba(255,255,255,0.3),0px 1px 2px rgba(0,0,0,0.9)}#sp-ac-dot{right:-3px;top:-3px}#sp-ac-cur-mode{left:-3px;top:-3px;width:6px;height:6px}#sp-ac-content{padding:0;margin:0px;-moz-border-radius:3px;border-radius:3px;border:1px solid #A0A0A0;-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.3);-moz-box-shadow:-2px 2px 5px rgba(0,0,0,0.3);box-shadow:-2px 2px 5px rgba(0,0,0,0.3)}#sp-ac-main{padding:5px;border:1px solid white;-moz-border-radius:3px;border-radius:3px;background-color:#F2F2F7;background:-moz-linear-gradient(top,#FCFCFC,#F2F2F7 100%);background:-webkit-gradient(linear,0 0,0 100%,from(#FCFCFC),to(#F2F2F7));background: url(https://ae04.alicdn.com/kf/H69d807ece951402b9e44ef561b42ef2cd.png) no-repeat;}#sp-ac-foot{position:relative;left:0;right:0;min-height:20px}#sp-ac-savebutton{position:absolute;top:0;right:2px}#sp-ac-container .endbutton{margin-top:8px}#sp-ac-container .sp-ac-spanbutton{border:1px solid #ccc;-moz-border-radius:3px;border-radius:3px;padding:2px 3px;cursor:pointer;background-color:#F9F9F9;-webkit-box-shadow:inset 0 10px 5px white;-moz-box-shadow:inset 0 10px 5px white;box-shadow:inset 0 10px 5px white}#sp-ac-container .sp-ac-spanbutton:hover{background-color:#DDD}label[class="newFunc"]{color:blue}', "AC-MENU_Page"); } AutoRefresh(); function rapidDeal() { InsertSettingMenu(); ShowSetting(); } function AutoLoadCustomCSS(){ // 按键触发reload var cssValue = document.querySelector("#sp-ac-userstyleTEXT").value; AC_addStyle(cssValue, "AC-userStyle", "head", true); // 用户自定义的样式表 } function ACtoggleSettingDisplay(e) { e.stopPropagation(); // 显示?隐藏设置界面 if(document.querySelector(".iframe-father iframe") == null){ document.querySelector(".iframe-father").insertAdjacentHTML("beforeend", ""); } setTimeout(function () { if (document.querySelector("#sp-ac-content").style.display == 'block') { document.querySelector("#sp-ac-content").style.display = 'none'; } else { ACConfig.oldVersion = GM_info.script.version; GM.setValue("Config", JSON.stringify(ACConfig)); document.querySelector(".ac-newversionDisplay").style.display = 'none'; document.querySelector("#sp-ac-content").style.display = 'block'; } }, 100); return false; } function ShowSetting() { if (curSite.SiteTypeID == SiteType.OTHERS) return; // 如果不存在的话,那么自己创建一个-copy from superPreload if (document.body != null && document.querySelector("#sp-ac-container") == null) { let Container = document.createElement('div'); Container.id = "sp-ac-container"; if(useCNLan){ Container.innerHTML = "
"; } try { document.body.appendChild(Container); } catch (e) { console.log(e); } try { document.querySelector("#sp-ac-savebutton").addEventListener("click", function () { // 点击之后的保存功能 let imgurl = document.querySelector("#sp-ac-faviconUrl").value.trim(); imgurl = (imgurl == "https://ae03.alicdn.com/kf/H89545e8e9881422ea4079294a70ddce8J.png") ? "" : imgurl; imgurl = (imgurl == "" || imgurl == null) ? "https://ae03.alicdn.com/kf/H89545e8e9881422ea4079294a70ddce8J.png" : imgurl; ACConfig.isFaviconEnable = document.querySelector("#sp-ac-favicon").checked; ACConfig.defaultFaviconUrl = imgurl; ACConfig.isRightDisplayEnable = document.querySelector("#sp-ac-right").checked; ACConfig.isHtmlmi = document.querySelector("#sp-ac-htmlmi").checked; ACConfig.isDeleteAD = document.querySelector("#sp-ac-ad").checked; ACConfig.isAvatar = document.querySelector("#sp-ac-avatar").checked; ACConfig.isDiy = document.querySelector("#sp-ac-diy").checked; ACConfig.isAcgbg = document.querySelector("#sp-ac-acg").checked; ACConfig.isCounterEnable = document.querySelector("#sp-ac-counter").checked; ACConfig.isSimple = document.querySelector("#sp-ac-simple").checked; ACConfig.isUserStyleEnable = document.querySelector("#sp-ac-userstyle").checked; ACConfig.isBackground = document.querySelector("#sp-ac-background").checked; ACConfig.isWord = document.querySelector("#sp-ac-word").checked; ACConfig.isExcel = document.querySelector("#sp-ac-excel").checked; ACConfig.isLogo = document.querySelector("#sp-ac-logo").checked; ACConfig.isGithub = document.querySelector("#sp-ac-github").checked; ACConfig.isGitee = document.querySelector("#sp-ac-gitee").checked; ACConfig.isDing = document.querySelector("#sp-ac-ding").checked; ACConfig.isJD = document.querySelector("#sp-ac-jd").checked; ACConfig.isPdd = document.querySelector("#sp-ac-pdd").checked; ACConfig.isPPT = document.querySelector("#sp-ac-ppt").checked; ACConfig.isAdobePS = document.querySelector("#sp-ac-ps").checked; if(ACConfig.isUserStyleEnable){ ACConfig.UserStyleText = document.querySelector("#sp-ac-userstyleTEXT").value.trim(); } ACConfig.lastSaveTime = new Date().getTime(); GM.setValue("Config", JSON.stringify(ACConfig)); setTimeout(function () { window.location.reload(); }, 400); }, false); initBlockPage(); document.querySelector("#sp-ac-blockdiybutton").addEventListener("click", function () { document.querySelector(".setting-main").style = "display:none;"; document.querySelector(".setting-second").style = ""; }); document.querySelector(".menu-box-container").addEventListener("click", function (e) { let cur = e.srcElement || e.target; if (typeof(cur.dataset.color) != "undefined") { document.querySelector(".sp-ac-menuhuyanColor").value = cur.dataset.color; CONST.StyleManger.loadHuYanStyle(cur.dataset.color); } e.stopPropagation(); }); document.querySelector(".sp-ac-menuhuyanColor").addEventListener("input", function (e) { CONST.StyleManger.loadHuYanStyle(document.querySelector(".sp-ac-menuhuyanColor").value); e.stopPropagation(); }); document.querySelectorAll("labelHide").forEach(function (per) { per.addEventListener("click", function (e) { let cur = e.srcElement || e.target; let className = cur.parentNode.className.replace("container-label ", ""); AC_addStyle(".XX>label,.XX>br{display:unset !important;}.XX>labelhide{display:none !important;}".replace(/XX/gm, className), "AC-ShowHideItem-" + className, "body"); e.stopPropagation(); }); }); if(ACConfig.isUserStyleEnable){ document.querySelector("#sp-ac-userstyleTEXT").addEventListener("paste", AutoLoadCustomCSS); document.querySelector("#sp-ac-userstyleTEXT").addEventListener("keyup", AutoLoadCustomCSS); document.querySelector("#sp-ac-userstyleTEXT").addEventListener("change", AutoLoadCustomCSS); } } catch (e) { } } let allNodes = document.querySelectorAll(".AC-faviconT, .AC-CounterT"); for (let i = 0; i < allNodes.length; i++) { if (allNodes[i].getAttribute('acClick') == null) { allNodes[i].setAttribute('acClick', '1'); try { allNodes[i].addEventListener('click', function (e) { return ACtoggleSettingDisplay(e); }, true); } catch (e) { console.log(e); } } } try { document.querySelector("body>#sp-ac-container").addEventListener('click', function (e) { e.stopPropagation(); // 阻止点击自身的时候关闭 }, false); document.querySelector("body").addEventListener('click', function (e) { safeRemove(function(){ document.querySelector("#sp-ac-content").style.display = 'none'; }); }, false); document.querySelector("#sp-ac-cancelbutton").addEventListener('click', function (e) { safeRemove(function(){ document.querySelector("#sp-ac-content").style.display = 'none'; e.stopPropagation(); }); }, false); } catch (e) { } } function InsertSettingMenu() { if ((curSite.SiteTypeID != SiteType.OTHERS) && document.querySelector("#myuser") == null) { try { let parent = document.querySelector("#um > p:nth-child(3)"); let userAdiv = document.createElement("div"); userAdiv.id = "myuser"; if(useCNLan){ userAdiv.innerHTML = " "; } parent.insertBefore(userAdiv, parent.childNodes[0]); document.querySelector("#myuser .myuserconfig").addEventListener("click", function (e) { return ACtoggleSettingDisplay(e); }, true); } catch (e) { } } } }(); // 读取个人设置信息 function RAFFunction(callback, period){ // 一秒60次,对应1秒1000ms let needCount = period / 1000 * 60; let times = 0; let hasFinish = false; function step(){ if(!hasFinish) requestAnimationFrame(step); if(times == 0){ times = needCount; hasFinish = callback(); // 只有返回true才会终止,不返回也会继续 } times--; } requestAnimationFrame(step); } function AC_addStyle(css, className, addToTarget, isReload, initType) { // 添加CSS代码,不考虑文本载入时间,只执行一次-无论成功与否,带有className RAFFunction(function() { let addTo = document.querySelector(addToTarget); if (typeof(addToTarget) == "undefined") addTo = (document.head || document.body || document.documentElement || document); isReload = isReload || false; // 默认是非加载型 initType = initType || "text/css"; // 如果没有目标节点(则直接加) || 有目标节点且找到了节点(进行新增) if (typeof(addToTarget) == "undefined" || (typeof(addToTarget) != "undefined" && document.querySelector(addToTarget) != null)) { let cssNode = document.createElement("style"); if (className != null) cssNode.className = className; cssNode.setAttribute("type", initType); cssNode.innerHTML = css; try { addTo.appendChild(cssNode); } catch (e) { console.log(e.message); } return true; } }, 20); } //失去焦点关闭设置窗口 function safeRemove(cssSelector_OR_NEWfunction) { if (typeof(cssSelector_OR_NEWfunction) == "string") { try { let removeNodes = document.querySelectorAll(cssSelector_OR_NEWfunction); for (let i = 0; i < removeNodes.length; i++) removeNodes[i].remove(); } catch (e) { } } else if (typeof(cssSelector_OR_NEWfunction) == "function") { try { cssSelector_OR_NEWfunction(); } catch (e) { } } else { console.log("未知命令:" + cssSelector); } } function FSBaidu() { debug("初始化FSBAIDU"); } } })(); }();