JavaScriptでページをリロードするための推奨される方法は?[閉まっている]


103

現在のページを(ボタンを使用して)リロードする方法はどれですか。

1 <input type="button" value="Reload" onClick="history.go(0)">
2 <input type="button" value="Reload" onClick="location.reload(true)">
3 <input type="button" value="Reload" onClick="window.location.reload(true)">
4 <input type="button" value="Reload" onClick="window.location.href=window.location.href">
5 <input type="button" value="Reload" onClick="document.location.reload(true)">
6 <input type="button" value="Reload" onClick="document.location.href=document.location.href">

ページのURLは頻繁に変更されるため、次のような「フォールバック機能」があります。

<a href="urlOfCurrentPage.html" onclick="window.location.reload(true);return false;">Reload</a>

うまくいきませんよね?


番号2と3は同じものであることに注意してください
Matti Virkkunen

3
番号4と6は、URLに#が存在する場合、何もリロードしません
jontro

2
番号2、3、および5はすべてのブラウザーで実装されているわけではありません。*.location.reload()引数を使用して、キャッシュを無視するかどうかを指定するだけです。stackoverflow.com/questions/10876244/...
Dead.Rabit

OPは、すべての中で最も好ましいメソッドを逃しました。location.reload();
Doug S

回答:


57

あなたが何をしたいかに依存します。4番目と6番目のメソッドはフォームデータを再読み込みせず、基本的にページに個別にアクセスします。Firefoxの一部のバージョンでは、3番目の方法にも問題があります。それ以外は、個人的な好みとして5番目を使用します。一番はっきりしているようです。


2番目の方法(.reload)が機能しない場合があります。
アリストス

したがって、「document.location.reload(true)」は、ブラウザ間で安全で最も堅牢なものですか。
Mel

@メル、私はそう信じています。本当に、ウィンドウとドキュメントの両方が機能するはずです。
tloflin 2010

10
POSTでdocument.location.reload()を使用すると、ページを再ロードするためにデータを再送信するかどうかをブラウザから尋ねられることに注意してください。
10

Wimmel、はい、PRGパターンを使用して修正します。en.wikipedia.org
wiki

30

次のこともできます:

wdウィンドウを表す|| 文書

  • wd.location.assign(wd.location.href)URLに移動
  • wd.location.replace(wd.location.href)URLに移動し、履歴内の前のページを置き換えます
  • wd.location.reload(<true / false / blank>)サーバー/キャッシュ/キャッシュからページを再読み込み
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.