// ==UserScript== // @name cdnjs国内镜像 // @namespace ningbnii/cdnjs-mirror // @version 0.0.3 // @author ningbnii // @description cdnjs国内镜像,加速前端开发 // @license GPLv3 // @icon https://www.wxbuluo.com/favicon.ico // @match https://cdnjs.com/* // @require https://cdnjs.cloudflare.com/ajax/libs/vue/3.4.21/vue.global.prod.js // @require https://cdnjs.cloudflare.com/ajax/libs/sweetalert2/11.10.6/sweetalert2.min.js // @grant GM_info // @grant GM_registerMenuCommand // @downloadURL none // ==/UserScript== (function (vue) { 'use strict'; const m={__name:"HelloWorld",setup(r){const c=e=>{let o=e.closest(".asset").querySelector(".url").innerText;return o=o.replace("cdnjs.cloudflare.com","s4.zstatic.net"),()=>{navigator.clipboard.writeText(o);}};Swal.fire({title:"Hello Vue 3 + Vite + TypeScript!",text:"This is a simple example of a Vue 3 component with TypeScript and Vite.",icon:"success",confirmButtonText:"Cool!"});let n="";return setInterval(()=>{let e=window.location.href;if(n!==e)n=e;else return;document.querySelectorAll(".asset").forEach(s=>{const t=document.createElement("button");s.querySelector(".library-asset-buttons").appendChild(t);const i=``;t.innerHTML=i,t.onclick=c(t);});},1e3),(e,o)=>null}};var f=(()=>typeof GM_info<"u"?GM_info:void 0)(),_=(()=>typeof GM_registerMenuCommand<"u"?GM_registerMenuCommand:void 0)();const h={class:"monkey-box"},a="https://greasyfork.org/en/scripts/489606",w={__name:"App",setup(r){_("脚本官网",function(){location.href="https://www.wxbuluo.com";}),c();async function c(){const n=f.script.version;try{const o=await(await fetch(a)).text(),s=/
\s*]*>([\d.]+)<\/span>/,t=o.match(s);t&&t[1]&&n!==t[1]&&(await Swal.fire({title:"脚本有更新",html:`

当前版本:${n}

最新版本:${t[1]}

`,showConfirmButton:!0,showCancelButton:!0,confirmButtonText:"立即更新",cancelButtonText:"稍后更新"})).isConfirmed&&window.open(a,"_blank");}catch(e){console.error("检查更新时出错:",e);}}return (n,e)=>(vue.openBlock(),vue.createElementBlock("div",h,[vue.createVNode(m)]))}};vue.createApp(w).mount((()=>{const r=document.createElement("div");return document.body.append(r),r})()); })(Vue);