WEB開發中常常會遇到頁面跳轉或延時跳轉的需求,掌握各類頁面跳轉方式很是必要。javascript
如下是我總結有用HTML/JS/PHP三類方式實現跳轉的方法,例子皆爲三秒後跳轉到index.php頁面。php
1,HTML方法:java
在HEAD中添加<meta>標籤瀏覽器
<meta http-equiv=」refresh」 content=」3;url=’index.php’」 >
2,JS控制跳轉方法ui
A.Location直接加連接方式url
<script type="text/javascript"> setTimeout("window.location=('index.php'",3000); </script>
B.Location.href方式spa
<script type="text/javascript"> setTimeout("window.location.href='index.php'",3000); </script>
C.Location.assign方式code
<script type="text/javascript"> setTimeout("window.location.assign('index.php')",3000); </script>
D.Location.replace方式(注意頁面是被「替換」掉了,不會在瀏覽器的歷史記錄被查詢到)blog
<script type="text/javascript">
Widdow.location.replace(‘index.php’);
</script>
E.JS歷史記錄go(n)方式(n表示對歷史記錄相對當前頁的前進步數,n爲負數表示返回之前的頁面)ip
<script type="text/javascript">
window.history.go(n);
</script>
F.JS歷史記錄go(url)方式(注意url必須是歷史記錄內的,否則頁面不會進行跳轉)
<script type="text/javascript">
window.history.go(‘index.php’);
</script>
G.JS window.open方式,經過打開一個新窗口,實現跳轉。(其第二個屬性爲可選目標選項,值能夠是frame id/_blank等,第三個選項爲新彈出窗口的具體設置選項,包括height/width等)
<script type="text/javascript"> setTimeout("window.open('index.php',target,args)",3000); </script>
3,PHP腳本控制跳轉方式,經過改寫HTTP頭信息來進行跳轉
A.header refresh方式:
Header(「refresh:3;url=’index.php’」);
B. header location 方式 :
sleep(3); Header(「location:index.php」);
要注意這種方式會致使沒法進入當前頁面。即若當前在register.php頁面連接到login.php頁面時,login.php頁面內用header location方式跳轉,頁面會從register.php頁面直接等待三秒跳轉到index.php,不會進入到login.php頁面,這是由於header location會對頁面進行重定向。
若有錯誤,歡迎指正,謝謝。