มีเดียวิกิ:Gadget-purgetab.js

จาก วิกิพจนานุกรม พจนานุกรมเสรี

หมายเหตุ: หลังเผยแพร่ คุณอาจต้องล้างแคชเว็บเบราว์เซอร์ของคุณเพื่อดูการเปลี่ยนแปลง

  • ไฟร์ฟอกซ์ / ซาฟารี: กด Shift ค้างขณะคลิก Reload หรือกด Ctrl-F5 หรือ Ctrl-R (⌘-R บนแมค)
  • กูเกิล โครม: กด Ctrl-Shift-R (⌘-Shift-R บนแมค)
  • อินเทอร์เน็ตเอกซ์พลอเรอร์ และ Edge: กด Ctrl ค้างขณะคลิก Refresh หรือกด Ctrl-F5
  • โอเปร่า: กด Ctrl-F5
// {{documentation}}
jQuery(document).ready(function() {

	if (!mw.config.get('wgArticleId'))
		return;
	var link;
	var portletIdToAdd = $("#p-cactions").length != 0 ? "p-cactions" : "p-views";

	link = mw.util.addPortletLink(
		portletIdToAdd, mw.util.getUrl(mw.config.get('wgPageName'), {
			'action': 'purge'
		}),
		(mw.config.get('skin') == "vector") ? "ล้างแคช" : "*",
		'ca-purge', "ล้างแคชสำหรับหน้านี้", '*'
	);

	var api = new mw.Api();
	link = mw.util.addPortletLink(
		portletIdToAdd, mw.util.getUrl(mw.config.get('wgPageName'), {
			'action': 'purge',
			'forcelinkupdate': 1
		}), // not sure if raw link works...
		(mw.config.get('skin') == "vector") ? "ล้างแคชและลิงก์" : "**",
		'ca-purge-forcelinkupdate', "ล้างแคชและอัปเดตตารางลิงก์", ','
	);
	link.addEventListener('click', function(ev) {
		api.post({
			action: 'purge',
			pageids: mw.config.get('wgArticleId'),
			forcelinkupdate: 1
		}).then(function() {
			location.reload();
		}, function(code, details) {
			var mesg;
			switch (code) {
				case 'http':
					mesg = 'HTTP error: ' + details.xhr.statusText;
					break;
				case 'ok-but-empty':
					mesg = 'Received empty response.';
					break;
				default:
					mesg = details.error.info;
			}
			mw.util.jsMessage('<b>ล้างแคชและลิงก์ล้มเหลว</b>: ' + mesg);
			console.error(arguments);
		});
		ev.preventDefault();
	}, false);

	link = mw.util.addPortletLink(
		portletIdToAdd, 'javascript:void window.warranty',
		(mw.config.get('skin') == "vector") ? "แก้ไขว่าง" : "***",
		'ca-nulledit', "แก้ไขโดยไม่ส่งข้อมูล", '0'
	);
	link.addEventListener('click', function(ev) {
		api.post({
			action: 'edit',
			pageid: mw.config.get('wgArticleId'),
			appendtext: '',
			watchlist: 'nochange',
			nocreate: '1',
			token: mw.user.tokens.get('csrfToken')
		}).then(function() {
			location.reload();
		}, function(code, details) {
			var mesg;
			switch (code) {
				case 'http':
					mesg = 'HTTP error: ' + details.xhr.statusText;
					break;
				case 'ok-but-empty':
					mesg = 'Received empty response.';
					break;
				default:
					mesg = details.error.info;
			}
			mw.util.jsMessage('<b>แก้ไขว่างล้มเหลว</b>: ' + mesg);
			console.error(arguments);
		});
		ev.preventDefault();
	}, false);

});