javascript 描画 自動 - jQueryでページを更新するにはどうすればよいですか?



11 Answers

これはjQueryを使わなくてもすべてのブラウザで動作するはずです。

location.reload();
一部更新 リロード 1回

jQueryでページを更新するにはどうすればよいですか?




方法の多くは、私は仮定:

  • window.location.reload();
  • history.go(0);
  • window.location.href=window.location.href;



現在のページがPOST要求によって読み込まれた場合は、

window.location = window.location.pathname;

の代わりに

window.location.reload();

なぜなら、 window.location.reload()は、POSTリクエストによってロードされたページで呼び出された場合、確認のプロンプトを表示するからです。




あなたは、

location.reload(forceGet)

forceGetはブール値でオプションです。

デフォルトはfalseで、キャッシュからページをリロードします。

ブラウザからサーバからページを取得させてキャッシュをも削除させたい場合は、このパラメータをtrueに設定します。

あるいは単に

location.reload()

あなたがすばやく簡単にキャッシングしたいならば。




window.location.reload()はサーバーからリロードし、すべてのデータ、スクリプト、イメージなどを再度読み込みます。

したがって、HTMLをリフレッシュするだけの場合、 window.location = document.URLは、より迅速かつ少ないトラフィックで返されます。 しかし、URLにハッシュ(#)がある場合、ページをリロードしません。




以下は、jQueryを使用して非同期的にページをリロードするソリューションです。 window.location = window.locationによって引き起こされるちらつきを回避します。 この例では、ダッシュボードのように、連続してリロードされるページを示しています。 戦闘テスト済みでタイムズスクエアの情報ディスプレイTVで動いています。

<!DOCTYPE html>
<html lang="en">
  <head>
    ...
    <meta http-equiv="refresh" content="300">
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
    <script>
    function refresh() {
      $.ajax({
        url: "",
        dataType: "text",
        success: function(html) {
          $('#fu').replaceWith($.parseHTML(html));
          setTimeout(refresh,2000);
        }
      });
    }
    refresh();
    </script>
  </head>
  <body>
    <div id="fu">
      ...
    </div>
  </body>
</html>

ノート:

  • $.get('',function(data){$(document.body).html(data)})ような$.ajax直接使用すると、 cache: trueを使用していてもcss / jsファイルがキャッシュ破棄され cache: true 。そのため、 parseHTMLを使用していparseHTML
  • parseHTMLbodyタグを見つけられないので、 body全体が余分なdivに入る必要があります。このナゲットの知識があなたをいつか助けてくれることを願っています。
  • http-equiv="refresh"使用するとjavascript / server hiccupに何か問題が生じた場合に備えて、電話をかけなくてもページが再読み込みされます
  • このアプローチはおそらく何らかの形でメモリをリークし、 http-equiv refreshはそれを修正します



私は見つけた

window.location.href = "";

または

window.location.href = null;

また、ページを更新します。

これにより、ページをリロードしてハッシュを削除するのが非常に簡単になります。 これはiOSシミュレータでAngularJSを使用しているため、アプリを再実行する必要がないため非常に便利です。




jQueryから何もする必要はありません。 純粋なJavaScriptを使用してページをリロードするには、次のようにlocationプロパティにreload関数を使用します。

window.location.reload();

デフォルトでは、ブラウザのキャッシュを使用してページがリロードされます(存在する場合)...

強制的にページをリロードする場合は真の値を渡して、以下のようなメソッドをリロードしてください。

window.location.reload(true);

また、すでにウィンドウスコープ内にいる場合は、 ウィンドウを削除して次の操作を実行できます。

location.reload();



ここの答えはすべていいです。 質問はjqueryでページをリロードすることを指定しているので、私はちょうど将来の読者のために何かを追加することを考えました。

jQueryは、HTMLのクライアントサイドスクリプトを簡素化するために設計されたクロスプラットフォームのJavaScriptライブラリです。

Wikipedia

したがって、 jqueryの基礎、つまりjqueryはjavascript基づいていることがわかります。 純粋なjavascriptことは、単純なことになると良い方法です。

しかし、 jqueryソリューションが必要な場合は、こちらをご覧ください。

$(location).attr('href', '');



シンプルなJavascriptソリューション:

 location = location; 

<button onClick="location = location;">Reload</button>




これはJavaScriptで最短です。

location = '';



Related