MSPA link fixerer

Replaces MSPA indexed links to Homestuck with links to Homestuck.com.

目前為 2022-05-05 提交的版本,檢視 最新版本

// ==UserScript==
// @name         MSPA link fixerer
// @version      0.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://greasyfork.org/users/909980
// ==/UserScript==

(function () {
  "use strict";

  //document.addEventListener("DOMContentLoaded", replaceLinks, false );

  //if( document.readyState === "complete" ) {
  replaceLinks();
  //}

  function replaceLinks() {
    Array.from(document.getElementsByTagName("a")).forEach(function (a) {
      //  console.log(a.href);
      const regex = /http:\/\/www\.mspaintadventures\.com\/.*s=6.*p=(\d{1,6})/g;
      const subst = `https://www.homestuck.com/story/`;

      // The substituted value will be contained in the result variable

      let m;

      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++;
        }

        // The result can be accessed through the `m`-variable.
        m.forEach((match, groupIndex) => {
          //console.log(`${match}`);
          if (match > 1900) {
            match = match - 1900;
          }
          //console.log("fixed:", match);
          a.href = "https://www.homestuck.com/story/" + match;
        });
      }
    });
  }
})();