MediaWiki:Gadget-ondemand-purgeLink.js (MediaWiki&Gadget-ondemand-purgeLinkQjs)

Перейти к навигации Перейти к поиску
JS-код ниже относится к скрытому гаджету ondemand-purgeLink. Он вызывается по умолчанию на страницах в категории Википедия:Страницы с гаджетом по требованию purgeLink.

После сохранения или недавних изменений очистите кэш браузера.

/**
 * Чтобы ссылки на очистку кэша не требовали подтверждения (они должны быть помещены в тег с классом
 * purgelink и именем страницы в атрибуте data-pagename, например как в шаблоне {{очистить кэш}})
 * 
 * Вынесено из [[MediaWiki:Common.js]] @ 2024-03-27
 */
mw.hook( 'wikipage.content' ).add( ( $content ) => {
	$content.find( '.purgelink a' ).click( function ( e ) {
		var pageName = $( this ).parent( '.purgelink' ).data( 'pagename' ) || mw.config.get( 'wgPageName' );
		mw.loader.using( [ 'mediawiki.api', 'mediawiki.util' ] ).done( function () {
			new mw.Api().post( {
				action: 'purge',
				titles: pageName
			} ).then( function () {
				var url = mw.util.getUrl( pageName );
				if ( e.ctrlKey ) {
					if ( !window.open( url ) ) {
						location.assign( url );
					}
				} else {
					location.assign( url );
				}
			}, function () {
				mw.notify( 'Не удалось очистить кэш.', { type: 'error' } );
			} );
			e.preventDefault();
		} );
	} );
} );