質問:
jQueryか純粋なJavaScriptを使って、あるページから別のページにユーザーをリダイレクトする方法ってどうやるの?
回答1:
汝、リダイレクトするためだけにjQueryを使うべからず
jQueryは必要ないよ。 window.location.replace(...)
は、HTTPリダイレクトをよくシミュレートできるから。
window.location.replace(...)
は window.location.href
を使うよりも優れてる、というのはreplace()
は元のページをセッション履歴に残さないから、ユーザーが終わりのないバック・ボタンの失敗に悩まされることはないよ。
もしリンクをクリックするのをシミュレートしたい場合は、
location.href
を使う
HTTPリダイレクトをシミュレートする場合は、location.replace
を使う
例えば:
|
回答2:
警告:この回答は単に解決策の1つとして提供されているに過だけ。これはjQueryが必要なので、明らかに最善の解決策っていうわけじゃない。代わりに、純粋なJavaScriptでやったほうがいいと思う。
|
回答3:
ページをリダイレクトするための標準的な “素の” JavaScriptでの方法:
`window.location.href = ‘newPage.html’;
リダイレクト時にHTTPREFERERを失っている_場合は、以下を参考に
このセクションは HTTP_REFERER
を安全なものの1つとして使用する人のためのもの(あんまりいい保護手段じゃないけど)。Internet Explorer 8またはそれ以前のを使用している場合、JavaScriptのページリダイレクションがどうあっても、これらの変数が失われる(location.hrefなど)。
以下では、HTTP_REFERERを失わないようにIE8より以前での実装をやってみる。それ以外の場合は、ほとんどの場合
window.location.href
でいけるはず。
HTTP_REFERER
(URLの貼り付け、セッションなど)に対するテストはリクエストがちゃんとしてるか判断するのに手助けに成るはず。(注:これらのリファラを回避する/偽装する方法ももちろん存在する)
簡単なクロスブラウザテストソリューション(Internet Explorer 9以降および他のすべてのブラウザではwindow.location.href
を)
使用法: redirect('anotherpage.aspx');
|
回答4:
これ使いな:
|
回答5:
これならどのブラウザでも動作するよ:
|