משתמש:Guycn2/RollbackConfirm.js

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/*

Show confirmation message when trying to rollback edits made by registered users.

Written by: [[User:Guycn2]]; inspired by [[User:IKhitron]].

*/

function rollbackConfirm() {
	
	mw.loader.using(['jquery.confirmable', 'mediawiki.util'], function() {
		
		if (mw.config.get('wgAction') === 'history') {
			
			let isLastEditorAnon = mw.util.isIPAddress($('#pagehistory .mw-userlink').eq(0).text());
			
			if (!isLastEditorAnon) {
				$('.mw-rollback-link a:first-of-type').confirmable();
			}
			
		} else if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
			
			if (!mw.util.isIPAddress(mw.config.get('wgRelevantUserName'))) {
				$('.mw-rollback-link a:first-of-type').confirmable();
			}
			
		} else {
			
			$('.mw-userlink:not(.mw-anonuserlink) ~ .mw-rollback-link a:first-of-type').confirmable();
			
		}
		
	});
	
}

if ($('.mw-rollback-link').length) {
	
	rollbackConfirm();
	
	// Make sure everything goes well even after changing edit filters.
	// Thanks to [[User:IKhitron]] for this solution.
	mw.hook('wikipage.content').add(rollbackConfirm);
	
}