0

これは長いものになるでしょう。

従来の Web ページ (基本的には完全な静的 HTML ページ) で URL リダイレクトを使用する必要があるという要件があります。

私の要件は、静的な html ページから .aspx ページに毎回ユーザーをリダイレクトすることです。

つまり、以前のページが

http://web.vatsag.com/app/en/downloadsite.htm

次に、次のページ (.aspx) にリダイレクトする必要があります。

http://web.vatsag.com/app/newdownloadsite.aspx

現在、HTMLページでjavascriptを使用していますが、

すなわち

window.location="http://web.vatsag.com/app/newdownloadsite.aspx"

私のdownloadsite.htmページのheadセクションのスクリプト

ここで質問です

複数の URL パラメータを照会するにはどうすればよいですか?

つまり、URL リクエストが次のような場合

http://web.vatsag.com/app/en/downloadsite.htm?lang=de&vers=1.10

同じ URL パラメーターを使用して aspx ページにリダイレクトする必要があります。

http://web.vatsag.com/app/newdownloadsite.aspx?lang=de&vers=1.10

URLパラメーターを返すJavaScriptスニペットがあります

function getQueryStringArray(){
    var assoc=[]; 
    var items = window.location.search.substring(1).split('&'); 
    for(var j = 0; j < items.length; j++) { 
       var a = items[j].split('='); assoc[a[0]] = a[1]; 
    }
    return assoc;
}

このスニペットを使用してすべての URL パラメーターを取得し、最終的に ASPX Web ページにリダイレクトするにはどうすればよいですか?

助けてくれてありがとう

VATSAG

4

3 に答える 3

1

このコードは、あなたが求めているURLを取得すると思います

// Original URL
var url = window.location.href; 
var newUrl = "";

// Split the String to get the Query strings
var splitString = url.split('?');


if (splitString.length > 1)
{
   // New Url With Query strings
   newUrl = "http://web.vatsag.com/app/newdownloadsite.aspx" + "?" + splitString[1];
}
else
{
   // New Url With NO query string
   newUrl = "http://web.vatsag.com/app/newdownloadsite.aspx"
}
于 2012-10-30T06:27:09.933 に答える
0

window.location は文字列ではなく、構造体/クラスです。独自のメンバー変数があります。割り当てるときはlocation="something"、href メンバーに割り当てます。他のメンバーをチェックアウトできます。

また、別の注意: のようにアドレス全体を指定することhttp://web.vatsag.com/app/newdownloadsite.aspxはお勧めしません。代わりに、を使用して../newdownloadsite.aspxください。これは、将来サイトを移転する場合に役立ちます。

あなたの質問に答えるには、次のことを試してください。

  location=location.pathname.replace(/en\/downloadsite.htm$/,"newdownloadsite.aspx") + location.search + location.hash;
  //Host name, protocol, port number is taken from current one. (Making it more portable)
  //By using pathname.replace, you ensure that if the directory path depth of the original html page on server is changed, still it would be portable.

ところで、MVCCarlによる回答--.split("?")[1]の代わりにも機能するはずですlocation.search + location.hash

于 2012-10-30T07:32:53.767 に答える
0

新しいページにリダイレクトできる古いページの単純なメタ タグを使用することで、タスクを簡単に完了することができます。

古い静的 HTML ページの head セクションに次の行を追加します。

<meta http-equiv="Refresh" content="0;URL=new_page_url" />
于 2012-10-30T06:33:02.820 に答える