redirect-zhwiki-google
介绍
因为在谷歌搜索结果的时候经常会出现域名为zh.m.wikipedia.org的手机端维基百科,并且其不会自动转为PC端网页。有时谷歌的结果默认为非用户常用变体,故写了一个十分简陋的重定向脚本使其重定向。
Redirects from zh.m.wikipedia.org to zh.wikipedia.org
Redirects from zh.wikipedia.org/zh-[a-z]{2,4}/ to zh.wikipedia.org/wiki/
使用方法
- 安装 油猴插件(Tampermonkey/Greasemonkey/Violentmonkey等),可以参考 GreasyFork 首页说明。
- 安装插件,可从以下方式安装:
- 安装脚本(Greasyfork)
- 如果没有出现脚本管理器的安装页面,则需要将代码复制下来。然后从脚本管理器中新建一个脚本,将自动生成的内容删除,粘贴复制的代码并保存。
- 安装脚本(Github源)
代码
// ==UserScript==
// @name 中文维百谷歌重定向
// @version 2.2
// @description Redirects Wikipedia
// @namespace https://github.com/JimmyLing233/redirect-zhwiki-google
// @author Akari
// @include *://zh.m.wikipedia.org/*
// @include *://zh.wikipedia.org/*
// @license MIT
// @grant none
// @inject-into auto
// @run-at document-start
// @downloadURL https://update.greasyfork.org/scripts/457721/%E4%B8%AD%E6%96%87%E7%BB%B4%E7%99%BE%E8%B0%B7%E6%AD%8C%E9%87%8D%E5%AE%9A%E5%90%91.user.js
// @updateURL https://update.greasyfork.org/scripts/457721/%E4%B8%AD%E6%96%87%E7%BB%B4%E7%99%BE%E8%B0%B7%E6%AD%8C%E9%87%8D%E5%AE%9A%E5%90%91.meta.js
// ==/UserScript==
var url = new URL(location.href);
var hasRedirectedFromMobile = false;
var hasRedirectedFromLanguage = false;
// 第一个重定向条件:从移动版重定向到桌面版
var mobileRe = /^zh\.m\.wikipedia\.org$/;
if (mobileRe.test(url.hostname) && !hasRedirectedFromMobile) {
url.hostname = 'zh.wikipedia.com';
location.assign(url.href);
hasRedirectedFromMobile = true;
}
// 第二个重定向条件:从特定语言版本重定向到默认版本,并添加/wiki/前缀
var languageRe = /^\/zh-[a-z]{2,4}\//;
if (languageRe.test(url.pathname) && !hasRedirectedFromLanguage) {
url.pathname = '/wiki' + url.pathname.replace(languageRe, '/');
location.assign(url.href);
hasRedirectedFromLanguage = true;
}
声明
- 本脚本不保证后期的更新与维护。
- 本脚本原则上会重定向所有zh.m.wikipedia.org的网页至zh.wikipedia.org,此脚本在非条目空间可能并不好用(没测试过),介意的可以自行修改源代码或不使用此脚本。
- 本脚本原则上会重定向所有zh.wikipedia.org的不同中文变体(如zh-cn、zh-hk等)至zh.wikipedia.org/wiki/(用户默认语言页面),在使用时会有一个刷新的过程,介意的可以自行修改源代码或不使用此脚本。
- 本脚本代码使用MIT许可,请务必遵守相关开源协议。
Github的代码版本会与Greasyfork保持一致同步更新。
本文由Akari出于非盈利性目的创作,使用CC BY-SA 4.0进行授权,相关开源项目遵循其自身的开源协议,请务必遵守相关协议。
Comments NOTHING