MediaWiki:Common.js
Aus ISMS-Ratgeber WiKi
Zur Navigation springenZur Suche springen
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
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
/* Das folgende JavaScript wird für alle Benutzer geladen. */
// Top 10 zuletzt geänderte Seiten:
$(function() {
var $target = $('#recentpages-unique-table');
if (!$target.length) {
console.error('Ziel-Element nicht gefunden');
return;
}
console.log('Starte API-Abfrage...');
$.getJSON(mw.util.wikiScript('api'), {
action: 'query',
list: 'recentchanges',
rcprop: 'title|comment|timestamp|ids',
rctype: 'new',
rclimit: 50,
rcnamespace: 0,
format: 'json'
})
.done(function(data) {
console.log('API-Antwort erhalten:', 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?.length > 0) {
data.query.recentchanges.forEach(function(rc) {
try {
if (!rc.title || rc.title.includes(':') || uniquePages[rc.title]) return;
uniquePages[rc.title] = true;
if (count >= 10) return;
var pageLink = $('<div>').html(
'<a href="' + mw.util.getUrl(rc.title) + '">'
+ mw.html.escape(rc.title) + '</a>'
).html();
var timestamp = new Date(rc.timestamp);
var dateString = timestamp.toLocaleDateString('de-DE', {
day: '2-digit',
month: '2-digit',
year: 'numeric'
});
table += '<tr>'
+ '<td>' + pageLink + '</td>'
+ '<td>' + dateString + '</td>'
+ '<td>' + (rc.comment ? mw.html.escape(rc.comment) : '–') + '</td>'
+ '</tr>';
count++;
} catch (e) {
console.error('Fehler bei der Verarbeitung:', e);
}
});
}
if (count === 0) {
table += '<tr><td colspan="3">Keine neuen Inhaltsseiten im Hauptnamensraum gefunden</td></tr>';
}
table += '</table>';
$target.html(table);
console.log('Tabelle erfolgreich generiert');
})
.fail(function(jqXHR, textStatus, errorThrown) {
console.error('API-Fehler:', textStatus, errorThrown);
$target.html('<div class="error">Fehler beim Laden der Daten: ' + errorThrown + '</div>');
});
});