history.replaceState 和 history.pushState的使用和注意事項 ------------黃丕巧


HTML5引入了history.pushState()和history.replaceState()這兩個方法,他們允許添加和修改history實體。同時,這些方法會和window.onpostate事件一起工作.

  1. replaceState是替換當前的歷史信息,pushState是添加一條新的歷史記錄
  2. 這兩個方法有三個參數(state,title,url);
  3. 第一個參數是一個json格式的參數,他可以存儲我們在當前歷史以后會用到的數據,也可以傳null;第二個官方的介紹是說頁面的標題,不過暫時用不到,直接傳null就可以了;第三個參數是當前歷史的url,如果為null則表示當前歷史的url和上一歷史的url沒發生變化

  示例:history.pushState({name:”名字”},null,”?name=張三”);

  注意:1.使用這兩個方法時並不會直接觸發onpopstate,而是存儲了歷史記錄后前進或后退才會會觸發onpopstate事件

     2.history.pushstate有安全限制,其中之一是不允許應用推動跨url-s歷史起源;服務器ip的端口不同和直接在電腦本地運行的html都會報錯:

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM