Javascript history物件的 history.pushState() 和 history.replaceState() 方法
history.pushState() 和 history.replaceState() 是history物件的兩個新增的方法,
是可以很好的操作歷史記錄的方法;
history.State()
history.State()的作用是向瀏覽器的歷史新增一條記錄,我們來看看如何使用這個方法:
我們建立一個html網頁檔案,在網頁中加入一個button按鈕即可,我們看看顯示效果
我們看到在位址列中顯示了檔案的地址,現在我們不重新整理網頁,也不跳轉到其它地址,
就在原網頁不變的情況下改變位址列中的地址,怎麼做呢?
<body>
<button id="abc">test</button>
<script>
var abc=document.getElementById("abc");
abc.οnclick=function(){
window.history.pushState(null,null,'?page=1');
}
</script>
</body>
在我們之前的網頁中新增javascript程式碼,也就是上面紅色的部分,使用了pushState()方法;
然後我們開啟這個網頁,開始的時候位址列是不變的,我們點選一下按鈕看看:
網頁本身沒有任何變化,只是位址列發生了變化,實現了無重新整理改變位址列,並且在歷史記錄
中新增了一個新的紀錄;
history.replaceState()
history.replaceState()的作用是替換當前的歷史記錄,我們看看如何使用這個方法:
在上面 history.pushState( ) 方法中,我們第一步建立了一個index.html網頁,
第二步我們使用pushState( )方法增加了一條歷史記錄,這是第二條歷史記錄;
現在我們在上面的基礎上改變一下,使用replaceState() 方法,程式碼:
<body>
<button id="abc">test</button>
<script>
var abc=document.getElementById("abc");
abc.οnclick=function(){
window.history.pushState(null,null,'?page=1');
history.replaceState(null, null, '?page=2');
}
</script>
我們再次進入網頁,並且點選按鈕,觸發js函式,
這個時候位址列中的地址為:file:///F:/web_pro/pro_p/index.html?page=2
我們使用replaceState()方法將歷史記錄 file:///F:/web_pro/pro_p/index.html?page=1
替換成了:file:///F:/web_pro/pro_p/index.html?page=2 ;
整個過程還是比較清楚的;
總結:pushState()方法是在歷史記錄中增加一條新的記錄;
replaceState()方法是將當前的歷史記錄給替換掉,傳說中的奪舍重生!
相關文章
- Html5使用history物件history.pushState()和history.replaceState()方法新增和修改瀏覽歷史記錄HTML物件
- JavaScript history 物件JavaScript物件
- history.pushState的實際使用筆記筆記
- javascript基礎(BMO常用物件:history和location)(四十)JavaScript物件
- history.pushState() 給網站新增和修改瀏覽歷史記錄網站
- 利用HTML5的history.replacestate()修改當前頁面的URLHTML
- 操縱瀏覽器歷史記錄 : popstate() 、 history.pushState() 、 window.history.pushState()瀏覽器
- history物件物件
- JavaScript訪問物件的屬性和方法JavaScript物件
- 使用Ajax和history.pushState()實現無重新整理改變頁面內容和位址列Url
- javascript操作物件的方法JavaScript物件
- JavaScript建立物件的多種方法JavaScript物件
- Javascript String物件方法JavaScript物件
- JavaScript的型別和物件JavaScript型別物件
- JavaScript物件導向—物件的建立和操作JavaScript物件
- js--history 物件詳解JS物件
- JavaScript內部物件和Date物件JavaScript物件
- JavaScript 基礎(二) – 建立 function 物件的方法, String物件, Array物件JavaScriptFunction物件
- javascript物件和php物件和json區別JavaScript物件PHPJSON
- JavaScript之物件和原型JavaScript物件原型
- JavaScript物件和JSONJavaScript物件JSON
- 四種在Javascript比較物件的方法JavaScript物件
- JavaScript的方法和技巧JavaScript
- JavaScript 本地物件、內建物件和宿主物件JavaScript物件
- javascript陣列和物件的區別JavaScript陣列物件
- JavaScript 中的 Range 和 Selection 物件JavaScript物件
- JavaScript遍歷物件方法總結JavaScript物件
- JavaScript客戶端document物件和window物件的區別JavaScript客戶端物件
- JavaScript 複習之 Object物件的相關方法JavaScriptObject物件
- javascript物件導向的方法過載的實現JavaScript物件
- history.go()和history.back()的區別是什麼Go
- jq 物件的 attr 和 data 方法物件
- Javascript中的事件物件和事件型別JavaScript事件物件型別
- JavaScript建立物件方法例項小結JavaScript物件
- JavaScript String 物件擴充套件方法JavaScript物件套件
- JavaScript建立物件4種方法詳解JavaScript物件
- Javascript 物件導向中的建構函式和原型物件JavaScript物件函式原型
- hash和history路由的區別路由