53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
// ==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);
|
|
})(); |