javascript 獲取當前 URL 參數的兩種方法:
//返回的是字符串形式的參數,例如:class_id=3&id=2&
function getUrlArgStr(){
var q=location.search.substr(1);
var qs=q.split('&');
var argStr='';
if(qs){
for(var i=0;i<qs.length;i++){
argStr+=qs[i].substring(0,qs[i].indexOf('='))+'='+qs[i].substring(qs[i].indexOf('=')+1)+'&';
}
}
return argStr;
}
//返回的是對象形式的參數
function getUrlArgObject(){
var args=new Object();
var query=location.search.substring(1);//獲取查詢串
var pairs=query.split(",");//在逗號處斷開
for(var i=0;i<pairs.length;i++){
var pos=pairs[i].indexOf('=');//查找name=value
if(pos==-1){//如果沒有找到就跳過
continue;
}
var argname=pairs[i].substring(0,pos);//提取name
var value=pairs[i].substring(pos+1);//提取value
args[argname]=unescape(value);//存為屬性
}
return args;//返回對象
}
另外列出一些 javascript 獲取url中各個部分的功能方法:
window.location.host; //返回url 的主機部分,例如:www.xxx.com window.location.hostname; //返回www.xxx.com window.location.href; //返回整個url字符串(在瀏覽器中就是完整的地址欄),例如:www.xxx.com/index.php?class_id=3&id=2 window.location.pathname; //返回/a/index.php或者/index.php window.location.protocol; //返回url 的協議部分,例如: http:,ftp:,maito:等等。 window.location.port //url 的端口部分,如果采用默認的80端口,那么返回值並不是默認的80而是空字符
來源:http://www.daimajiayuan.com/sitejs-17210-1.html
