MediaWiki:Mobile.js: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
||
| Zeile 1: | Zeile 1: | ||
/ | // Fügt in der mobilen Minerva-Ansicht einen Menüpunkt im Hamburger-Menü hinzu | ||
mw. | ( function () { | ||
if ( mw.config.get('skin') !== 'minerva' ) return; | |||
var | function addLinkWhenMenuExists() { | ||
// Versuche mehrere plausible Container nacheinander | |||
var container = | |||
document.querySelector('#mw-mf-main-menu nav ul') || | |||
document.querySelector('#mw-mf-main-menu ul') || | |||
document.querySelector('.minerva-main-menu .menu__list') || | |||
document.querySelector('.menu__list, .menu') || | |||
null; | |||
if (!container) { | |||
setTimeout(addLinkWhenMenuExists, 400); | |||
return; | |||
} | |||
// Doppelte Einträge vermeiden | |||
if (document.getElementById('menu-custom-reiter')) return; | |||
if ( | |||
var li = document.createElement('li'); | |||
li.className = 'mw-list-item'; | |||
li.id = 'menu-custom-reiter'; | |||
var a = document.createElement('a'); | |||
a.href = '/wiki/MeinReiter'; // <-- Ziel hier anpassen | |||
a.textContent = 'Reiter hinzufügen'; // Linktext | |||
li.appendChild(a); | |||
container.appendChild(li); | |||
} | |||
} | |||
// | // Beim Laden und nach dem Öffnen des Menüs versuchen | ||
document.addEventListener('DOMContentLoaded', addLinkWhenMenuExists); | |||
}); | document.addEventListener('click', function(e){ | ||
var btn = e.target.closest('button, a'); | |||
if (btn && /menu|hamburger|main-menu/i.test(btn.className + ' ' + btn.id)) { | |||
setTimeout(addLinkWhenMenuExists, 300); | |||
} | |||
}); | |||
}() ); | |||