您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replaces MSPA indexed links to Homestuck with links to Homestuck.com.
/* jshint esversion: 6 */ // ==UserScript== // @name MSPA link fixerer // @version 1 // @description Replaces MSPA indexed links to Homestuck with links to Homestuck.com. // @author EtchJetty // @license MIT // @match http://*/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @namespace https://gf.qytechs.cn/users/909980 // ==/UserScript== (function () { "use strict"; replaceLinks(); // story6: 1900 (hs) // story5: 1892 (hs-beta) // story4: 218 (ps) // story3: n/a (midnight crew) // story2: 135 (bardquest) // story1: 1 (jb) function replaceLinks() { Array.from(document.getElementsByTagName("a")).forEach(function (a) { // console.log(a.href); const regex = /(?:http.*mspaintadventures\.com\/.*|\?)s=\d.*p=(\d{1,6})/gm; const baseurl = `https://www.homestuck.com/`; const hssubst = baseurl + `story`; const hsbetasubst = baseurl + `beta`; const pssubst = baseurl + `problem-sleuth`; // const mcsubst = baseurl + `404`; const bqsubst = baseurl + `bard-quest`; const jbsubst = baseurl + `jailbreak`; // The substituted value will be contained in the result variable let m; const hrefex = a.href.toString().slice(a.href.toString().length - 4); if (hrefex.slice(0, -1) == "?s=") { //if this is just a story link, no page switch (parseInt(hrefex[hrefex.length - 1])) { case 6: a.href = hssubst; break; case 5: a.href = hsbetasubst; break; case 4: a.href = pssubst; break; case 3: a.href = "http://www.mspaintadventures.com/test_index.php?s=3"; // mc doesn't exist on homestuck.com as far as i know break; case 2: a.href = bqsubst; break; case 1: a.href = jbsubst; break; } } else { while ((m = regex.exec(a.href.toString())) !== null) { // This is necessary to avoid infinite loops with zero-width matches if (m.index === regex.lastIndex) { regex.lastIndex++; } var match = parseInt(m[1]); // get just the matched value switch (true) { case match > 1900: match = match - 1900; a.href = hssubst + "/" + match; break; case 1892 < match && match < 1900: match = match - 1892; a.href = hsbetasubst + "/" + match; break; case 218 < match && match < 1892: match = match - 218; a.href = pssubst + "/" + match; break; case 135 < match && match < 218: match = match - 135; a.href = bqsubst + "/" + match; break; case 1 < match && match < 135: match = match - 1; a.href = jbsubst + "/" + match; break; } } } }); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址