Benutzer:Klaus/common.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
// JavaScript zur gezielten Ersetzung des Weiterleitungs-Links innerhalb einer Wiki-Seite
mw.loader.using(["mediawiki.api"], function () {
console.log("✅ MediaWiki API geladen – Script startet...");
$(function () {
console.log("✅ DOM bereit – Link wird eingefügt...");
// Sichtbaren Link unterhalb des Seiteninhalts einfügen
$('<p><a href="#" id="btn-ersetzen">🛠️ Text prüfen & ersetzen</a></p>')
.appendTo('#mw-content-text');
console.log("✅ Link eingefügt – Warte auf Klick...");
// Klick-Handler für den Link definieren
$('#btn-ersetzen').click(async function (e) {
e.preventDefault();
const api = new mw.Api();
const title = mw.config.get('wgPageName');
console.log("🔍 Lade Seiteninhalt für:", title);
try {
// Bestehenden Quelltext der Seite abrufen
const pageData = await api.get({
action: 'query',
prop: 'revisions',
rvprop: 'content',
titles: title,
formatversion: 2
});
const content = pageData.query.pages[0].revisions[0].content;
console.log("📄 Seiteninhalt geladen:", content);
// Aktuellen Wert aus dem versteckten Span-Element lesen
const neuerWert = document.getElementById('umschriftErgebnis')?.textContent || '';
console.log("🧪 Neuer Zielwert aus Umschrift:", neuerWert);
// Nur den Link innerhalb der Weiterleitung ersetzen
const neuerInhalt = content.replace(/#WEITERLEITUNG \[\[(.*?)\]\]/i, `#WEITERLEITUNG [[${neuerWert}]]`);
if (neuerInhalt === content) {
alert('⚠️ Keine ersetzbare Weiterleitung gefunden oder keine Änderung notwendig.');
return;
}
console.log("✍️ Schreibe neuen Seiteninhalt:", neuerInhalt);
// Seite mit geändertem Inhalt speichern
await api.postWithToken('csrf', {
action: 'edit',
title: title,
text: neuerInhalt,
summary: 'Automatische Aktualisierung der Weiterleitung',
minor: true
});
console.log("✅ Seite erfolgreich gespeichert – Neuladen...")
// Seite neu laden, um Änderungen anzuzeigen
location.reload();
} catch (err) {
console.error('Fehler beim Ersetzen:', err);
alert('🚫 Fehler beim Ersetzen – siehe Konsole für Details.');
}
});
});
});