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 です。