2016-10-16 10 views
1

JavaScriptはlocation.reload(nocache) APIを提供します。javascriptの新しいURLに移動しますが、強制的にリロードしますか?

'nocache'パラメータがtrueの場合、ブラウザのキャッシュをバイパスしてサーバから現在のURLを強制的にリロードします。

window.location.href = url;を経由して新しいURLに移動する場合、これと同じ方法がありますか?

私は、クライアントが実行しているバージョンとサーバが期待しているバージョンとを比較するチャットアプリケーションを持っています。違いがある場合は、クライアントに最新バージョンのURLにナビゲートするように促します。

しかし、これを発行すると、多くのクライアントはまだキャッシュされたスクリプトを使用しています。

答えて

3

すぐに使用できるソリューションはありません。最も簡単な方法は、キャッシュを破棄する別のパラメータをURLに追加することです。たとえば、

window.location = "/server/url?timestamp=" + (new Date()).getTime() 

実行するたびに、タイムスタンプが変更され、ブラウザはそのページをキャッシュに保持しません。

+0

完全なurlまたはjs/cssファイルのURLであるかどうかわからない場合、おそらくopはjs/cssファイルのキャッシュを無効にしたいと考えています –

+0

これはシンプルでうまくいくソリューションです –

+0

ありがとう、素敵でシンプルです。私は実際には他の場所でこのテクニックを使っていますので、私は恥ずかしく思っていました。私はウェブサーバーのキャッシュヘッダーで処理しようとしていましたが、理想的ではありませんでした – carpii

関連する問題