HOWTO · JavaScript
JavaScript 中重定向到相對的 URL
本文將幫助你如何使用 JavaScript 重定向到相對 URL。
本頁內容
在你的網站上,你可能需要經常重定向頁面。雖然建議從伺服器端轉網頁和 URL,但在某些情況下,你可能需要使用 JavaScript 從客戶端重定向頁面。
我們將在本教程中瞭解如何使用 JavaScript 進行轉換。
在 JavaScript 中重定向到相對 URL
儘管大多數 JavaScript 庫(例如 jQuery)都具有重定向網頁的預製函式,但使用純 JavaScript 總是更直接。有兩種 JavaScript 重定向方法。
考慮你希望重新路由到 www.newwebsite.com/new-location 的場景。在這種情況下,你可以在網頁的 JS 程式碼中包含以下命令之一。
語法:
window.location.replace("/url or path"); //or
window.location.href = "/url or path";
重定向首先不會將記錄新增到瀏覽器的歷史記錄中。但是,類似於從你的網站單擊另一個 URL,將在第二個例項中新增描述。
例子:
<!DOCTYPE html>
<html>
<head>
<script>
function nUrl() {
window.location.href = "b.html";
}
</script>
</head>
<body>
<input type="button" value="Redirect page" onclick="nUrl()" />
</body>
</html>
注意:確保你提供的相對路徑是絕對的。你應該有另一個頁面儲存為
b.html。
輸出:
當你單擊重定向頁面按鈕時,頁面連結將被重定向,如下所示:
請注意以下事項:
-
JavaScript 不能用於從 HTTPS 網頁重定向到 HTTP 網站。大多數瀏覽器不會讓你這樣做。
你可以使用 JavaScript 從 HTTP 重定向到 HTTP、HTTP 到 HTTPS 和 HTTPS 僅重定向到 HTTPS 頁面。你必須使用從 HTTPS 到 HTTP 網站的伺服器端重定向。
-
你可以使用絕對路徑(如
/new-location)或完整的 URL(如http://www.newwebsite.com/new-location)。如果你指定重定向的相對路徑,瀏覽器將使用相同的 HTTP/HTTPS 協議重新路由到網站,而無需修改它。最好提供整個 URL 以從 HTTP 重定向到 HTTPS 頁面。
-
如果你將重定向放在
Submit按鈕的函式處理程式中,它可能不起作用,因為瀏覽器將提交表單而不是重新路由頁面。在這些情況下,你可以使用 AJAX 提交表單,然後根據按鈕的回答進行重定向。