MediaWiki:Common.js: Unterschied zwischen den Versionen
Aus ISMS-Ratgeber WiKi
Zur Navigation springenZur Suche springen
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
Zeile 9: | Zeile 9: | ||
action: 'query', | action: 'query', | ||
list: 'recentchanges', | list: 'recentchanges', | ||
rcprop: 'title|comment| | rcprop: 'title|comment|timestamp|ids', | ||
rctype: 'new', // Nur Seitenerstellungen (absolut zuverlässig) | |||
rclimit: 50, // Ausreichend Puffer für Duplikate | |||
rcnamespace: 0, | rcnamespace: 0, | ||
format: 'json' | format: 'json' | ||
Zeile 17: | Zeile 17: | ||
.done(function(data) { | .done(function(data) { | ||
var table = '<table class="wikitable"><tr><th>Titel</th><th>Erstellt am</th><th>Zusammenfassung</th></tr>'; | var table = '<table class="wikitable"><tr><th>Titel</th><th>Erstellt am</th><th>Zusammenfassung</th></tr>'; | ||
var | var uniquePages = {}; | ||
var count = 0; | var count = 0; | ||
if (data.query?.recentchanges) { | if (data.query?.recentchanges) { | ||
data.query.recentchanges.forEach(function(rc) { | data.query.recentchanges.forEach(function(rc) { | ||
// | // Doppelte Titel ausschließen (selbst bei mehrfachen "new"-Einträgen) | ||
if (rc.title. | if (uniquePages[rc.title] || rc.title.includes(':')) return; | ||
uniquePages[rc.title] = true; | |||
if (count >= 10) return; | if (count >= 10) return; | ||
var date = new Date(rc.timestamp).toLocaleDateString('de-DE'); | var date = new Date(rc.timestamp).toLocaleDateString('de-DE'); | ||
table += `<tr><td>${mw.html.escape(rc.title)}</td><td>${date}</td><td>${mw.html.escape(rc.comment || '')}</td></tr>`; | |||
table += | |||
count++; | count++; | ||
}); | }); | ||
} | } | ||
if (count === 0) | if (count === 0) table += '<tr><td colspan="3">Keine neuen Seiten gefunden.</td></tr>'; | ||
table += '</table>'; | table += '</table>'; | ||
$target.html(table); | $target.html(table); | ||
}) | }) | ||
.fail(function() { | .fail(function() { | ||
$target.html('Fehler beim Laden der | $target.html('Fehler beim Laden der Daten.'); | ||
}); | }); | ||
}); | }); |
Version vom 12. Mai 2025, 18:13 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */ // Top 10 zuletzt geänderte Seiten: $(function() { var $target = $('#recentpages-unique-table'); if (!$target.length) return; $.getJSON(mw.util.wikiScript('api'), { action: 'query', list: 'recentchanges', rcprop: 'title|comment|timestamp|ids', rctype: 'new', // Nur Seitenerstellungen (absolut zuverlässig) rclimit: 50, // Ausreichend Puffer für Duplikate rcnamespace: 0, format: 'json' }) .done(function(data) { var table = '<table class="wikitable"><tr><th>Titel</th><th>Erstellt am</th><th>Zusammenfassung</th></tr>'; var uniquePages = {}; var count = 0; if (data.query?.recentchanges) { data.query.recentchanges.forEach(function(rc) { // Doppelte Titel ausschließen (selbst bei mehrfachen "new"-Einträgen) if (uniquePages[rc.title] || rc.title.includes(':')) return; uniquePages[rc.title] = true; if (count >= 10) return; var date = new Date(rc.timestamp).toLocaleDateString('de-DE'); table += `<tr><td>${mw.html.escape(rc.title)}</td><td>${date}</td><td>${mw.html.escape(rc.comment || '')}</td></tr>`; count++; }); } if (count === 0) table += '<tr><td colspan="3">Keine neuen Seiten gefunden.</td></tr>'; table += '</table>'; $target.html(table); }) .fail(function() { $target.html('Fehler beim Laden der Daten.'); }); });