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 4: | Zeile 4: | ||
$(function() { | $(function() { | ||
var $target = $('#recentpages-unique-table'); | var $target = $('#recentpages-unique-table'); | ||
if (!$target.length) | if (!$target.length) return; | ||
console.log( | console.log("Starte API-Abfrage..."); | ||
$.getJSON(mw.util.wikiScript('api'), { | $.getJSON(mw.util.wikiScript('api'), { | ||
action: 'query', | action: 'query', | ||
list: 'recentchanges', | list: 'recentchanges', | ||
rcprop: 'title|comment|timestamp| | rcprop: 'title|comment|timestamp|user', | ||
rctype: 'new', | rctype: 'new', | ||
rclimit: 50, | rclimit: 50, | ||
| Zeile 21: | Zeile 18: | ||
}) | }) | ||
.done(function(data) { | .done(function(data) { | ||
console.log( | console.log("API-Daten:", data); | ||
var table = '<table class="wikitable"><tr><th>Titel</th><th>Erstellt am</th><th>Autor:in</th></tr>'; | |||
var table = '<table class="wikitable"> | |||
var uniquePages = {}; | var uniquePages = {}; | ||
var count = 0; | var count = 0; | ||
| Zeile 31: | Zeile 25: | ||
if (data.query?.recentchanges?.length > 0) { | if (data.query?.recentchanges?.length > 0) { | ||
data.query.recentchanges.forEach(function(rc) { | data.query.recentchanges.forEach(function(rc) { | ||
if (!rc.title || rc.title.includes(':') || uniquePages[rc.title]) return; | |||
uniquePages[rc.title] = true; | |||
if (count >= 10) return; | |||
var pageLink = '<a href="' + mw.util.getUrl(rc.title) + '">' + mw.html.escape(rc.title) + '</a>'; | |||
var date = new Date(rc.timestamp).toLocaleDateString('de-DE'); | |||
table += '<tr><td>' + pageLink + '</td><td>' + date + '</td><td>' + mw.html.escape(rc.user) + '</td></tr>'; | |||
count++; | |||
}); | }); | ||
} | } | ||
$target.html(count ? table : '<tr><td colspan="3">Keine neuen Seiten im Hauptnamensraum.</td></tr>'); | |||
}) | }) | ||
.fail(function(jqXHR, textStatus, errorThrown) { | .fail(function(jqXHR, textStatus, errorThrown) { | ||
console.error( | console.error("API-Fehler:", textStatus, errorThrown); | ||
$target.html(' | $target.html('Fehler: ' + errorThrown); | ||
}); | }); | ||
}); | }); | ||
Version vom 12. Mai 2025, 17:48 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;
console.log("Starte API-Abfrage...");
$.getJSON(mw.util.wikiScript('api'), {
action: 'query',
list: 'recentchanges',
rcprop: 'title|comment|timestamp|user',
rctype: 'new',
rclimit: 50,
rcnamespace: 0,
format: 'json'
})
.done(function(data) {
console.log("API-Daten:", data);
var table = '<table class="wikitable"><tr><th>Titel</th><th>Erstellt am</th><th>Autor:in</th></tr>';
var uniquePages = {};
var count = 0;
if (data.query?.recentchanges?.length > 0) {
data.query.recentchanges.forEach(function(rc) {
if (!rc.title || rc.title.includes(':') || uniquePages[rc.title]) return;
uniquePages[rc.title] = true;
if (count >= 10) return;
var pageLink = '<a href="' + mw.util.getUrl(rc.title) + '">' + mw.html.escape(rc.title) + '</a>';
var date = new Date(rc.timestamp).toLocaleDateString('de-DE');
table += '<tr><td>' + pageLink + '</td><td>' + date + '</td><td>' + mw.html.escape(rc.user) + '</td></tr>';
count++;
});
}
$target.html(count ? table : '<tr><td colspan="3">Keine neuen Seiten im Hauptnamensraum.</td></tr>');
})
.fail(function(jqXHR, textStatus, errorThrown) {
console.error("API-Fehler:", textStatus, errorThrown);
$target.html('Fehler: ' + errorThrown);
});
});