您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Vanilla JS library
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/369430/604943/vanilla-lib.js
/* vanilla-lib */ var mapFlat = ( array,func ) => array.map( x => func(x) ).reduce( (a,b) => a.concat(b) ), parent = elem => ( ! elem ? null : elem.parentNode ), isarr = expr => ( 'object' === typeof expr && Array === expr.constructor ), isfn = expr => ( 'function' === typeof expr ), test = ( expr,func,other ) => ( !! expr ? func(expr) : isfn(other) ? other(expr) : other ), log = console.debug, on = ( elem,event,func ) => elem.addEventListener(event, func), $$ = ( sel,elem ) => Array.slice((elem || document).querySelectorAll(sel)), $ = ( sel,elem ) => (elem || document).querySelector(sel); //Array.prototype.mapFlat = function( func ) { return mapFlat(this, func); }; var aggrate = ( amount,rate,periods ) => ( ! periods ? amount : aggrate(amount * rate, rate, periods - 1) ), toDec = expr => ( Math.round(parseFloat(expr) * 100) / 100 ), toMny = amount => ( (segs => isNaN(segs[ 0 ]) ? null : '$ '+ segs[ 0 ] +'.'+ ((segs[ 1 ] || 0) +'00').slice(0, 2)) ((toDec(amount) +'').split('.')) ); function attr( elem, name, value ) { if ( isarr(elem) ) { return elem.map( el => attr(el, name, value) ); } if ( null === value ) { elem.removeAttribute(name); } else { elem.setAttribute(name, value); } return elem; } function create( html, containerType ) { let container = null, result = null; containerType = containerType || 'div'; create[ containerType ] = container = create[ containerType ] || document.createElement(containerType); container.innerHTML = html; result = Array.slice(container.childNodes) .map( elem => (elem.remove(), elem) ); if ( 1 == result.length ) { result = result[ 0 ]; } return result; } function traverse( elem, up, sideways, elementsOnly, lastIfNull ) { let last = elem; while ( !! elem && up -- > 0 ) elem = (last = elem, parent(elem)); let prop = ( elementsOnly ? 'Element' : '' ) +'Sibling'; if ( sideways < 0 ) { while ( !! elem && sideways ++ < 0 ) elem = (last = elem, elem[ 'previous'+ prop ]); } else if ( sideways > 0 ) { while ( !! elem && sideways -- > 0 ) elem = (last = elem, elem[ 'next'+ prop ]); } return ( ! lastIfNull ? elem : elem || last ); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址