DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 網站頁面自動跳轉實現方法PHP、JSP(下)
網站頁面自動跳轉實現方法PHP、JSP(下)
編輯:關於JavaScript     

本文討論網頁自動跳轉的幾種實現方法。
方法一:使用meta標簽meta標簽是html不可或缺的標簽之一,它負責提供文檔的元信息,其參數主要有:
① http-equiv: 與 文檔中數據相關的HTTP文件首部
② content: 與命名HTTP首部相關的數據
③ name: 文檔描述
④ url: 與元信息相聯系的URL當我們定義屬性http-equiv為refresh,打開此Web頁時系統將根據content規定的值在一定時間內跳轉到相應頁面,content="秒數;url=網址"就是定義了過多長時間跳轉到指定的網址。以下meta標簽告訴系統一秒鐘後頁面自動跳轉到黑馬在線動力:
<meta http-equiv="refresh" content="1;url=http://www.jb51.net/">
以上代碼需要加在HTTP文檔首部中,介於<head>與</head>之間,通常,meta標簽是緊跟在<head>之後。若需要有多個meta標簽,它們可以各占一行。
此法通用於任何環境,包含靜態的網站空間。
方法二:使用header函數header函數是php內置函數中的HTTP相關函數之一,該函數送出HTTP協議標頭到浏覽器。使用它可以重定向URL,即令頁面轉向其他指定的網頁。以下例子,執行後將自動打開黑馬在線動力首頁:
header("Location: http://www.jb51.net/");
必須注意,header函數只能用在頁面代碼中的<html>標簽之前,亦即,HTTP首部尚未有其他任何標頭(<head>)傳送給浏覽器之前,而且,此前頁面也不能print或echo任何內容。換句話說,在頁面的<html>出現前,程序只單純地處理header事件。盡管有如此嚴格的要求,靈活地使用它,仍然可以達成頁面的自動跳轉功能,比如登錄頁面,通過判斷用戶提交的數據是否合法來決定頁面跳轉到何處。以下給出一個簡單的例子:
復制代碼 代碼如下:
<?php
/* 登錄程序 - 文件名:login.php
程序作用 - 判斷用戶登錄口令 */
if($_POST['Submit']) {
session_start();
if($_POST['pws']=='123') { //若密碼為 123
$_SESSION['passwd']='123'; //寫入會話數據
header("Location:index.php"); //跳轉到正常頁面
}else{
header("Location:login.php"); //跳轉到登錄頁面
}
}
//表單代碼略(也可以用純html代碼寫表單,若如此,代碼應放在程序之後
?>
<?php
/* 檢測會話數據 - 文件名:index.php
程序作用 - 檢測會話數據中的密碼是否為123,若不是,返回
登錄頁面 */
session_start();
if($_SESSION['passwd']!='123') header("Location:login.php");
//其他代碼(純HTML代碼應寫在程序之後)
?>

此法顯然只能用於支持php的空間環境。
方法三:使用JavaScriptJS非常靈活,利用它可以做出功能非常強大的程序腳本,這裡僅舉一個簡單的頁面自動跳轉的JS例子。以下代碼執行後浏覽器將自動轉到黑馬在線動力網站,該代碼可放在頁面中的任何合法的位置:
<script language="javascript" type="text/javascript"> window.location.href("http://www.jb51.net");</script>此代碼適用於任何Web環境。若加入定時器,將更加妙不可言。

經常遇到頁面自動跳轉的問題 例如在有些網站需要在退出登錄時出現一個提示頁面
什麼你正在退出只類客套話,有的還要作個倒記時
方法一:
<meta http-equiv="refresh" content="‘等待時間';URL=‘跳轉頁面'">
方法二:
這是一個js的應用。
測試代碼:
復制代碼 代碼如下:
<input type=button value="點擊開始" onClick="t=5">
<span id="view"></span>
<script>
t = -1; // 計數器
setInterval("testTime()",1000); // 啟動1秒定時
function testTime() {
if(t<0) return; // 計數器值小於0,表示尚未開始倒計時
if(t == 0) // 計數器值為0,轉向
location = "http://www.jb51.net";
view.innerHTML = "<b>"+t+"</b>"; // 顯示倒計時
t--; // 計數器遞減
}
function offTime() {
if(event.srcElement.value != "點擊開始") { // 若不是倒計時開始
t = -1; // 初始計數器
view.innerHTML = ""; // 清空倒計時
}
}
document.onclick = offTime; // 啟動點擊事件監視
</script>

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved