wikipedia random autopagerize
@@ -6,40 +6,46 @@
* @javascript_url
*/
-(function() {
- var loading = false;
- var x = new XMLHttpRequest();
- var lastElement = function() {
- var e = document.querySelectorAll('div.mw-body');
- return e[e.length - 1];
- }();
- var insertPoint = lastElement.nextSibling;
+(function () {
+ let loading = false;
+ const x = new XMLHttpRequest();
- x.onload = function(e) {
- history.pushState('','',x.responseURL);
- if (x.status <= 200) {
- var doc = e.target.response;
- Array.prototype.forEach.call(doc.querySelectorAll('div.mw-body'), function(elem) {
- lastElement.parentElement.insertBefore(elem, insertPoint);
- });
- }
- loading = false;
- };
+ x.onload = function (e) {
+ history.pushState("", "", x.responseURL);
+ if (x.status <= 200) {
+ const doc = e.target.response;
- 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.scrollTo(0, 0);
+ document
+ .querySelector("div.mw-page-container")
+ .replaceWith(doc.querySelector("div.mw-page-container"));
+ }
+ loading = false;
+ };
- window.addEventListener('scroll', function() {
- if (loading) return;
- var remain = document.documentElement.scrollHeight - window.innerHeight - window.pageYOffset;
- if (remain < 2000) {
- loadNext();
- }
- }, 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);
+ }
- loadNext();
-}());
+ window.addEventListener(
+ "scroll",
+ function () {
+ if (loading) return;
+ const remain =
+ document.documentElement.scrollHeight -
+ window.innerHeight -
+ window.pageYOffset;
+ if (remain < 10) {
+ loadNext();
+ }
+ },
+ false
+ );
+})();
/*
* @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 です。