如何使用 JavaScript 在 5 秒後重定向網頁?
在本教程中,我們將學習如何使用 JavaScript 在 5 秒後重定向網頁。要實現 5 秒後重定向網頁,可以使用setInterval() 方法設定時間間隔。將網頁地址新增到 window.location.href 物件中。
眾所周知,當我們需要在特定時間延遲後呼叫函式或某些程式碼塊時,我們會使用 JavaScript 的setTimeout() 和setInterval() 方法。讓我們看看如何使用這些方法在 5 秒後重定向網頁。
要重定向頁面,我們將使用 JavaScript 的document.location.href 或window.location.href 物件,如下所示:
document.location.href=""; OR window.location.href="";
讓我們詳細瞭解一下如何使用setTimeout() 和setInterval() 方法以及document.location.href 物件,以實現 5 秒延遲網頁重定向。
使用setTimeout() 方法
我們將像往常一樣使用setTimeout() 方法,為其提供一個回撥函式,並指定一個特定的時間限制,在此時間限制之後,它將呼叫回撥函式,該函式將重定向網頁。
語法
以下語法將用於實現setTimeout() 方法以及document.location.href 物件:
setTimeout(callBack_func, timeInterval);
function callBack_func() {
document.location.href = "";
}
讓我們瞭解一下setTimeout() 方法的程式碼實現,以便在 5 秒後重定向頁面。
演算法
步驟 1 - 在第一步中,我們將為 HTML 文件中與按鈕標籤關聯的onclick 事件定義一個回撥函式。
步驟 2 - 在此步驟中,我們將在上一步中宣告的函式內部呼叫setTimeout() 方法,並傳入回撥函式和時間間隔。
步驟 3 - 在最後一步中,我們將定義setTimeout() 方法的回撥函式,該函式使用document.location.href 物件在給定的時間間隔後重定向頁面。
示例
下面的程式碼示例將解釋如何使用setTimeout() 方法將網頁重定向延遲 5 秒:
<!DOCTYPE html>
<html>
<body>
<h2>Using JavaScript to resirect a webpage after 5 seconds </h2>
<p id = "result"></p>
<button onclick = "redirect()">Click to Redirect to Tutorials Point</button>
<script>
function redirect () {
setTimeout(myURL, 5000);
var result = document.getElementById("result");
result.innerHTML = "<b> The page will redirect after delay of 5 seconds";
}
function myURL() {
document.location.href = 'https://tutorialspoint.tw/index.htm';
}
</script>
</body>
</html>
以上示例將在點選按鈕 5 秒後將網頁重定向到 tutorialspoint.com 的官方頁面,這是由於在以上程式碼中與document.location.href 物件一起使用了setTimeout() 方法。
使用setInterval() 方法
我們還可以使用setInterval() 方法將網頁重定向延遲特定時間間隔。但是,在為此目的使用setInterval() 方法時,我們需要小心,因為它將重複呼叫作為回撥函式傳遞給它的函式。我們可以使用clearInterval() 方法停止它重複呼叫函式。
語法
以下語法將使您瞭解如何使用setInterval() 方法以及clearInterval() 方法以及document.location.href 物件:
var interval_name = setInterval(call_back, time_interval);
function call_back() {
document.location.href = "";
clearInterval(interval_name);
}
讓我們透過一個程式碼示例來實際瞭解一下如何使用 setInterval() 方法在 5 秒後重定向頁面。
演算法
以上示例和本示例的演算法幾乎相同,您只需要將前一個示例中的setTimeout() 方法替換為setInterval() 方法並將其儲存到一個變數中,然後您必須在setInterval() 的回撥函式內部使用clearInterval() 方法,並將儲存setInterval() 方法的變數傳遞給它。
示例
以下示例說明了setInterval() 方法的使用,以及您需要在前面示例的演算法中執行的更改:
<!DOCTYPE html>
<html>
<body>
<h2>Using JavaScript to redirect a webpage after 5 seconds</h2>
<p id="result"></p>
<button onclick="redirect()">Click to Redirect to Tutorials Point</button>
<script>
function redirect () {
var interval = setInterval(myURL, 5000);
var result = document.getElementById("result");
result.innerHTML = "<b> The page will redirect after delay of 5 seconds setInterval() method.";
}
function myURL() {
document.location.href = 'https://tutorialspoint.tw/index.htm';
clearInterval(interval);
}
</script>
</body>
</html>
在以上示例中,我們在redirect() 函式內部使用了setInterval() 方法,該方法將在使用者點選按鈕後觸發,其中setInterval() 將在 5 秒後呼叫其回撥函式並將頁面重定向到document.location.href 物件中給定的 URL,然後它將清除間隔,以便它不會再次呼叫該函式並重復重定向到同一頁面。
在本教程中,我們瞭解瞭如何使用setTimeout() 和setInterval() 方法以及document.location.href 物件在 5 秒後重定向網頁。我們透過使用程式碼示例實際實現這兩種方法來討論它們,以便更好地理解其工作原理。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP