Modifies the advanced media viewer (turn it on in site's settings) to consider the whole thread its gallery, not just the post, also ads focus to image you open with arrow keys
// ==UserScript==
// @name 8chan - global gallery mod
// @namespace 8chan_ggm
// @version 2026-07-31
// @description Modifies the advanced media viewer (turn it on in site's settings) to consider the whole thread its gallery, not just the post, also ads focus to image you open with arrow keys
// @author Owyn
// @match https://8chan.moe/*
// @match https://8chan.st/*
// @match http://alephchvkipd2houttjirmgivro5pxullvcgm4c47ptm7mhubbja6kad.onion/*
// @grant unsafeWindow
// @run-at document-start
// @sandbox JavaScript
// @compatible Chrome
// @compatible Firefox
// ==/UserScript==
(function() {
'use strict';
// mediaLink.closest('.panelUploads')?.querySelectorAll('.imgLink') // - how gallery is populated
const originalClosest = unsafeWindow.Element.prototype.closest;
if(typeof exportFunction === "function")
{
wrapper_closest = exportFunction(wrapper_closest , unsafeWindow); // TM magic
}
unsafeWindow.Element.prototype.closest = wrapper_closest;
function wrapper_closest (selectors) {
if(selectors == ".panelUploads")
{
console.log(`they wanted Closest [${selectors}] but we returned doc.body and focused this:`, this);
this.scrollIntoView();
return document.body;
}
else return originalClosest.call(this, selectors);
};
})();