Benutzer:DerHexer/vector.js

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 21. Dezember 2012 um 18:12 Uhr durch Hoo man (Diskussion | Beiträge) (Dependencies). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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'] + ' Bytes)'
							);
							return true;
						}
					}
				} );
			} );
		}
	} );
} );