245

JavaScript または HTML を使用してページを更新するにはどうすればよいですか?

4

8 に答える 8

336

window.location.reload();JavaScript で

<meta http-equiv="refresh" content="1">HTML で (ここで1= 1 秒)。

于 2011-03-14T04:49:47.743 に答える
275

JavaScript を使用してページをリロードする 535 通りの方法があります。

最初の 20 個は次のとおりです。

location = location
location = location.href
location = window.location
location = self.location
location = window.location.href
location = self.location.href
location = location['href']
location = window['location']
location = window['location'].href
location = window['location']['href']
location = window.location['href']
location = self['location']
location = self['location'].href
location = self['location']['href']
location = self.location['href']
location.assign(location)
location.replace(location)
window.location.assign(location)
window.location.replace(location)
self.location.assign(location)

そして最後の10:

self['location']['replace'](self.location['href'])
location.reload()
location['reload']()
window.location.reload()
window['location'].reload()
window.location['reload']()
window['location']['reload']()
self.location.reload()
self['location'].reload()
self.location['reload']()
self['location']['reload']()

原著

于 2011-10-03T07:11:55.670 に答える
84

単に使用..

location.reload(true/false);

false の場合、ページはキャッシュからリロードされ、それ以外の場合はサーバーからリロードされます。

于 2013-09-26T06:23:06.010 に答える
15
window.location.reload()

動作するはずですが、次のようなさまざまなオプションがあります。

window.location.href=window.location.href
于 2011-03-14T04:52:18.210 に答える
12

使用することもできます

<input type="button" value = "Refresh" onclick="history.go(0)" />

それは私にとってはうまくいきます。

于 2015-09-15T11:07:37.687 に答える
5

使用する:

window.location.reload();
于 2011-03-14T04:51:13.393 に答える
2

ここでキャッシュされたページの更新を制御する必要がある場合、これを行うための優れた方法があります。

  • ロード時に常にページのバージョン番号を文字列 (ajax) として取得する JavaScript をページに追加します。例えば:www.yoursite.com/page/about?getVer=1&__[date]
  • ユーザーが一度ページにアクセスしたことがある場合は、保存されているバージョン番号 (Cookie または localStorage に保存されている) と比較し、それ以外の場合は直接保存します。
  • バージョンがローカル バージョンと同じでない場合は、window.location.reload(true) を使用してページを更新します。
  • ページに加えられた変更が表示されます。

このメソッドは、ローカル ブラウザーのキャッシュに既に存在するため、要求が必要ない場合でも、少なくとも 1 つの要求を必要とします。ただし、キャッシュをまったく使用しない場合に比べて、オーバーヘッドは少なくなります (ページに適切な更新コンテンツが表示されるようにするため)。これにより、各ページのすべてのコンテンツではなく、ページ要求ごとに数バイトしか必要ありません。

重要: バージョン情報リクエストをサーバーに実装する必要があります。そうしないと、ページ全体が返されます。

によって返されるバージョン文字列の例www.yoursite.com/page/about?getVer=1&__[date]: skg2pl-v8kqb

コードの例を示すために、ここに私のライブラリの一部を示します (これを使用できるとは思いませんが、その方法についていくつかのアイデアが得られるかもしれません)。

o.gCheckDocVersion = function() // Because of the hard caching method, check document for changes with ajax 
{
  var sUrl = o.getQuerylessUrl(window.location.href),
      sDocVer = o.gGetData( sUrl, false );

  o.ajaxRequest({ url:sUrl+'?getVer=1&'+o.uniqueId(), cache:0, dataType:'text' }, 
                function(sVer)
                {
                   if( typeof sVer == 'string' && sVer.length )
                   {
                     var bReload = (( typeof sDocVer == 'string' ) && sDocVer != sVer );
                     if( bReload || !sDocVer )
                      { 
                        o.gSetData( sUrl, sVer ); 
                        sDocVer = o.gGetData( sUrl, false );
                        if( bReload && ( typeof sDocVer != 'string' || sDocVer != sVer ))
                         { bReload = false; }
                      }
                     if( bReload )
                      {  // Hard refresh page contents
                        window.location.reload(true); }
                   }
                }, false, false );
};

JavaScript や css ファイルなどのバージョンに依存しないリソースを使用している場合は、バージョン番号を追加します (これらはほとんどキャッシュされないため、クエリではなく URL の書き換えで実装されます)。例: www.yoursite.com/ver-01/about.js

私にとって、この方法はうまく機能しています。おそらくあなたにも役立つでしょう。

于 2013-12-02T00:24:57.163 に答える