מדיה ויקי:Gadget-InterwikiOrder.js

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

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

var interwikiOrder = new Array();

function containsInterwiki(kids, interWikiID) {
 for (var i = 0; i < kids.length; i++) {
  if ( kids[i].className == ('interwiki-' + interWikiID) )
   return i;
 }
 return -1;
}

function fixInterwikiOrder() {
 var kids = document.getElementById('p-lang').getElementsByTagName('LI');
 var removeAllOthers = (interwikiOrder[interwikiOrder.length - 1] == 'זהו') ? 2 : 1;
 for (var i = interwikiOrder.length - removeAllOthers; i > -1; i--) {
  var interWikiIndex = containsInterwiki(kids, interwikiOrder[i]);
  if (interWikiIndex != -1) {
   var father = document.getElementById('p-lang').getElementsByTagName('UL')[0];
   father.insertBefore(kids[interWikiIndex], father.firstChild);
  }
 }
 if (removeAllOthers == 2)
  while (kids.length != interwikiOrder.length - 1)
   father.removeChild(father.lastChild);
}

function initInterwikiOrder() {
 if (!document.getElementById('p-lang')) return;
 var a = sajax_init_object();
 a.open('GET', mw.config.get('wgServer') + wgScriptPath + '/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:' + encodeURIComponent(mw.config.get('wgUserName')) + '/%D7%91%D7%99%D7%A0%D7%95%D7%95%D7%99%D7%A7%D7%99&action=raw', true);
 a.onreadystatechange = function() {
  if (a.readyState != 4) return;
  var lines = a.responseText.split('\n');
  var rx = new RegExp('\\*\\s?([^$]*)');
  for (var i = 0; i < lines.length; i++) {
   var m = rx.exec(lines[i]);
   if (m)
    interwikiOrder.push(m[1]);
   else
    break;
  }
  if (interwikiOrder[0]) fixInterwikiOrder();
 }
 a.send(null);
}

$(initInterwikiOrder);