wikipedia random autopagerize

  • /*
     * @title wikipedia random autopagerize
     * @description wikipedia random auopagerize
     * @include http://ja.wikipedia.org/wiki/*
     * @license MIT
     * @javascript_url
     */
    
    (function () {
      let loading = false;
      const x = new XMLHttpRequest();
    
      x.onload = function (e) {
        history.pushState("", "", x.responseURL);
        if (x.status <= 200) {
          const doc = e.target.response;
    
          window.scrollTo(0, 0);
          document
            .querySelector("div.mw-page-container")
            .replaceWith(doc.querySelector("div.mw-page-container"));
        }
        loading = false;
      };
    
      function loadNext() {
        loading = true;
        x.open(
          "GET",
          "/wiki/%E7%89%B9%E5%88%A5:%E3%81%8A%E3%81%BE%E3%81%8B%E3%81%9B%E8%A1%A8%E7%A4%BA",
          true
        );
        x.responseType = "document";
        x.send(null);
      }
    
      window.addEventListener(
        "scroll",
        function () {
          if (loading) return;
          const remain =
            document.documentElement.scrollHeight -
            window.innerHeight -
            window.pageYOffset;
          if (remain < 10) {
            loadNext();
          }
        },
        false
      );
    })();
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2023/02/13 15:50:29 - 2023-02-13
  2. 2017/09/28 15:24:04 - 2017-09-28
  3. 2015/05/21 14:23:24 - 2015-05-21
  4. 2015/05/21 14:15:53 - 2015-05-21
  5. 2015/05/21 14:09:09 - 2015-05-21