_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

Wikipédia:Okos scriptek/zöldredir.js

A mai világban a Wikipédia:Okos scriptek/zöldredir.js olyan téma, amely nagy jelentőségűvé vált, és minden korosztály és kultúrájú ember figyelmét felkeltette. Akár a társadalomra, akár a mindennapi életre gyakorolt ​​hatása miatt, a Wikipédia:Okos scriptek/zöldredir.js érdekességgé vált azok számára, akik szeretnék jobban megérteni az őket körülvevő világot. Ahogy elmélyülünk ebben a cikkben, feltárjuk a Wikipédia:Okos scriptek/zöldredir.js különböző aspektusait, és megvitatjuk annak fontosságát a különböző területeken. Történelmi relevanciájától a mai hatásig a Wikipédia:Okos scriptek/zöldredir.js továbbra is vita és vita tárgya, amely megérdemli figyelmünket és elmélkedésünket.

//

 
// Ez a lap a
// http://en.wikipedia.org/w/index.php?title=User:Dschwen/highlightredirects.js
//  2007.november 23-adikán készült másolata.
//
// A monobook.js-be iktatva megjelenít a lapokon felül egy új fület.
// A fülre kattintva - némi várakozás - után az éppen szemlélt lapon  
// bezöldülnek a REDIR-re mutató belső hivatkozások.
// 
// Így iktassad be a Special:Mypage/monobook.js lapodra:
//
// mw.loader.load('http://hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Okos_scriptek/z%C3%B6ldredir.js'
//             + '&action=raw&ctype=text/javascript&dontcountme=s');
//
// Ne felejtsd el kiüríteni utána a cache-t ! (CTRL+R)
//
// FIGYELEM! Ősrégi cucc, nagy valószínűséggel nem működik, egyébként is van
// már CSS-verzió, ami bekapcsolható a segédeszközöknél.
//

var highlightRedirects = {
 
tab_redirects : null,
status: null,
xhr : null,
todo : null,
num : { total:0, done:0, redir:0 },

//
// Try to create an XMLHTTP request object for each tile
// with maximum browser compat.
// code adapted from http://jibbering.com/2002/4/httprequest.html
//
createXMLHTTP : function()
{
  var i, xhr;

  /*@cc_on @*/
  /*@if (@_jscript_version >= 5)
  // Internet Explorer (uses Conditional compilation)
  // traps security blocked creation of the objects.
   wmaDebug('Microsoft section');
   try {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
    try {
     xhr = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
     xhr = false;
    }
   }
  @end @*/

  // Firefox, Konqueror, Safari, Mozilla
  if (!xhr && typeof(XMLHttpRequest) != 'undefined') {
   try {
    xhr = new XMLHttpRequest();
   } catch (e) {
    xhr = false;
   }
  }

  // ICE browser
  if (!xhr && window.createRequest) {
   try {
    xhr = new window.createRequest();
   } catch (e) {
    xhr = false;
   }
  }

  return xhr;
},

updateStatus : function()
{
  with( highlightRedirects )
  {
   status.nodeValue = ' (' + num.redir + '/' + num.done + '/' + num.total + ')';
  }
},

// cross-browser event attachment (John Resig)
// http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
addEvent : function ( obj, type, fn )
{
  if (obj.addEventListener)
   obj.addEventListener( type, fn, false );
  else if (obj.attachEvent)
  {
   obj = fn;
   obj = function() { obj( window.event ); }
   obj.attachEvent( "on"+type, obj );
  }
},

run : function()
{
  var links = document.getElementById('bodyContent').getElementsByTagName('a');
  var len = links.length;
  var local = window.location.href + '#'
 
  if( highlightRedirects.todo != null ) return;

  highlightRedirects.todo = new Array();

  for( var key = 0; key < len; key++ )
  {
   if( links.href && 
       links.pathname &&
       links.pathname.substr(0,6) == 'https://wiki386.com/hu/' &&
       !( links.href.substr(0,local.length) == local ) &&
       !( links.pathname.substr(6,8) == 'Special:' ) )
   {
    highlightRedirects.todo =
    {
     link : links,
     xhr  : highlightRedirects.createXMLHTTP(),
     func : new Function(
       'var me = highlightRedirects.todo;' + 
       'if(me.xhr.readyState==4) {' +
        'var ro=eval("("+me.xhr.responseText+")");' +
        'var redir=false;' +
        'for( var k in ro.query.pages ) {' + 
         'if( typeof(ro.query.pages.redirect) != "undefined" ) redir=true;' +
        '}' +
        'if(redir) {' + 
         'me.link.style.color="green";' +
         'highlightRedirects.num.redir++;' +
        '}' + 
        'else me.link.style.color="blue";' +
        'highlightRedirects.num.done++; highlightRedirects.updateStatus();' +
       '}' 
     )
    }

    links.style.color = 'gray';

    with(highlightRedirects.todo)
    {
     xhr.open("GET", 
      "/w/api.php?action=query&prop=info&format=json&titles=" +
      links.pathname.substr(6), true);

     xhr.onreadystatechange = func;
     xhr.send( null ); 
    }

    highlightRedirects.num.total++;
   }
  }
},

install : function()
{
  with(highlightRedirects)
  {
   tab_redirects = document.createElement('li');
   tab_redirects.style.cursor = 'pointer';
   tab_redirects.style.padding = '0pt 0.8em 0pt 0.8em';
   tab_redirects.style.color = '#002BB8';

   status = document.createTextNode('');
   tab_redirects.appendChild( document.createTextNode('átirányítások') );
   tab_redirects.appendChild( status );

   if( document.getElementById('ca-history') ) 
    document.getElementById('ca-history').parentNode.appendChild( tab_redirects  );

   addEvent( tab_redirects, 'click', run );
  }
}

};

//
// Hook up installation function
//
$(highlightRedirects.install);

//