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 提交表單,然後根據按鈕的回答進行重定向。
Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.
LinkedIn