摘要:瀏覽器的對象提供的對象給予了我們訪問和操縱歷史記錄僅針對當前文檔的能力。瀏覽器返回一頁。標題,暫時大多數瀏覽器都會忽略此參數,傳入空字符串即可地址,傳入的應與原地址同源,否則會報錯事件每當同一個文檔的瀏覽歷史即對象出現變化時,就會觸發事件。
瀏覽器的 window 對象提供的 history 對象給予了我們訪問和操縱歷史記錄(僅針對當前文檔)的能力。
history apiwindow.history.back(); 瀏覽器返回一頁。
window.history.forward(); 瀏覽器前進一頁。
window.history.go(i); 瀏覽器前進(后退)i 頁,如果 i 為 0 ,則刷新當前頁面。
window.history.length; 瀏覽器歷史記錄棧中一共有多少頁。
window.history.state; 當前的狀態對象
window.history.replaceState(obj, title, url)
window.history.pushState(obj, title, url);
兩個方法都可以達到替換當前瀏覽器地址而不刷新頁面的作用:讓瀏覽器的地址欄顯示為我們傳入的地址,但不會加載該頁面也不會檢查該頁面是否存在。
區別在于前者會修改當前歷史記錄條目,而后者是創建新歷史記錄條目。
方法接受三個參數
狀態對象(state object),任何可序列化的對象都可以被當做狀態對象,大小限制為 640K。
標題(title) ,暫時大多數瀏覽器都會忽略此參數,傳入空字符串即可
地址(URL),傳入的 url 應與原地址同源,否則會報錯
popstate事件每當同一個文檔的瀏覽歷史(即 history 對象)出現變化時,就會觸發 popstate 事件。但是pushState 和 replaceState 兩個方法不會觸發該事件
事件的回調函數的 event 參數的state 屬性指向 pushState 和 replaceState 方法為當前 url 所提供的狀態對象(即這兩個方法的第一個參數)。
window.addEventListener("popstate", function(event) { console.log("location: " + document.location); console.log("state: " + JSON.stringify(event.state)); // 或者通過 var currentState = history.state; 來獲取狀態對象 });
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86376.html
摘要:與事件都是瀏覽器歷史記錄,兩者都是中的,相對而言比更為強大。事件本身只是監測的變化,我認為目前其主要意義就是與搭配使用從而使得在下歷史記錄前進后退按鈕依然有效。地址新的歷史記錄條目的地址。 hashchange與popstate事件都是瀏覽器歷史記錄API,兩者都是HTML5中的API,相對而言popstate比hashchange更為強大。注意這兩種歷史記錄管理都受同源策略的限制,這...
摘要:作為對象屬性的文檔元素如果文檔中用屬性為元素命名。其就是交互窗口中的每個窗口窗體都是的執行上下文。以對象作為全局對象,這樣的話,一個窗口窗體中的代碼可以應用到其他窗口或者窗體并且同源策略沒有進行阻止。 作為window對象屬性的文檔元素 如果html文檔中用id屬性為元素命名。并且如果 window對象沒有此名字的屬性,則window對象會賦予一個屬性,其名字為id屬性的值,其值指向該...
閱讀 3639·2021-11-24 09:38
閱讀 3142·2021-11-15 11:37
閱讀 781·2021-11-12 10:36
閱讀 3547·2021-10-21 09:38
閱讀 3220·2021-09-28 09:36
閱讀 2420·2021-09-22 16:01
閱讀 4986·2021-09-22 15:09
閱讀 1210·2019-08-30 15:55