[低技术力工具]域名重定向油猴脚本

Akari 发布于 2022-12-25 9 次阅读


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/

使用方法

  1. 安装 油猴插件(Tampermonkey/Greasemonkey/Violentmonkey等),可以参考 GreasyFork 首页说明。
  2. 安装插件,可从以下方式安装:
  • 安装脚本(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进行授权,相关开源项目遵循其自身的开源协议,请务必遵守相关协议。

最后更新于 2024-07-15