MediaWiki:Gadget-ondemand-purgeLink.js

Материал из wikixw
Перейти к навигации Перейти к поиску

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
/**
 * Чтобы ссылки на очистку кэша не требовали подтверждения (они должны быть помещены в тег с классом
 * 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();
		} );
	} );
} );