1 要點javascript
1.1 用html方法實現延遲跳轉php
1.1.1 echo "<meta http-equiv=\"refresh\" content=\"5;url=".$url."\">\n";html
content屬性裏的「5」指明延遲5秒後跳轉,中間用分號隔開,後面緊跟着的url指明要跳轉到的頁面連接,忽略則跳轉到當前頁面(至關於刷新)。java
1.2 用JavaScript方法實現延遲跳轉ide
1.2.1 echo "<script language=\"javascript\">setTimeout(\"window.location.href='".$url."'\",3000)</script>";函數
函數setTimeout(code, time)的功能是在延遲time個毫秒後執行code表明的代碼,這裏是在延遲3000毫秒也就是3秒後執行代碼window.location.href=$url,跳轉到$url表明的頁面。ui
2 總結this
最開始我用header(「Location:somepage.php」);來進行跳轉,可是這樣一不能延遲跳轉,二不能在調用header函數以前有任何輸出,這樣就不能在跳轉前提示用戶了。換成html或js方法後的效果以下(二者代碼不一樣,但效果同樣):url
3 源代碼spa
說明:我將延遲跳轉這個功能寫成了一個函數,單獨存在redirect.php中。第一個參數是跳轉目標頁面的URL,第二個參數是延遲時間內的通知消息。這樣要使用這個函數時只須要include_once(「redirect.php」);就好了。
<?php
function redirect($url, $msg)
{
//用html方法實現頁面延遲跳轉
/*echo "<html>\n";
echo "<head>\n";
echo "<meta http-equiv=\"refresh\" content=\"5;url=".$url."\">\n";
echo "</head>\n";
echo "<body>\n";
echo $msg."</br>\n";
echo "頁面將在5秒後自動跳轉...</br>\n";
echo "<a href=\"".$url."\">若是沒有跳轉,請點這裏跳轉</a>\n";
echo "</body>\n";
echo "</html>\n";*/
//用js方法實現頁面延遲跳轉
echo $msg."</br>\n";
echo "頁面將在3秒後自動跳轉...</br>\n";
echo "<a href=\"".$url."\">若是沒有跳轉,請點這裏跳轉</a>\n";
echo "<script language=\"javascript\">setTimeout(\"window.location.href='".$url."'\",3000)</script>";
}
?>