让学习“上瘾”,成为更好的自己!!!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>location对象</title>
<script>
/*
location对象:提供了与当前窗口中加载的文档有关的信息,也提供了一下导航功能,并将URL解析为独立的片段,让开发人员可以通过不同的属性访问这些片段
location对象既是window对象的属性,也是document对象的属性
属性: hash: 返回“#”号跟零或多个字符
host: hostname+port
hostname:
href:返回当前加载页面的完整URL
pathname:返回URL目录和文件名
port
protocol
search: 返回URL的查询字符串,这个字符以问号开头
1,查询字符串参数
2,位置操作
*/
// 1,查询字符串参数(基于location.search)
function getQueryStringArgs() {
var qs = (location.search > 0 ? location.search.substring(1) : ''),
// 保存数据的对象
args = {};
// 取得每一项
var items = qs.length ? qs.split('&') : [],
item = null,
name = null,
value = null;
// 在循环中使用
len = items.length;
for (var i = 0; i < len; i++) {
item = items[i].split('=');
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
if(name.length){
arg[name] = value;
}
}
return args;
}
// 2,位置操作
// 使用location对象来改变浏览器的位置
// (1) assign(): 接收一个URL 【最常用的方法】
// location.assign('https://www.baidu.com');
// 立即打开新的URL并在浏览器的历史记录中生成一条记录
// 将location.href and window.location设置为URL,也会调用assign()方法
// // 效果一致
// location.href = 'https://www.baidu.com'; // 改变浏览器位置的方法中最常用的就是设置location.href属性
// window.location = 'https://www.baidu.com';
// (2) 修改location对象的其他属性也可以改变当前加载的页面
// 将hash,search,hostname,pathname,port属性设置为新值来改变URL
// 每次修改location的属性(hash除外),页面都会以新的URL重新加载
// (3) replace()方法:禁用上边通过“后退”导航到上一个页面的行为
// replace()也会导致浏览器的位置改变,但是不会在历史记录中生成新纪录!!
// location.replace('https://www.taobao.com');
// (4) reload():重新加载当前显示的页面
// a, 没有参数时,页面会以最有效的方法重新加载,页面从浏览器的缓存中重新加载
// b, 若要强制地从服务器重新加载,则需要传递参数true
location.reload(true); // 从服务器重新加载
// 【注意】位于reload()调用后的代码可能会也可能不会执行,因此,reload()最好代码放在程序最后一行!!!
</script>
</head>
<body>
</body>
</html>