JavaScript——Location对象与History对象

Location对象

window的location属性和引用的是文档的Location对下个,它代表改窗口中当前显示的文档的URL

Location对象的属性
属性名称说明
host设置或检索位置或URL的主机名和端口号
hostname设置或检索位置或URL的主机名部分
href设置或检索完整的URL字符串
protocol使用的协议,常见的是http、ftp、file、mailto、JavaScript
searchURL中间号之后的部分,通常是某种类型的查询字符串
hash以字符串“#”开始指向一个位于文档中的anchor,是浏览器打开一个新的URL
Location对象的方法 
方法名称说明
assign("url")加载URL指定的新的HTML文档
reload()重新加载当前页
replace("url")通过记载URL指定的文档来替换当前文档

assign()方法:

实现按钮跳转到百度

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			function btnt() {
				// 跳转到百度网址
				location.assign("http://www.baidu.com")
			}
		</script>
		<!-- 设置一个按钮添加点击事件 -->
		<input type="button" value="点击跳转百度" onclick="btnt()">
	</body>
</html>

效果如下:

 reload()方法

实现页面的刷新功能

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			function btnt() {
				// 刷新
				location.reload()
			}
		</script>
		<!-- 设置一个按钮添加点击事件 -->
		<input type="button" value="刷新" onclick="btnt()">
	</body>
</html>

 演示如下:

 replace()方法

用百度页面代替当前页面,代码如下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			function btnt() {
				// 百度页面代替此页面
				location.replace("http://www.baidu.com")
			}
		</script>
		<!-- 设置一个按钮添加点击事件 -->
		<input type="button" value="百度页面" onclick="btnt()">
	</body>
</html>

效果如下:

 

 要注意的是replase方法是用其他的页面来代替当前页面,所以代替的页面没有记录

History对象

有关于客户访问过的URL的信息。

方法如下:

名称说明
back()记载一个History列表中的上一个URL
forward()加载History列表中的下一个URL
go()加载History列表中的一个URL或要求浏览器移动指定的页面数

现在我们就用back方法来实现两个页面的的相互跳转

首先要是设置第一个页面的跳转至第二个页面的设置如下代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			function btnt() {
				// 跳转第二个页面
				location.assign("index2.html")
			}
		</script>
		<!-- 设置一个按钮添加点击事件 -->
		<input type="button" value="跳转第二个页面" onclick="btnt()">
	</body>
</html>

然后我们在第二个页面中用back方法回到上个页面

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			function bak() {
				//返回上一个页面
				history.back()
			}
		</script>
		<input type="button" value="返回上一个页面" onclick="bak()">
	</body>
</html>

然后我们打开第一个代码运行看效果:

 再次基础上我们可以在第一个页面中加入forward()方法可以加载历史中的下一个页面

 从以上结果我们可以看出第一次点击跳转下一个页面的时候是不会跳转第二个页面的,但是我们先从写好的跳转到第二个页面中,然后在回到第一个页面中,这时再去跳转下一个页面,才会跳转成功。

结论:History对象是在使用过程中出现跳转等操作,History对象会记录下来用户的历史使用记录,而History对象方法是在用户的历史记录里进行的一系列操作

再来看一下go()方法

我们在以上案例基础上创建第三个页面

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
	</head>
	<body>
		<script>
				
				
			function tc(){
                //返回前两次记录
				history.go(-2)
			}
		</script>
		<input type="button" value="返回到前两次记录" onclick="tc()">
	</body>
</html>

演示结果:

 我们从第一个页面中跳转第二,第三个页面中我们可以看到go里的参数是-2,这代表着退回前两次的记录,如果是2的话,则代表跳转到后两次的记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值