JavaScript-location:封装当前窗口正在打开的url的对象

时间:2023-03-09 08:20:30
JavaScript-location:封装当前窗口正在打开的url的对象
 location:封装当前窗口正在打开的url的对象

     href:完整的url
protocol:协议
host:主机名+端口
hostname:主机名
port:端口
pathname:路径
hash:#锚点名
search:?表单变量 方法:在当前窗口打开新链接:
location.href="url";
location="url";
location.assign("url"); 方法:在当前窗口打打开,不可后退
location.replace("url") 重新加载当前页面:
location。reload(force);
其中force:表示是否强制从服务器硬盘获取文件true/false
 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form>
姓名:<input name="username"/><br/>
密码:<input type="password" name="pwd"/><br/>
<input type="submit"/><br/>
<!-- 实现不能后退的页面跳转-->
<a href="javascript:location.replace('http://www.baidu.com')">go to tmooc</a>
</form>
<script>
function getSearch(){
//获得url中的查询字符串,保存在变量search中:
//"?变量名=值&变量名=值";
var search=location.search;
//创建空对象params;
var params={};
//如果search!="";
if(search!=""){
//去掉search开头的?,再按切割&切割,将结果保存在变量props中
var props=search.slice(1).split("&"); //slice:截取(复制),split(切割)
//遍历props中每个元素
for(var i=0; i<props.length;i++){
//将当前元素按=切割,结果保存在变量arr中
var arr=props[i].split("=");
//想params对象中添加新属性:
//属性名为arr中第0个元素
//属性值为arr中第一个元素
params[arr[0]]=arr[1];
}
}
//{变量名:值,变量名:值}
//返回params
return params;
}
console.dir(getSearch());
//{变量名:值,变量名:值}
</script>
</body>
</html>