- // ==UserScript==
- // @name gf.qytechs.cn - remove lang from url
- // @namespace UserScript
- // @match https://gf.qytechs.cn/*
- // @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