MediaWiki:Common.js: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung Markierung: Manuelle Zurücksetzung |
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |
(kein Unterschied)
| |
Aktuelle Version vom 13. Dezember 2025, 19:42 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */
mw.loader.using('mediawiki.util', function () {
var groups = mw.config.get('wgUserGroups') || [];
if (groups.indexOf('sysop') === -1) return; // nur Admins
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl('Special:SpecialPages'),
'Spezialseiten',
't-specialpages'
);
});
mw.loader.using(['mediawiki.util']).then(function () {
// nur für ausgeloggte Leser
if (mw.config.get('wgUserName')) return;
// nur einmal pro Browser
const key = 'appearancePinnedOnce';
if (localStorage.getItem(key)) return;
function tryPin() {
const pinBtn = document.querySelector('[data-event-name="pinnable-header.vector-appearance.pin"]');
if (pinBtn) {
pinBtn.click(); // pinnt / blendet ein
localStorage.setItem(key, '1');
return true;
}
return false;
}
// sofort versuchen, sonst kurz warten bis Vector fertig ist
if (tryPin()) return;
const obs = new MutationObserver(() => { if (tryPin()) obs.disconnect(); });
obs.observe(document.documentElement, { subtree: true, childList: true });
});
mw.loader.using(['mediawiki.util']).then(function () {
// nur für ausgeloggte Leser
if (mw.config.get('wgUserName')) return;
// Wenn der Nutzer schon etwas gewählt hat: nichts überschreiben
const prefKey = 'mw-client-preferences';
const current = localStorage.getItem(prefKey) || '';
if (current.includes('vector-2022_font-size_')) return;
function setStandardFontSize() {
// Suche nach der "Standard"-Option im Erscheinungsbild-Menü
const radios = Array.from(document.querySelectorAll('input[type="radio"]'));
const standardRadio = radios.find(r => {
const label = document.querySelector('label[for="' + r.id + '"]');
const labelText = (label ? label.textContent : '').trim().toLowerCase();
const val = (r.value || '').toLowerCase();
return labelText === 'standard' || val === 'standard';
});
if (standardRadio && !standardRadio.checked) {
standardRadio.click(); // setzt die echte Preference inkl. mw-client-preferences korrekt
return true;
}
return false;
}
// Erst nach DOM ready versuchen, sonst kurz beobachten bis das Menü gerendert ist
$(function () {
if (setStandardFontSize()) return;
const obs = new MutationObserver(() => {
if (setStandardFontSize()) obs.disconnect();
});
obs.observe(document.documentElement, { subtree: true, childList: true });
});
});