MediaWiki:Anisa.js
Aus Phoenix-Larp Wiki
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
/* Inhaltsverzeichnis in die Anisa-Seitenleiste integrieren */
(function () {
function initAnisaToc() {
if (!document.body.classList.contains('skin-anisa')) {
return;
}
var toc = document.getElementById('toc');
var navigation = document.getElementById('site-navigation');
var toolbox = document.getElementById('p-tb');
if (!toc || !navigation || toc.dataset.anisaTocInitialized) {
return;
}
toc.dataset.anisaTocInitialized = '1';
var marker = document.createComment('Position des Inhaltsverzeichnisses');
toc.parentNode.insertBefore(marker, toc);
var portlet = document.createElement('div');
portlet.id = 'p-page-toc';
portlet.className = 'mw-portlet';
portlet.setAttribute('role', 'navigation');
portlet.setAttribute('aria-labelledby', 'p-page-toc-label');
var heading = document.createElement('h3');
heading.id = 'p-page-toc-label';
heading.textContent = 'Inhaltsverzeichnis';
var body = document.createElement('div');
body.className = 'mw-portlet-body';
portlet.appendChild(heading);
portlet.appendChild(body);
if (toolbox) {
navigation.insertBefore(portlet, toolbox);
} else {
navigation.appendChild(portlet);
}
var mediaQuery = window.matchMedia('(min-width: 769px)');
function positionToc() {
if (mediaQuery.matches) {
body.appendChild(toc);
portlet.hidden = false;
} else {
if (marker.parentNode) {
marker.parentNode.insertBefore(toc, marker.nextSibling);
}
portlet.hidden = true;
}
}
positionToc();
if (mediaQuery.addEventListener) {
mediaQuery.addEventListener('change', positionToc);
} else {
mediaQuery.addListener(positionToc);
}
}
mw.hook('wikipage.content').add(initAnisaToc);
})();