美文网首页
window.history对象

window.history对象

作者: 广告位招租 | 来源:发表于2019-03-20 19:34 被阅读0次

History 对象包含用户(在浏览器窗口中)访问过的 URL。

history对象属性

length: 返回历史列表中的网址数
state: 获取当前状态

history对象方法

back(): 加载 history 列表中的前一个 URL
forward(): 加载 history 列表中的下一个 URL
go(): 加载 history 列表中的某个具体页面

html5新增方法

HTML5为history对象添加了两个新方法,history.pushState()和history.replaceState(),用来在浏览历史中添加和修改记录。state属性用来保存记录对象,而popstate事件用来监听history对象的变化

  • history.pushState(): 在浏览历史中添加记录

需要三个参数: 一个状态对象, 一个标题 (目前被忽略), 和 (可选的) 一个URL. :

状态对象 — 状态对象state是一个JavaScript对象,通过pushState () 创建新的历史记录条目。无论什么时候用户导航到新的状态,popstate事件就会被触发,且该事件的state属性包含该历史记录条目状态对象的副本。

状态对象可以是能被序列化的任何东西。原因在于Firefox将状态对象保存在用户的磁盘上,以便在用户重启浏览器时使用,我们规定了状态对象在序列化表示后有640k的大小限制。如果你给 pushState() 方法传了一个序列化后大于640k的状态对象,该方法会抛出异常。如果你需要更大的空间,建议使用 sessionStorage 以及 localStorage.

标题 — Firefox 目前忽略这个参数,但未来可能会用到。传递一个空字符串在这里是安全的,而在将来这是不安全的。二选一的话,你可以为跳转的state传递一个短标题。

URL — 该参数定义了新的历史URL记录。注意,调用 pushState() 后浏览器并不会立即加载这个URL,但可能会在稍后某些情况下加载这个URL,比如在用户重新打开浏览器时。新URL不必须为绝对路径。如果新URL是相对路径,那么它将被作为相对于当前URL处理。新URL必须与当前URL同源,否则 pushState() 会抛出一个异常。该参数是可选的,缺省为当前URL。

  • history.replaceState():在浏览历史中修改记录
    参数同上

popstate 事件

每当活动的历史记录项发生变化时, popstate 事件都会被传递给window对象。如果当前活动的历史记录项是被 pushState 创建的,或者是由 replaceState 改变的,那么 popstate 事件的状态属性 state 会包含一个当前历史记录状态对象的拷贝。

相关文章

  • js基础之Window History(BOM)

    window.history 对象包含浏览器历史。window.history 对象可不带 window 书写。 ...

  • JavaScript Window History

    window.history 对象包含浏览器的历史。 Window History window.history对...

  • BOM(Browser Object Model)

    window.history 返回history对象的引用 window.history.forword() / ...

  • window.history对象

    History 对象包含用户(在浏览器窗口中)访问过的 URL。 history对象属性 length: 返回历史...

  • history

    window.history属性指向 History 对象,它表示当前窗口的浏览历史。 History 对象保存了...

  • JS History对象

    概述 window.history属性指向History对象,它表示当前窗口的浏览历史。 History对象保存了...

  • 浏览器内置对象 - history

    Window.history是一个只读属性,用来获取History 对象的引用,History 对象提供了操作浏览...

  • 4 js之Window History

    1 window.history 对象包含浏览器的历史。 2 Window Historywindow.histo...

  • 关于history对象的知识

    window.history属性指向 History 对象,它表示当前窗口的浏览历史 window.history...

  • javascript BOM操作之(二)window.histo

    Window.history是一个只读属性,用来获取History对象的引用,History对象提供了操作浏览器会...

网友评论

      本文标题:window.history对象

      本文链接:https://www.haomeiwen.com/subject/mlmnmqtx.html