MediaWiki:Mobile.js
Erscheinungsbild
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* ADOS – Hauptkategorien ins Hamburger-Menü (robust für lazy Drawer) */
mw.loader.using(['mediawiki.util']).then(function () {
var CATS = [
{ title: 'Kategorie:Alle A Dream of Scotland Abfüllungen', label: 'A Dream of Scotland' },
{ title: 'Kategorie:Alle A Dream of Ireland Abfüllungen', label: 'A Dream of Ireland' },
{ title: 'Kategorie:Alle A Dream of... – Der Rest der Welt Abfüllungen', label: 'Rest der Welt' },
{ title: 'Kategorie:Cigar Malt Übersicht', label: 'Cigar Malt' },
{ title: 'Kategorie:Alle Rumbastic Abfüllungen', label: 'Rumbastic' }
];
function blockHTML() {
var h = '<ul class="ados-hauptkategorien"><li class="menu-heading">Hauptkategorien</li>';
CATS.forEach(function (c) {
h += '<li><a class="mw-ui-icon mw-ui-icon-before" href="' +
mw.util.getUrl(c.title) + '"><span>' +
(c.label || c.title.replace(/^Kategorie:/,'')) +
'</span></a></li>';
});
return h + '</ul>';
}
function injectOnce() {
var menu = document.querySelector('#mw-mf-page-left .menu, .drawer .menu, .menu');
if (!menu || menu.querySelector('.ados-hauptkategorien')) return !!menu;
var firstUl = menu.querySelector('ul');
if (!firstUl) return false;
firstUl.insertAdjacentHTML('afterend', blockHTML());
return true;
}
function onOpen() {
setTimeout(injectOnce, 10);
setTimeout(injectOnce, 200);
setTimeout(injectOnce, 600);
}
// Falls der Drawer schon im DOM ist
injectOnce();
// Beim Öffnen des Hamburgers (verschiedene Selektoren je nach Version)
document.addEventListener('click', function (e) {
if (e.target.closest('#mw-mf-main-menu-button,.mw-ui-icon-minerva-drawer,.hamburger,.toggle-list-button')) onOpen();
}, true);
// Fallback: sobald der Drawer nachgeladen wird
new MutationObserver(injectOnce).observe(document.body, { childList: true, subtree: true });
});