மீடியாவிக்கி:Common.js

நூலகம் இல் இருந்து
தாவிச் செல்ல:வழிசெலுத்தல், தேடுக
//<pre><nowiki>
// *****************************************************************
// Cascading useskin/uselang parameter preservation
// *****************************************************************
/* 
This script simply iterates through all links and forms and appends
any uselang/useskin parameters in the current URL. 

For links, it only grabs local that aren't a null anchor, ignoring
external and javascript.

For forms, it ignores external and javascript too.

Known issues:
 * Local page anchors may cause page to reload.
 * Some forms result in a 301 redirect (will break cascading).
*/

if((queryString('uselang'))||(queryString('useskin')) && wgUserName == null) addOnloadHook(cascadeSkinLang)

function cascadeSkinLang() {
  var links = document.getElementsByTagName('a');
  var forms = document.getElementsByTagName('form');
  var parmchr;
  var parm;

  if(queryString('uselang')) {
    parm = 'uselang=' + queryString('uselang');
  }
  if(queryString('useskin')) {
    if(queryString('uselang')) {
      parm += '&useskin=' + queryString('useskin');
    } else {
      parm = 'useskin=' + queryString('useskin');
    }
  }

  for(var i=0;i<links.length;i++) {
    if((links[i].href.indexOf(wgServer)==0) && (links[i].href!=wgServer+'/#') && links[i].href.indexOf('useskin')==-1 && links[i].href.indexOf('uselang')==-1) {
      parmchr = (links[i].href.indexOf('?')==-1) ? '?' : '&';
      if(links[i].href.indexOf('#')==-1) {
        links[i].href += parmchr + parm;
      } else {
        links[i].href = links[i].href.substring(0,links[i].href.indexOf('#')) + parmchr + parm + links[i].href.substring(links[i].href.indexOf('#'));
      }
    }
  }

  for(var i=0;i<forms.length;i++) {
    if((forms[i].action.indexOf('http://')==-1)&&(forms[i].action.indexOf('avascript:')==-1)) {
      parmchr = (forms[i].action.indexOf('?')==-1) ? '?' : '&';
      forms[i].action += parmchr + parm;
    }
  }
}

function queryString(p) {
  var re = RegExp('[&?]' + p + '=([^&]*)');
  var matches;
  if (matches = re.exec(document.location)) {
    try { 
      return decodeURI(matches[1]);
    } catch (e) {
    }
  }
  return null;
}

//</nowiki></pre>
"https://www.noolaham.org/wiki/index.php?title=மீடியாவிக்கி:Common.js&oldid=19098" இருந்து மீள்விக்கப்பட்டது