history对象

本文介绍了一种使用HTML和JavaScript实现的网页导航系统。该系统包括前进、后退按钮及手动创建历史记录的功能,利用history对象来控制浏览器的历史记录,使用户能够通过点击按钮在页面间导航。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!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>Document</title>
    <style>
        .box{
            height: 500px;
            margin: 20px;
            background-color: skyblue;
        }
        #ctrl{
            position: fixed;
            left: 0;
            top: 50px;
        }
    </style>
</head>
<body>
    <a href="#page3">前往page3</a>
    <a href="#page4">前往page4</a>
    <br>
    <div id="ctrl">

        <button id="back-btn" >后退</button>
        <button id="forward-btn">前进</button>
        <button id="create-btn">生成历史记录</button>
    </div>


    <div class="box" id="page1">1</div>
    <div class="box" id="page2">2</div>
    <div class="box" id="page3">3</div>
    <div class="box" id="page4">4</div>
    <div class="box" id="page5">5</div>
<script>
    // history对象,用于控制页面的历史记录,例如前进后退等
    // console.log(history);

    document.getElementById("back-btn").onclick = function(){
        // history.back方法,使当前页面后退一层.
        history.back();
        // history.go(n);前进或后退n层
        history.go(-2);
    }
    document.getElementById("forward-btn").onclick = function(){
        // 前进一层
        history.forward();
    }
    document.getElementById("create-btn").onclick = function(){
        // history.pushState方法,用于生成一条历史记录,第一个参数是自定义数据,第二个参数是历史记录标题,第三个参数是url
        history.pushState("自定义数,可以是任意类型","人工插入的记录","#page5");
    }
    // 通过js代码插入的历史记录,在后退时浏览器不会执行页面上的操作,而是会通过触发onpopstate事件提示开发者用户后退了,开发者在这个事件函数中执行需要修改的代码
    window.onpopstate = function(e){
        console.log(e);
    }
</script>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值