您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自分用、dom取得等の機能追加。
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/435697/1044718/myUtils.js
// ==UserScript== // @name myUtils // @description 自分用、dom取得等の機能追加。 // @include * // @noframes // ==/UserScript== class my{ //dependency:myDomAppendBro static addStyle(css,className=void(0)){ this.domAppendBro('style',document.head,css,`type`,'text/css',`class`,className) }; //my.domAppendSon('tag',document.body,'content','idk','true','data-s') static domAppendSon(tag,dom,content){ if(!tag) return; const son=typeof tag=='string'? document.createElement(tag):tag instanceof HTMLElement? tag:void(0),len=arguments.length; if(dom instanceof HTMLElement||dom instanceof DocumentFragment)dom.append(son); if(content)son.append(document.createTextNode(content)); if (len>3) { for(let i=3;i<len;i+=2){ son.setAttribute([arguments[i]],arguments[i+1]) } }return son; }; //my.domAppendBro('div',document.body,'','suck','1','dick') static domAppendBro(tag,dom,content){ if(!tag) return; const bro=typeof tag=='string'? document.createElement(tag):tag instanceof HTMLElement? tag:void(0),len=arguments.length; if(dom instanceof HTMLElement||dom instanceof DocumentFragment)dom.parentNode.insertBefore(bro,dom.nextElementSibling); if(content)bro.append(document.createTextNode(content)); if (len>3) { for(let i=3;i<len;i+=2){ bro.setAttribute([arguments[i]],arguments[i+1]) } }return bro; }; //enable or disable style with className static switchStyle(...styleClassNames){ styleClassNames.forEach(e=>{ const style=document.querySelectorAll('style.'+e).forEach(e=>{ e.type?e.type='':e.type="text/css"; }); }) }; //my.seconds2date(new Date().getTime()) static seconds2date(seconds){ const date=new Date(seconds),year=date.getFullYear(),month=date.getMonth()+1,day=date.getDate(); const hour=date.getHours(),minute=date.getMinutes(),second=date.getSeconds(),milliseconds=date.getMilliseconds(),currentTime=year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second+":"+milliseconds; return currentTime }; //跳出登录(不可用)框后再执行 static fuckTiebaLogin(userName,password){ document.getElementById('TANGRAM__PSP_5__footerULoginBtn').click(); document.getElementById('TANGRAM__PSP_5__userName').outerHTML+=''; document.getElementById('TANGRAM__PSP_5__password').outerHTML+=''; document.getElementById('TANGRAM__PSP_5__userName').value=userName; document.getElementById('TANGRAM__PSP_5__password').value=password; return document.getElementById('TANGRAM__PSP_5__submit').click(); }; static getValue(k,aDefault){ const val = localStorage.getItem("XB_"+k) if (!val && 'undefined' != typeof aDefault) return aDefault; return val; }; //setValue('k', 'v') static setValue(k, v){ localStorage.setItem("XB_"+k, v); }; //deleteValue('k') static deleteValue(k){ if(k.indexOf("XB_")!=-1) localStorage.removeItem(k); }; static listValues(){ let list=[],j=0,k; for (let i=0; i<localStorage.length;i++) { k=localStorage.key(i); if(k.indexOf("XB_")!=-1) list[j++] = localStorage.key(i); }return list; }; //dependency:myXbListValues static clearValues(){ this.listValues().forEach(e=>{ localStorage.removeItem(e) }) }; //get len of json obj static getJsonLen(jsonObj){ let jsonLen=0, key; for (key in jsonObj) { if (jsonObj.hasOwnProperty(key)) jsonLen++; }return jsonLen; }; //syn console.log static log(text){ console.log(JSON.stringify(text)) }; //dependency:myAddStyle,myDomAppendSon //my.addBtns(()=>{},a=e=>{confirm(e.target.id)},function(e){prompt(e.target.outerHTML)},function test(e){return 1}) static addBtns(...funcs){ funcs.forEach(e=>{ if(typeof e !='function') return console.log(e); }); let myDiv=document.querySelector('#myBtnContainerDiv'),btns=[]; if(!myDiv) myDiv=this.domAppendBro('div',document.body,'',`id`,'myBtnContainerDiv'); this.addStyle(`#myBtnContainerDiv{z-index:1650729359811!important;position: fixed!important;right:0!important;top:0!important}`); for(let i=0;i<funcs.length;i++){ let fname=funcs[i].name; if(!fname) fname="noname"; const btn = this.domAppendSon('button',myDiv,fname,'class','myQuickBtn'); btn.addEventListener('click',funcs[i]),btns[i]=btn; }return btns }; //prevent document.title from being changed static fixTitle(){ Object.defineProperty(document,"title",{ writable:false }); }; }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址