パラメーターを保持してページ転送をする

パラメーターを保持してページ転送をするコードを紹介します。

概要

meta refreshタグを利用してページを転送する方法を紹介しましたが、この方法ではアクセスしたURLにパラメータが追加されている場合、転送によりパラメーターが失われてしまいます。この記事では、パラメーターを保持してページ転送をする方法を紹介します。

実装方法

このページでは、JavaScriptを利用した実装方法を紹介します。 JavaScriptのページ切り替え処理(詳細はこちらの記事)と JavaScriptでのパラメーター取得(詳細はこちらの記事)を組み合わせて実装します。

補足
パラメーターを引き継いでリダイレクトするほかの実装方法としてWebサーバーのリダイレクト設定を入れる方法もあります。 IISでのリダイレクト設定の詳細についてはこちらの記事を参照してください。

実装例

コード

下記のHTMLファイルを作成します。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script type="text/javascript">
      var paramstr = document.location.search;
      document.location.href = "https://www.ipentec.com/"+paramstr;
    </script>
</head>
<body>
  <p>転送ページです。</p>
</body>
</html>

解説

ページを表示すると script タグ内のJavaScriptが実行されます。

下記コードでURLに追加されているパラメータの文字列を取得します。

  var paramstr = document.location.search;


取得したパラメーターを遷移先のURLに追加してパラメータを保持してページ遷移します。

  document.location.href = "https://www.ipentec.com/"+paramstr;

実行結果

プロジェクトを実行した状態で、Webブラウザを別途起動します。
パラメーターを保持してページ転送をする:画像1

Webブラウザのアドレスバーに転送ページのURLを入力します。末尾にパラメーターを記述します。(今回は"?ref=test"を追記しました。)
パラメーターを保持してページ転送をする:画像2

[Enter]キーで確定すると、ページが開かれ、その後ページ転送されます。ページ転送後のURLにもパラメーターが追加されている状態であることが確認できます。
パラメーターを保持してページ転送をする:画像3

パラメーター名を変更して再度実行します。
パラメーターを保持してページ転送をする:画像4

元のページのパラメーターが転送先のページにも引き継がれていることが確認できます。
パラメーターを保持してページ転送をする:画像5

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2019-07-02
Copyright © 1995–2025 iPentec all rights reserverd.