1. 程式人生 > 其它 >bom操作----history物件

bom操作----history物件

目錄

一、後退—back()

  • 移動到上一個訪問頁面,等同於瀏覽器的後退鍵。
	history.back();//後退

二、前進—forward()

  • 移動到下一個訪問頁面,等同於瀏覽器的前進鍵。
	history.forward();//前進
<button id="gol">倒退</button>
<button
id="gor">
前進</button> <script> console.log(window.history); gol.onclick = function(){ history.back(); } gor.onclick = function(){ history.forward(); } </script>

三、go()

  • 接受一個整數作為引數,移動到該整數指定的頁面,比如go(1)相當於forward(),go(-1)相當於back()。
  • 引數為1:前進1;引數為-1:倒退1
  • 引數為2:前進2;引數為-2:倒退2
  • history.go(0)相當於重新整理當前頁面。
history.go(1);

四、pushState()----建立一條歷史記錄

  • history.pushState(data,title,url)–每執行一次都會增加一條歷史記錄,瀏覽器在返回時,就不會返回前一個頁面了,
  • data:要設定的history.state的值,可以是任意型別的值,可根據此值進行判斷執行想要的操作。
  • title:現在大多數瀏覽器不支援或者忽略這個引數,最好用null代替。
  • url:位址列的值,若不需要可用空來代替。
	history.pushState(null,'window物件',"./window物件.html");
  • 下面這個程式碼是可以監聽到前進倒退按鈕的狀態
	window.addEventListener("popstate",function(){
       console.log(1);
   })

五、replaceState()----修改當前的歷史記錄

  • replaceState()是用來修改當前的歷史記錄(history實體),而不是建立一個新的歷史記錄,所以,當執行完history.replaceState()後,點選返回按鈕照樣會返回上一個一面。當需要更新一個state物件或者當前history實體時,可以用replaceState()來實現。
	history.replaceState(null,null,"./window物件.html");

六、禁止主介面系統回退

  • login.html
	<body>
	登入介面
	<a href="./admin.html">登入</a>
	<script>
	    history.replaceState(null,null,'./admin.html');
	</script>
	</body>
  • admin.html
	<body>
		主系統介面
	</body>

在這裡插入圖片描述

七、標籤實現前進倒退

  • login.html
	<body>
	登入介面
		<a href="./admin.html">登入</a>
		<a href="javascript:history.go(-1);">倒退</a>
		<a href="javascript:history.go(1);">前進</a>
	</body>
  • admin.html
	<body>
		主系統介面
	</body>
  • 禁止a點選跳轉
  • href=“javascript:void(0)”