location对象
location 对象是很特别的一个对象,因为它既是window 对象的属性,也是document 对象的属性,换句话说,window.location 和document.location 引用的是同一个对象。
location对象属性
hash: 返回URL中的hash(#号后跟零或多个字符),如果URL
中不包含散列,则返回空字符串。例如:”#contents”。
host:返回服务器名称和端口号(如果有),如:”www.example.com:80”。
hostname:返回不带端口号的服务器名称,例如:”www.wrox.com”
href: 返回当前加载页面的完整URL。
pathname: 返回URL中的目录和(或)文件名。例如:’/data/’>
port: 返回URL中指定的端口号。如果URL中不包含端口号,则
这个属性返回空字符串,例如:“8080”
protocol: 返回页面使用的协议。通常是http:或https:
search: 返回URL的查询字符串。这个字符串以问号开头。例如:“?q=javascript”。
获取查询字符串参数的方法:
function getQueryStringArgs(){
//取得查询字符串并去掉开头的问号
var qs = (location.search.length > 0 ? location.search.substring(1) : ""),
//保存数据的对象
args = {},
//取得每一项
items = qs.length ? qs.split("&") : [],
//定义每一项
item = null,
name = null,//键
value = null,//值
//在for 循环中使用
i = 0,
len = items.length;
//逐个将每一项添加到args 对象中
for (i=0; i < len; i++){
item = items[i].split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
if (name.length) {
args[name] = value;
}
}
return args;
}
//假设查询字符串是?q=javascript&num=10
var args = getQueryStringArgs();
alert(args["q"]); //"javascript"
alert(args["num"]); //"10"
重新加载页面:
如果调用reload()时不传递任何参数,页面就会以最有效的方式重新加载。也就是说,如果页面自上次请求以来并没有改变过,页面就会从浏览器缓存中重新加载。如果要强制从服务器重新加载,则需要像下面这样为该方法传递参数true。
location.reload(); //重新加载(有可能从缓存中加载)
location.reload(true); //重新加载(从服务器重新加载)