常用用法
当处理及操作文件时,常常需要使用JS中操作URL。其常用用法如下:
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port; // => "3000"
parser.pathname; // => "/pathname/"
parser.search; // => "?search=test"
parser.hash; // => "#hash"
parser.host; // => "example.com:3000"
参数解析方法
获取指定参数的值
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
则通过以上方法,解析http://www.runoob.com/index.php?id=1&image=awesome.jpg
时,
调用getQueryVariable("id")
将返回1
调用getQueryVariable("image")
将返回awesome.jpg
获取全部参数(返回数组)
var getSearchParams = function(search) {
var paramPart = search.substr(1).split('&');
return paramPart.reduce(function(res, item) {
parts = item.split('=');
res[parts[0]] = parts[1];
return res;
}, {});
}
它将返回一个{key: value, …}的对象,方便进一步处理这些参数