頁面跳轉可能是由於用戶單擊鏈接、按鈕等觸發的,也可能是系統自動產生的。頁面自動跳轉在WEB開發中經常用到,而且根據需求可以采用不同的跳轉方式,比如提示操作信息後延時跳轉等, 本文總結了WEB開發中常見的幾種頁面跳轉方法。
PHP header()函數跳轉
PHP的header()函數非常強大,其中在頁面url跳轉方面也調用簡單,使用header()直接跳轉到指定url頁面,這時頁面跳轉是302重定向:
$url = "http://www.jb51.net/"; header( "Location: $url" );
我們有可能會遇到特殊的跳轉時,比如網站改版有個頁面地址要做301重定向,當然你可以通過web配置rewrite來實現,但現在我要告訴大家,可以使用php的header()函數做301跳轉,代碼如下:
//301跳轉 header( "HTTP/1.1 301 Moved Permanently" ); header( "Location: $url" );
Meta設置跳轉
html中的meta信息裡可以直接設置跳轉,可以設置跳轉延遲時間和跳轉url,經常應用,比如支付完了告訴用戶支付成功並跳轉到訂單頁面,代碼非常簡單,就在<head>中加上一句:
<meta http-equiv="refresh" content="5;url=http://www.jb51.net">
以上代碼表示在5秒鐘後頁面會自動跳轉到http://www.jb51.net。
Javascript跳轉
Javascript跳轉也非常簡單,直接一句話:
<script> window.location.href="http://www.jb51.net"; </script>
注意,上面這段代碼直接跳轉後,在目標頁面地址中是獲取不到來路(referer,也叫來源)的,在實際項目中,遇到有客戶要求跳轉要帶來路(即目標網頁可以獲取到頁面從哪裡跳轉來的),這時,我們可以用javascript模擬一次點擊,然後跳轉就滿足了客戶的需求。
<script> //有來路 var aa = document.createElement("a"); aa.setAttribute("href","http://www.jb51.net"); var bodys=document.getElementsByTagName("body")[0]; bodys.appendChild(aa); aa.click(); </script>
當然,實際開發中我們可以把後面兩種方式整合到PHP中去,便於適用各種跳轉需求。
以上所述就是本文的全部內容了,希望大家能夠喜歡。