Benutzer:DerHexer/vector.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
mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ], function() {
$( document ).ready( function() {
if ( mw.config.get( 'wgCanonicalNamespace' ) !== 'Category' ) {
return;
}
var pages = [],
titles = [],
i, j, api;
$( '#mw-pages li' ).each( function( i ) {
pages[i] = $( this ).text();
} );
i = -1;
for( j = 0; j < pages.length; j++ ) {
if( j % 50 === 0 ) {
// We can only ask for up to 50 pages at once
// This will be run for i = -1 as well as 0 % 50 = 0
i = i + 1;
titles[i] = '';
}
titles[i] += '|' + pages[j];
}
for( i = 0; i < titles.length; i++ ) {
api = new mw.Api();
api.get( {
action: 'query',
prop: 'info',
// get rid of first pipe
titles: titles[i].replace( '|', '' ),
indexpageids: true
} )
.done( function( data ) {
$( '#mw-pages li' ).each( function() {
var pages = data.query.pages;
var pageids = data.query.pageids;
for( var i = 0; i < pageids.length; i++ ) {
if( pages[ pageids[i] ].title === $( this ).text() ) {
$( this ).append(
' (' + pages[ pageids[i] ]['length'].replace(/(\d)(\d{3})$/, RegExp.$1+'.'+RegExp.$2) + ' Bytes)'
);
return true;
}
}
} );
} );
}
} );
} );