namemc-infinitescroll/script.user.js

53 lines
1.8 KiB
JavaScript
Raw Permalink Normal View History

2024-07-28 10:32:24 +00:00
// ==UserScript==
// @name NameMC random skins infinite scroll
// @namespace https://fem.mint.lgbt/f.strw
// @version v1
// @description To those who are addicted to Minecraft skins (totally not me btw)
// @author f.strw
// @match https://namemc.com/minecraft-skins/random
// @icon https://www.google.com/s2/favicons?sz=64&domain=namemc.com
// @grant none
// ==/UserScript==
(function() {
'use strict';
function appendNewElements() {
fetch('https://namemc.com/minecraft-skins/random')
.then(response => response.text())
.then(data => {
const tempContainer = document.createElement('div');
tempContainer.innerHTML = data;
const newElements = tempContainer.querySelector('.mb-2');
const images = newElements.querySelectorAll('img');
images.forEach(img => {
const dataSrc = img.getAttribute('data-src');
if (dataSrc) {
img.setAttribute('src', dataSrc);
}
});
const existingContainer = document.querySelector('.mb-2');
existingContainer.insertAdjacentHTML('beforeend', newElements.innerHTML);
})
.catch(error => {
console.error('Error fetching new skins:', error);
});
}
function isBottomReached() {
const scrollPosition = window.innerHeight + window.scrollY;
const pageHeight = document.documentElement.offsetHeight;
return scrollPosition >= pageHeight;
}
function handleScroll() {
if (isBottomReached()) {
appendNewElements();
}
}
window.addEventListener('scroll', handleScroll);
})();