1

と の 2 つのドメインがproject1.comありproject2.comます。後者には、サブドメインが含まれていlogin.project2.comます。ユーザーをこの場所にリダイレクトする必要があります。つまり、ユーザーlogin.project2.comの入力に基づいて前者からリダイレクトする必要があります。(ロジックについて、またはなぜ私がこれを行うのかについて尋ねないでください。単に私がそうするように求められたからです)。

私は次のことを試しました:

function redirectToPage() {
    if (someVar == someValue) {
        document.location = 'http://www.login.project2.com'; // does not work
        document.location = 'www.login.project2.com'; // does not work
        document.location = 'http://login.project2.com'; // does not work
        document.location = 'login.project2.com'; // inval

        //only of the above is left uncommented at a time
    }
}

しかし、アドレス バーに 4 番目の文字列を直接入力すると、目的のページに移動します。どこが間違っていますか?

4

1 に答える 1

2
  1. document.location は廃止され、読み取り専用になる可能性があります
  2. 別のドメインがある場合は、プロトコルも必要です。これは、スクリプトではなく、ロケーションバーで省略した場合、ブラウザーによって追加されます。
  3. ステートメントを括弧で囲むことをお勧めしますので、括弧を追加しました

JavaScriptを使用してリダイレクトする方法は次のとおりです-古いアドレスが履歴で置き換えられるように置換を使用して、戻るボタンが壊れないようにします

function redirectToPage() {
  if (someVar == someValue) {
    window.location.replace('http://login.project2.com'); 
  }
}
于 2013-03-13T17:17:45.957 に答える