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

מתוך ויקימילון, מיזם רב לשוני ליצירת מילון חופשי שיתופי.

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

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

function loadTitles() {
 var a = sajax_init_object();
 // link to [[משתמש:Yonidebest/כותרות]]
 a.open('GET', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:Yonidebest/%D7%9B%D7%95%D7%AA%D7%A8%D7%95%D7%AA&action=raw', true);
 a.onreadystatechange = function() {
  if (a.readyState != 4) return;
  var linesSplit = a.responseText.split('\n');
  for (var i = 0; i < linesSplit.length; i++)
   if (linesSplit[i] && linesSplit[i] != "") lines.push(linesSplit[i]);
  randomTitleToggle();
 }
 a.send(null);
}
 
function randomTitleToggle() {
 var tdText = document.getElementById('randomtitletext');
 if (tdText != null) tdText.innerHTML = 'טוען ערך...';
 var randomNumber = Math.floor(Math.random() * lines.length);
 var randomTitle = lines[randomNumber];
 lines.splice(randomNumber, 1);
 var spanTitle = document.getElementById('randomtitle');
 spanTitle.innerHTML = '<a href="http://he.wiktionary.org/wiki/' + randomTitle + '" title="' + randomTitle + '">' + randomTitle + '</a>';

 if (!tdText) return; // do not show the text
 // hide the text first
 var aShowhide = document.getElementById('a-Showhide');
 if (aShowhide != null) aShowhide.innerHTML = 'הראה';
 tdText.style.display = 'none';

 // then open the new random title
 var a = sajax_init_object();
 a.open('GET', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=' + encodeURIComponent(randomTitle) + '&action=render', true);
 a.onreadystatechange = function() {
  var tdText = document.getElementById('randomtitletext');
  if (a.readyState != 4) return;
  tdText.innerHTML = a.responseText;
 }
 a.send(null);
}

function randomTitleToggleShowhide() {
 var aShowhide = document.getElementById('a-Showhide');
 var randomtitletext = document.getElementById('randomtitletext');
 if (aShowhide.innerHTML == 'הראה') { // show
  randomtitletext.style.display = 'block';
  aShowhide.innerHTML = 'הסתר';
 } else { // hide
  randomtitletext.style.display = 'none';
  aShowhide.innerHTML = 'הראה'; 
 }
} 
 
function initRandomTitles() {
 if (!document.getElementById('randomtitle')) return;

 loadTitles();

 var spanTitle = document.getElementById('span-refresh');
 spanTitle.innerHTML = "";
 try { // for IE
    var aTitle = document.createElement('<A ID="a-Title"></A>');
 } catch (e) { // for FF
    var aTitle = document.createElement('A');
    aTitle.id = 'a-Title';
 };
 aTitle.href = 'javascript:randomTitleToggle();';
 aTitle.appendChild(document.createTextNode('הצג ערך אקראי אחר'));
 spanTitle.appendChild(aTitle);

 if (!document.getElementById('randomtitletext')) return;
 
 var spanShowhide = document.getElementById('span-showhide');
 spanShowhide.innerHTML = "";
 try { // for IE
    var aShowhide = document.createElement('<A ID="a-Showhide"></A>');
 } catch (e) { // for FF
    var aShowhide = document.createElement('A');
    aShowhide.id = 'a-Showhide';
 };
 aShowhide.href = 'javascript:randomTitleToggleShowhide();';
 aShowhide.appendChild(document.createTextNode('הראה'));
 spanShowhide.appendChild(aShowhide);
}
 
$(initRandomTitles);