JavaScript で相対 URL にリダイレクトする

Shiv Yadav 2022年8月18日
JavaScript で相対 URL にリダイレクトする

Web サイトでは、ページを頻繁にリダイレクトする必要がある場合があります。サーバー側から Web ページと URL を取得することをお勧めしますが、JavaScript を使用してクライアント側からページをリダイレクトする必要がある場合があります。

このチュートリアルでは、JavaScript を使用してシフトする方法を説明します。

JavaScript で相対 URL にリダイレクトする

jQuery などのほとんどの JavaScript ライブラリには、Web ページをリダイレクトするための関数があらかじめ用意されていますが、プレーン JavaScript を使用する方が常に簡単です。JavaScript リダイレクトメソッドは 2つあります。

www.newwebsite.com/new-location に再ルーティングするシナリオを考えてみましょう。この状況では、Web ページの JS コードに次のコマンドのいずれかを含めることができます。

構文:

window.location.replace("/url or path"); //or

window.location.href = "/url or path";

リダイレクトは、最初のインスタンスでブラウザの履歴にレコードを追加しません。ただし、Web サイトから別の URL をクリックするのと同様に、2 番目のインスタンスで説明が追加されます。

例:

<!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

Redirect page ボタンをクリックすると、ページリンクは次のようにリダイレクトされます。

JavaScript リダイレクトページ

次の点に注意してください。

  • JavaScript を使用して HTTPS Web ページから HTTP Web サイトにリダイレクトすることはできません。大多数のブラウザはあなたにそれをさせません。

    JavaScript を使用して、HTTP から HTTP、HTTP から HTTPS、および HTTPS から HTTPS ページにのみリダイレクトできます。HTTPS から HTTPWeb サイトへのサーバー側リダイレクトを使用する必要があります。

  • 絶対パス(/new-location など)または完全な URL(http://www.newwebsite.com/new-location など)を使用できます。リダイレクトの相対パスを指定した場合、ブラウザは変更せずに同じ HTTP/HTTPS プロトコルを使用して Web サイトに再ルーティングします。

    HTTP から HTTPS ページにリダイレクトするために URL 全体を指定した場合に最適です。

  • ブラウザがページを再ルーティングするのではなくフォームを送信するため、Submit ボタンの関数ハンドラーにリダイレクトを配置すると機能しない場合があります。このような状況では、AJAX を使用してフォームを送信し、ボタンの回答に基づいてリダイレクトすることができます。

著者: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

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

関連記事 - JavaScript Redirect