//以键值对的方式读取查询字符串
//例如【http://localhost/test.htm?first=1&second=2】
function getQueryString(key)
{
var value = "";
//获取当前文档的URL,为后面分析它做准备
var sURL = window.document.URL;
//URL中是否包含查询字符串
if (sURL.indexOf("?") > 0)
{
//分解URL,第二的元素为完整的查询字符串
//即arrayParams[1]的值为【first=1&second=2】
var arrayParams = sURL.split("?");
//分解查询字符串
//arrayURLParams[0]的值为【first=1 】
//arrayURLParams[2]的值为【second=2】
var arrayURLParams = arrayParams[1].split("&");
//遍历分解后的键值对
for (var i = 0; i < arrayURLParams.length; i++)
{
//分解一个键值对
var sParam = arrayURLParams[i].split("=");
if ((sParam[0] == key) && (sParam[1] != ""))
{
//找到匹配的的键,且值不为空
value = sParam[1];
break;
}
}
}
return value;
}
用这个方法读取QueryString,对于追求效率的朋友可能会不赞同,但我考虑到QueryString在一个URL里面不会太长太多.而且使用这种层层剥茧、逐步分解的方式,更符合人的思维方式.