您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Pxer的启动器类文件@稳定版
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.sleazyfork.org/scripts/23946/152160/PxerLauncherclassjs.js
'use strict'; class PxerLauncher{ constructor(options){ Object.assign(this ,{ sync:[], asyn:[], onsync:()=>console.log('Sync list is OK!'), onasyn:()=>{}, onerror:err=>console.error(err), cache:true, } ,options) }; }; PxerLauncher.prototype['load'] =function(){ this.loadSync(); this.loadAsyn(); }; PxerLauncher.prototype['createElt'] =function(path){ var extName =path.replace('.php','').match(/\.([A-Za-z0-9]*?)(?:\?.+)?$/)[1]; let tagName =this.tagMap[extName].tag; var elt =document.createElement(tagName); //避免缓存(new Date()).getTime() if(!this.cache) path =path.indexOf('?')==-1 ?path+'?'+(new Date()).getTime() :path+'&'+(new Date()).getTime(); let attr =this.tagMap[extName].attr; for(let key in attr){ if(attr[key] ==='%PATH%'){ elt.setAttribute(key ,path); continue; }; elt.setAttribute(key ,attr[key]) }; return elt; }; PxerLauncher.prototype['loadAsyn'] =function(){ this.asyn.forEach(function (item){ let elt =this.createElt(item); elt.async =true; document.head.appendChild(elt); } ,this); }; PxerLauncher.prototype['loadSync'] =function(){ var pms =Promise.resolve(); this.sync.forEach(function (item){ pms =pms.then(()=>{ return new Promise((resolve ,reject)=>{ let elt =this.createElt(item); elt.addEventListener('load' ,resolve); elt.addEventListener('error' ,reject.bind(null ,elt)); document.head.appendChild(elt); }); }); } ,this); pms.then(this.onsync); pms.catch((err)=>{ console.error('PxerLauncher load file error!'); this.onerror(err); }); }; PxerLauncher.prototype['tagMap'] ={ js:{ tag:'script', attr:{ charset:'utf-8', type:'text/javascript', src:'%PATH%', } }, css:{ tag:'link', attr:{ rel:'stylesheet', href:'%PATH%', } }, ico:{ tag:'link', attr:{ rel:'shortcut icon', type:'image/x-icon', href:'%PATH%', } }, };