• popstate实现history路由拦截,监听页面返回事件


    1、当活动历史记录条目更改时,将触发popstate事件。
    如果被激活的历史记录条目是通过对history.pushState()的调用创建的,
    或者受到对history.replaceState()的调用的影响,popstate事件的state属性包含历史条目的状态对象的副本。

    2、需要注意的是调用history.pushState()或history.replaceState()用来在浏览历史中添加或修改记录。不会触发popstate事件;
    只有在做出浏览器动作时,才会触发该事件,如用户点击浏览器的回退按钮(或者在Javascript代码中调用history.back())
    if (window.history && window.history.pushState) {
       window.onpopstate = function(event) {
          console.log("location: " + document.location + ", state: " + JSON.stringify(event.state));
          //window.history.go(1)
          //window.history.back()
       };
    
       //window.addEventListener("popstate", function(e) {
       //   window.location = 'http://www.baidu.com';
       //}, false);
    
       !function() {
          var state = {
             title: "title",
             url: "#"
          };
          window.history.pushState(state, "title", "#");
       }();
    
    }
    

     

    
    
  • 相关阅读:
    WEB测试用例(十五)
    WEB测试用例(十二)
    WEB测试用例(九)
    WEB测试用例(六)
    WEB测试用例(四)
    WEB测试用例(一)
    WEB测试方法(十一)
    WEB测试方法(十)
    Python 知识要点:对象的 init 和 del 方法
    Python 知识要点:类 和 对象
  • 原文地址:https://www.cnblogs.com/MrZouJian/p/8644744.html
Copyright © 2020-2023  润新知