您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
To remove lang from Greasy Fork's url
- // ==UserScript==
- // @name Greasyfork.org - remove lang from url
- // @namespace UserScript
- // @match https://greasyfork.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