returns old wikipedia layout. (layout before 2023 redesign of website)
当前为
// ==UserScript==
// @name Vector Layout for Wikipedia (Fast)
// @namespace -
// @version 1.1.0
// @description returns old wikipedia layout. (layout before 2023 redesign of website)
// @author NotYou
// @match *://wikipedia.org/*
// @match *://*.wikipedia.org/*
// @run-at document-start
// @license GPL-3.0-or-later
// @grant none
// ==/UserScript==
(function() {
'use strict';
const MAKE_CLEAN_URL = false; // removes "useskin=vector" after loading
const IS_DEBUG_MODE = false; // instead of redirecting, logs information in console
const DEBUG_TITLE = 'DEBUG - Vector Layout for Wikipedia\n';
let href = location.href;
redirect(href);
window.addEventListener('click', onClick);
if(MAKE_CLEAN_URL) {
let url = new URL(href);
let searchParams = new URLSearchParams(url.search);
if(searchParams.get('useskin') === 'vector') {
searchParams.delete('useskin');
let _searchParams = searchParams.toString();
let newPath = url.pathname + (_searchParams ? '?' + _searchParams : _searchParams);
history.pushState({}, '', newPath);
}
}
function redirect(inputUrl) {
let url = typeof inputUrl === 'string' ? new URL(inputUrl) : inputUrl;
let searchParams = new URLSearchParams(url.search);
let cleanURL = url.origin + url.pathname;
if(searchParams.get('useskin') !== 'vector') {
searchParams.set('useskin', 'vector');
let hash = location.hash;
let params = '?' + searchParams.toString();
let resultURL = cleanURL + params + hash;
if(IS_DEBUG_MODE) {
console.log(DEBUG_TITLE, resultURL);
} else {
location.replace(resultURL);
}
}
}
function onClick(e) {
let node = e.target;
let link = getLink(node);
if(link) {
let url = new URL(link.href);
let isWikiLink = url.hostname.indexOf('wikipedia.org') > -1;
if(isWikiLink) {
e.preventDefault();
redirect(url);
}
}
}
function getLink(node) {
if(node.tagName === 'A') {
return node;
} else if(node.tagName === 'HTML' || !node.tagName) {
return null;
}
return getLink(node.parentNode);
}
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址