您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
To remove lang from Greasy Fork's url
当前为
// ==UserScript== // @name gf.zukizuki.org - remove lang from url // @namespace UserScript // @match https://gf.zukizuki.org/* // @grant none // @version 1.2 // @author CY Fung // @description To remove lang from Greasy Fork's url // @run-at document-start // @license MIT // ==/UserScript== (function (__CONTEXT__) { const delayTime = -1; // ms, -1 disable let pathnames = {before: '', after:''}; function main(){ const { setInterval, clearInterval, Promise } = __CONTEXT__; let lastURL = null; const langs = [ "ar", "bg", "cs", "da", "de", "el", "en", "eo", "es", "fi", "fr", "fr-CA", "he", "hu", "id", "it", "ja", "ka", "ko", "nb", "nl", "pl", "pt-BR", "ro", "ru", "sk", "sr", "sv", "th", "tr", "uk", "ug", "vi", "zh-CN", "zh-TW" ]; const regex = new RegExp("\/(" + langs.join('|') + ")\/"); function tim() { const url = location.pathname; if (url === lastURL) return; lastURL = url; const m = regex.exec(url); if (m) { pathnames.before = url; pathnames.after = url.replace(`${m[0]}`, '\/'); // history.replaceState(history.state, '', pathnames.after + location.search); } } let cid = setInterval(tim, 1); function onReady() { clearInterval(cid); cid = 0; let mza=false; Promise.resolve().then(tim).then(()=>{ document.addEventListener('mousemove', function(evt){ if(!mza && evt.target.id==='script-info' && pathnames.before && pathnames.after){ mza= true; history.replaceState(history.state, '', pathnames.before + location.search); } },true); document.addEventListener('mouseenter', function(evt){ if(evt.target.id==='script-info' && pathnames.before && pathnames.after){ mza= true; history.replaceState(history.state, '', pathnames.before + location.search); } },true); document.addEventListener('mouseleave', function(evt){ if(evt.target.id==='script-info' && pathnames.before && pathnames.after){ mza=false; history.replaceState(history.state, '', pathnames.after + location.search); } },true); window.addEventListener('focus', function(evt){ console.log(123, evt.target); if( pathnames.before && pathnames.after && !mza){ mza= true; history.replaceState(history.state, '', pathnames.before + location.search); } },false); window.addEventListener('blur', function(evt){ console.log(124, evt.target); if( pathnames.before && pathnames.after && mza){ mza=false; history.replaceState(history.state, '', pathnames.after + location.search); } },false); }); } Promise.resolve().then(() => { if (document.readyState !== 'loading') { onReady(); } else { window.addEventListener("DOMContentLoaded", onReady, false); } }); } if(delayTime>=0){ setTimeout(main, delayTime); }else{ main(); } })({ setInterval, clearInterval, Promise }); // No more language tag