משתמש:Yonidebest/monobook.js/addSizes.js

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

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
// adds the amount of bytes added/removed from articel in the history page
// Created by [[user:Yonidebest]]

function getHistorySizeSpan(li) {
 if (!li) return null;
 var spans = li.getElementsByTagName('SPAN');
 for (var i = 0; i < spans.length; i++)
   if (spans[i].className == 'history-size')
     return spans[i];
 return null;
}

function getSize(li) {
 var rx = new RegExp('\\((.*) בתים\\)');
 var historySpan = getHistorySizeSpan(li);
 if (historySpan == null) return null;
 var m = rx.exec(historySpan.innerHTML);
 if (m) return parseInt(m[1].replace(/,/g, ''));
 if (historySpan.innerHTML.indexOf("ריק") != -1) return 0;
 return null;
}

function addSizes() {
 if (wgAction != 'history') return;
 var lis = document.getElementById('pagehistory').getElementsByTagName('LI');
 for (var i = 0; i < lis.length; i++) {
   if (lis[i + 1] == null) break; // last li
   var currnetSize = getSize(lis[i]);
   if (currnetSize == null) continue; // no size info, maybe log, next li
   var lastSize = getSize(lis[i + 1]);
   var index = 1;
   while (!lastSize) {
     index++;
     if (lis[i + index])
      lastSize = getSize(lis[i + index]);
     else break;
   }
   if (lastSize == null) break;
   var sizeChange = currnetSize - lastSize;
   var historySpan = getHistorySizeSpan(lis[i]);
   if (historySpan == null) break;
   if (sizeChange > 0)
     historySpan.innerHTML += ' <font color="#006400">(+' + sizeChange + ')</font>';
   else if (sizeChange == 0) historySpan.innerHTML += ' <font color="#999999">(' + sizeChange + ')</font>';
   else historySpan.innerHTML += ' <font color="#8B0000">(' + sizeChange + ')</font>';
 }
}

$(addSizes);