Team:TU Munich/jquery.getUrlParam.js

From 2011.igem.org

/* Copyright (c) 2006-2007 Mathias Bank (http://www.mathias-bank.de)

* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
* 
* Version 2.1
* 
* Thanks to 
* Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing.
* Tom Leonard for some improvements
* 
*/

jQuery.fn.extend({ /**

  • Returns get parameters.
  • If the desired param does not exist, null will be returned
  • To get the document params:
  • @example value = $(document).getUrlParam("paramName");
  • To get the params of a html-attribut (uses src attribute)
  • @example value = $('#imgLink').getUrlParam("paramName");
  • /
getUrlParam: function(strParamName){

strParamName = escape(unescape(strParamName));

var returnVal = new Array(); var qString = null;

if ($(this).attr("nodeName")=="#document") { //document-handler

if (window.location.search.search(strParamName) > -1 ){

qString = window.location.search.substr(1,window.location.search.length).split("&"); }

} else if ($(this).attr("src")!="undefined") {

var strHref = $(this).attr("src") if ( strHref.indexOf("?") > -1 ){ var strQueryString = strHref.substr(strHref.indexOf("?")+1); qString = strQueryString.split("&"); } } else if ($(this).attr("href")!="undefined") {

var strHref = $(this).attr("href") if ( strHref.indexOf("?") > -1 ){ var strQueryString = strHref.substr(strHref.indexOf("?")+1); qString = strQueryString.split("&"); } } else { return null; }


if (qString==null) return null;


for (var i=0;i<qString.length; i++){ if (escape(unescape(qString[i].split("=")[0])) == strParamName){ returnVal.push(qString[i].split("=")[1]); }

}


if (returnVal.length==0) return null; else if (returnVal.length==1) return returnVal[0]; else return returnVal; } });