利用者:Marine-Blue/purgetab.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

/**
 * Add "Purge" content action link.
 *
 * Dependencies: mediawiki.util, mediawiki.api
 *
 * @source https://www.mediawiki.org/wiki/Snippets/Purge_action
 * @revision 2020-04-04
 */
$.when( mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ] ), $.ready ).then( function () {
	$myLang = mw.config.get('wgUserLanguage');
	
	$labelTab = {
		'en': 'Purge',
		'es': 'Purgar',
		'fr': 'Purger',
		'ja': '更新',
		'ru': 'Очистить кэш',
		'pl': 'Odśwież',
		'pt': 'Purgar'
	};
	
	$labelConfirm = {
		'en': 'Purge the server cache of this page',
		'es': 'Purgar la caché de la página en el servidor',
		'fr': 'Purger le cache des pages',
		'ja': 'このページのサーバーキャッシュを破棄',
		'ru': 'Очистить кэш сервера этой страницы',
		'pl': 'Wyczyścić pamięć podręczną dla tej strony',
		'pt': 'Purga o cache desta página'
	};
	
	$labelError = {
		'en': 'Purge failed',
		'es': 'Purga fallida',
		'fr': 'Échec de la purge',
		'ja': 'キャッシュ破棄に失敗しました',
		'ru': 'Очистка не удалась ',
		'pl': 'Odświeżenie nieudane',
		'pt': 'A eliminação falhou'
	};
	
	if($labelTab[$myLang] === undefined) {
		$myLang = 'en';
	}
	
	if ( $( '#ca-purge' ).length || !mw.config.get( 'wgIsArticle' ) ) return;
	var node = mw.util.addPortletLink(
		'p-cactions',
		mw.util.getUrl( null, { action: 'purge' } ),
		mw.config.get( 'skin' ) === 'vector' || mw.config.get( 'skin' ) === 'vector-2022' || mw.config.get( 'skin' ) === 'timeless' ? $labelTab[$myLang] : '*',
		'ca-purge',
		$labelConfirm[$myLang],
		'*'
	);
	$(node).on( 'click', function (e) {
		new mw.Api().post( { action: 'purge', titles: mw.config.get( 'wgPageName' ) } ).then(function () {
			location.reload();
		}, function () {
			mw.notify( $labelError[$myLang], { type: 'error' } );
		});
		e.preventDefault();
	});
});