nhentai-infinite-scroll-fixed-in-2025

nhentai infinite scroll.

Verzia zo dňa 29.01.2025. Pozri najnovšiu verziu.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name nhentai-infinite-scroll-fixed-in-2025
// @namespace Violentmonkey Scripts
// @version 1.0.1.
// @description nhentai infinite scroll.
// @author anonymous
// @match https://nhentai.net/g/*/
// @grant none
// @license MIT
// @icon https://i.imgur.com/I5Muasr.png
// ==/UserScript==
(function () {
"use strict";

let thumbnailContainer = document.getElementById("thumbnail-container");
let gallerythumb = document.getElementsByClassName("gallerythumb");

if (
thumbnailContainer === null ||
gallerythumb === null ||
gallerythumb.length === 0
)
return;

let formats = [];

let sheet = (function () {
let style = document.createElement("style");
style.appendChild(document.createTextNode(""));
document.head.appendChild(style);
return style.sheet;
})();

sheet.insertRule("#thumbnail-container > img { width: 100%; }", 0);

let mid = document
.getElementById("cover")
.getElementsByTagName("img")[0]
.src.split("/")[4];

for (let a of gallerythumb) {
let s = a.firstElementChild.getAttribute("data-src").split("/");
formats.push(s[5].split(".")[1]);
mid = s[4];
}

while (thumbnailContainer.firstChild) {
thumbnailContainer.removeChild(thumbnailContainer.firstChild);
}

let lastId = 0;
let timerId = null;
loadNextImage();

function loadNextImage() {
if (timerId !== null) {
clearTimeout(timerId);
timerId = null;
}

let image = new Image();
image.src =
"https://i4.nhentai.net/galleries/" +
mid +
"/" +
(lastId + 1) +
"." +
formats[lastId];
thumbnailContainer.append(image);

image.onload = function () {
lastId++;
if (lastId < formats.length) {
loadNextImage();
}
};

image.onerror = function () {
thumbnailContainer.lastElementChild.remove();
timerId = setTimeout(loadNextImage, 1000);
};
}
})();