CSDN发布地址http://blog.csdn.net/hope_it/article/details/72802092
location是BOM对象,提供了与当前窗口中加载的文档有关的信息。
属性
- protocol
// 返回页面使用的协议,Http或Https
- hostname
// 返回不带端口号的服务器名称
- host
// 返回服务器名称带端口号(如果有)
- post
// 返回服务器端口号
- pathname
// f返回url中的目录,类似`/user/`
- href
// 返回当前页面完整url
- hash
// 返回url中的hash(#号以后的字符,包含#号)
- origin
// origin 只读属性是一个 USVString ,其中包含代表URL的原始码的Unicode序列化
- search
// 返回url字符串。以?号结尾
查询字符串
/*获取url中的参数,返回数组*/
function getQueryString() {
var qs = location.search.substr(1), // 获取url中"?"符后的字串
args = {}, // 保存参数数据的对象
items = qs.length ? qs.split("&") : [], // 取得每一个参数项,
item = null,
len = items.length;
for (var i = 0; i < len; i++) {
item = items[i].split("=");
var name = decodeURIComponent(item[0]),
value = decodeURIComponent(item[1]);
if (name) {
args[name] = value;
}
}
return args;
}
查询指定字符串
// 根据name获取参数
function getQueryStringByName(name) {
var result = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i"));
if (result == null || result.length < 1) {
return "";
}
return result[1];
}
方法
- Location.assign()
// 加载给定URL的内容资源到这个Location对象所关联的对象上。
- Location.reload()
// 重新加载来自当前 URL的资源。
- Location.replace()
// 用给定的URL替换掉当前的资源。与 assign() 方法不同的是用 replace()替换的新页面不会被保存在会话的历史 History中,这意味着用户将不能用后退按钮转到该页面。
- URLUtils.toString()
// 返回一个DOMString,包含整个URL。 它和读取URLUtils.href的效果相同。但是用它是不能够修改Location的值的。