MediaWiki:Common.js: Unterschied zwischen den Versionen
Erscheinungsbild
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung Markierung: Manuelle Zurücksetzung |
||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 34: | Zeile 34: | ||
const obs = new MutationObserver(() => { if (tryPin()) obs.disconnect(); }); | const obs = new MutationObserver(() => { if (tryPin()) obs.disconnect(); }); | ||
obs.observe(document.documentElement, { subtree: true, childList: true }); | 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 }); | |||
}); | |||
}); | }); | ||
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 });
});
});