משתמש:Alonr/monobook.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
function findLastEditByUser(text, id) {
if (window.ActiveXObject) { // for IE
var doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async = "false";
doc.loadXML(text);
} else { // for FF
var parser = new DOMParser();
var doc = parser.parseFromString(text, "text/xml");
}
var base = doc.documentElement.childNodes[0].childNodes[1].childNodes[0].childNodes[0];
var firstVersion = base.childNodes[0].getAttribute('revid');
if (firstVersion != id) {
alert("זוהי לא הגרסה העדכנית האחרונה של דף זה. השחזור לא התבצע.");
return;
}
var firstUser = base.childNodes[0].getAttribute('user');
var version;
var otherUser;
for (var i = 1; i < base.childNodes.length; i++) {
version = base.childNodes[i].getAttribute('revid');
if (base.childNodes[i].getAttribute('user') != firstUser) {
otherUser = base.childNodes[i].getAttribute('user');
break;
}
}
document.location = 'http://he.wikipedia.org/w/index.php?title=' + wgPageName + '&action=edit&oldid=' + version + '&fastrevert=1&username=' + encodeURIComponent(firstUser) + '&otheruser=' + encodeURIComponent(otherUser);
}
function saveOldPage() {
if (getParamValue('fastrevert') != 1) return;
var username = decodeURIComponent(getParamValue('username'));
var otherUser = decodeURIComponent(getParamValue('otheruser'));
document.editform.wpSummary.value = "שחזור מעריכה של [[מיוחד:תרומות/" + username + "|" + username + "]] לעריכה האחרונה של [[משתמש:" + otherUser + "|" + otherUser + "]]";
document.editform.wpSave.click();
}
function saveFastRevert() {
var a = sajax_init_object();
a.open('GET', 'http://he.wikipedia.org/w/api.php?action=query&prop=revisions&titles=' + wgPageName + '&rvlimit=20&rvprop=user|ids&format=xml', true);
a.onreadystatechange = function() {
if (a.readyState != 4) return;
findLastEditByUser(a.responseText, wgCurRevisionId);
};
a.send(null);
}
$(function () {
if ( (wgNamespaceNumber == 0 || wgNamespaceNumber % 2 == 0) && getParamValue('diff') && !document.getElementById('differences-nextlink') ) {
var as = document.getElementById('bodyContent').getElementsByTagName('TABLE')[0].getElementsByTagName('TD')[1].getElementsByTagName('A');
for (var i=0; i < as.length; i++) {
if (as[i].href.indexOf('&undo=') != -1) {
var newA = document.createElement('a');
newA.appendChild(document.createTextNode("שחזור"));
newA.title = "שחזר ערך זה לגרסה שלפני העריכה של המשתמש האחרון";
newA.href = "javascript:saveFastRevert();";
var txt = document.createTextNode(' | ');
as[i].parentNode.insertBefore(newA, as[i].nextSibling);
as[i].parentNode.insertBefore(txt, as[i].nextSibling);
break;
}
}
}
});
$(saveOldPage);
importUserScript(64);