web-dev-qa-db-ja.com

JavaScriptを使用してリダイレクトする方法

JavaScriptを使用して、どのようにして別のページから別のページにページをリダイレクトしますか?

897
Ms_Lucky13

別のページにリダイレクトするには、次のようにします。

window.location = "http://www.yoururl.com";
1428
seedg
window.location.replace('http://sidanmor.com');

window.location.href = 'http://sidanmor.com';を使うよりも より良い

replace()を使用するとセッションの履歴に元のページが残りません。つまり、ユーザーは終わりのないバックボタンの大失敗に陥ることはありません。

誰かがリンクをクリックするのをシミュレートしたい場合は、window.location.hrefを使用してください。

HTTPリダイレクトをシミュレートしたい場合は、window.location.replaceを使用してください。

例えば、次のとおりです。

// similar behavior as an HTTP redirect
window.location.replace("http://sidanmor.com");

// similar behavior as clicking on a link
window.location.href = "http://sidanmor.com";

ここから取られる: jQueryで他のページにリダイレクトする方法?

225
sidanmor

関数にリダイレクトすることはできません。あなたができることは、リダイレクト時にURLに何らかのフラグを渡して、それからサーバサイドコードでそのフラグをチェックして、上がっているならば、機能を実行することです。

例えば:

document.location = "MyPage.php?action=DoThis";

それからあなたのPHPコードの中で、クエリ文字列の中の "action"をチェックし、 "DoThis"と等しいなら、あなたが必要とするどんな関数でも実行します。

51
Shadow Wizard

あなたはあなたの質問をもう少し説明する必要があるかもしれません。

あなたが "リダイレクト"と言ったとき、HTMLページの場所を変更することを提案するほとんどの人に:

window.location = url;

あなたが「機能へのリダイレクト」と言ったとき - それは実際には意味がありません。関数を呼び出すことも、別のページにリダイレクトすることもできます。新しいページがロードされたときにリダイレクトして関数を呼び出すこともできます。

30
Fenton
  • 誰かがリンク をクリックするのをシミュレートしたい場合は、location.hrefを使用してください。
  • HTTPリダイレクト をシミュレートしたい場合は、location.replaceを使用してください。

例えば:

// Similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

// Similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";

情報が この回答から重複した質問 にコピーされました _

29
Kip