监听popstate事件以处理浏览器的后退和前进操作

      // 创建一个状态对象
        var stateObj = { foo: "bar" };
        // 设定新的标题(大多数浏览器不支持,传空字符串)
        var newTitle = "这是新页面的标题";
          
        // 要浏览的新页面的URL(可选,不过好的实践是提供一个值)
        var newUrl = "/new/index";
          
        // 使用pushState方法添加新历史记录条目
        history.pushState(stateObj, newTitle, newUrl);
          
        // 监听popstate事件以处理浏览器的后退和前进操作
        window.addEventListener("popstate", function(e) {
            // 获取状态对象
            var state = e.state;
            // 状态对象可能为null或者undefined
            if (state) {
              a=false
                // 状态对象中的foo应该是"bar"
                alert(state); // 输出"bar"
            }
        });

pushstate和replacestate事件

pushstate事件可以将一个新的历史记录添加到浏览器历史记录中,并且不会立即跳转到新的页面。该方法接受三个参数,分别是状态对象(state object)、标题(title)和 URL(url)。例如:这个事件通常用于实现单页应用程序的导航。
例如: history.pushState({page: 1}, “Page 1”, “/page1”);

replacestate事件与pushstate事件类似,但是它会替换当前的历史记录,而不是添加一个新的记录。这个事件通常用于在不刷新页面的情况下修改URL。
例如: history.replaceState({page: 2}, “Page 2”, “/page2”);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大王0111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值