zoukankan      html  css  js  c++  java
  • history

    window.location.hash = 'contDEF';

    window.onhashchange=function(e){a=e;alert(1)}

    使用 history.back(), history.forward()和 history.go() 方法来完成在用户历史记录中向后和向前的跳转.等操作会主动触发popstate 事件

    window上有popstate事件

    pushState,replaceState 不会触发popstate事件

    pushState只会在当前history中添加一条记录,并不会刷新浏览器

    replaceState会替换当前的history中的记录,并且刷新浏览器

    window.addEventListener('popstate',function(){alert(11)})

    从某种程度来说, 调用 pushState() 和 window.location = "#foo"基本上一样, 他们都会在当前的document中创建和激活一个新的历史记录。但是 pushState() 有以下优势:

    • 新的URL可以是任何和当前URL同源的URL。但是设置 window.location 只会在你只设置锚的时候才会使当前的URL。

    • 非强制修改URL。相反,设置 window.location = "#foo"; 仅仅会在锚的值不是#foo情况下创建一条新的历史记录。

    • 可以在新的历史记录中关联任何数据。window.location = "#foo"形式的操作,你只可以将所需数据写入锚的字符串中。

    注意: pushState() 不会造成 hashchange 事件调用, 即使新的URL和之前的URL只是锚的数据不同。window.location改变,会增加history记录

  • 相关阅读:
    zlib 2.1.8 编译遇到的问题以及解决方法
    Golang简单日志类
    Golang获得执行文件的当前路径
    Golang的session管理器
    cocos2dx spine之二 :spine变色
    cocos2dx spine之一 :spine缓存 (c++ & lua)
    动态规划
    动态规划
    数学
    [Offer收割]编程练习赛3
  • 原文地址:https://www.cnblogs.com/lhs-fight/p/14219924.html
Copyright © 2011-2022 走看看