משתמש:חזרתי/Script 103.js

מתוך ויקיפדיה, האנציקלופדיה החופשית

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/* התראה על התנגשות עריכה לפני שמירה: כאשר קוראים או עורכים דף, ובאותו זמן הדף נערך ונשמר על ידי עורך אחר – מקבלים הודעה על כך עם קישור לשינוי שנעשה */
/* מותאם אישית */
/* :הסקריפט המקורי */
/* [[מדיה ויקי:סקריפטים/103.js]] */
mw.loader.using( [ "mediawiki.api" ] ).then( function() {
	function Alert(title, html) {
		mw.loader.using( [ "jquery.ui" ] ).then( function() {
			$("<div>").html(html).dialog({
				title: title,
				resizable: true,
				modal: true,
				buttons: {
					"סגור אותי": function() 
				    {
						$( this ).dialog( "close" );
				    }
				}
			});
		});
	}
	var lastEdit = "",
		api = new mw.Api(),
		apiParams = {
			prop: 'revisions',
			titles: mw.config.get("wgPageName"),
			rvprop: 'ids|timestamp|user',
			rvlimit: 1
		};
	function checkForNewRev() {
		api.get( apiParams ).done(function(k){
			if (k && k.query && k.query.pages && k.query.pages[mw.config.get('wgArticleId')]) {
				var currentRev = k.query.pages[mw.config.get('wgArticleId')].revisions["0"].revid;
				if (lastEdit !== "" && lastEdit !== currentRev) {
					if (window.location.search.match(/action\=edit/)) 
						Alert("חזרתי – אזהרה", "הדף השתנה מאז שהתחלת לערוך אותו.<br /><a href='/wiki/מיוחד:הבדל/" + currentRev + "' target='_blank'>צפייה בשינוי החדש (נפתח בלשונית חדשה)</a>");
					else {
						Alert("חזרתי – שים לב", "הדף השתנה מאז שהתחלת לקרוא אותו." + "<br /><a href='javascript:location.reload();'>צפייה בשינוי החדש (רענון לשונית נוכחית)</a>" + "<br /><a href='/wiki/מיוחד:הבדל/" + currentRev + "' target='_blank'>צפייה בשינוי החדש (נפתח בלשונית חדשה)</a>");
					}
					lastEdit = currentRev;
				} else {
					lastEdit = currentRev;
					setTimeout(checkForNewRev, 10000);
				}
			}
		});
	}
	if (~mw.config.get('wgNamespaceNumber')) {
		checkForNewRev();
	}
});