diff options
author | Evan Prodromou <evan@status.net> | 2009-09-23 09:29:02 -0400 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2009-09-23 09:29:02 -0400 |
commit | c01a5b8f2e37fe876507edfccc01126a117d9728 (patch) | |
tree | 93090403212c52e75a717730791917b1cc6f8fa0 /plugins/Realtime/jquery.getUrlParam.js | |
parent | e80fad7ad9bd0bee6a9cf4cfd1615a9b07277364 (diff) | |
parent | acd5a53257f6d0677d1630e4f6cae80706cdbdba (diff) |
Merge branch '0.8.x' of git@gitorious.org:statusnet/mainline into 0.8.x
Diffstat (limited to 'plugins/Realtime/jquery.getUrlParam.js')
-rw-r--r-- | plugins/Realtime/jquery.getUrlParam.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/plugins/Realtime/jquery.getUrlParam.js b/plugins/Realtime/jquery.getUrlParam.js new file mode 100644 index 000000000..e8f73eb47 --- /dev/null +++ b/plugins/Realtime/jquery.getUrlParam.js @@ -0,0 +1,72 @@ +/* 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; + } +});
\ No newline at end of file |