MediaWiki:Gadget-Preload Page Images.js

Catatan: Setelah disimpan, Anda mungkin perlu melewati tembolok peramban web untuk melihat perubahan.

  • Firefox/Safari: Tekan dan tahan Shift sembari mengeklik Reload, atau tekan Ctrl-F5 atau Ctrl-R (⌘-R di Mac)
  • Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R di Mac)
  • Internet Explorer / Edge: Tahan Ctrl sembari mengeklik Refresh, atau tekan Ctrl-F5
  • Opera: Tekan Ctrl-F5.
/*
 * Preload next page image in Page namespace
 *
 * Based on mulWS gadget:
 *    https://wikisource.org/wiki/MediaWiki:Gadget-preload-prp-page-image.js
 *
 * Author:    Zdzislaw (mulWS)
 * Modified:  Inductiveload (enWS)
 */

( function ( $, mw ) {

	var PPI = {
		signature: 'Preload_Page_Images',
		config: {
			onlyIfEditing: false,
			offsets: [ 1 ]
		}
	};

	$( function () {

		var isEditing = [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1;

		if (
			mw.config.get( 'wgPageContentModel' ) !== 'proofread-page' ||
			( PPI.config.onlyIfEditing && !isEditing ) ) {
			return;
		}

		// eslint-disable-next-line no-jquery/no-global-selector
		var urla = $( '.prp-page-image img' ).attr( 'src' );

		var promises = [];

		for ( var i = 0; i < PPI.config.offsets.length; ++i ) {

			const offset = PPI.config.offsets[ i ];

			var offsetUrl = urla.replace(/(page)(\d*)(?=-)/, function(page, p1, p2, p3) {
    		return p1 + (parseInt(p2) + offset);
  		});

			promises.push( $.get( offsetUrl ) );
		}

		Promise.all( promises )
			.then( function () {
				// eslint-disable-next-line no-jquery/no-global-selector
				$( '#ca-proofreadPageNextLink a' ).css( {
					'border-bottom': '3px solid lightgreen'
				} );
			} );

		mw.hook( PPI.signature + '.done' ).fire();
	} );

	mw.hook( PPI.signature + '.config' ).fire( PPI.config );

// eslint-disable-next-line no-undef
}( jQuery, mediaWiki ) );