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 重定向相對 URL

當你單擊重定向頁面按鈕時,頁面連結將被重定向,如下所示:

JavaScript 重定向頁面

請注意以下事項:

  • 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 提交表單,然後根據按鈕的回答進行重定向。