2017-07-08 9 views
0

私はAngularJSというシステムを開発しています。jsファイルとhtmlファイルがブラウザのキャッシュに保存されていることが多く、時にはコードを変更する場合があります。変更が表示されるようにするには問題があります。システムがオンラインのときに、クライアントキャッシュをクリアする方法がない場合は、自分で実行しない限り、その結果、システムが正常に動作しない場合があります。JSとHTMLファイルを自動的にオーバーライドしようとしています

これらのキャッシュファイルを新しいものに置き換える方法はありますか?

PD:ブラウザには古いファイルを置き換える機能がありますが、機能しないことがあります。

答えて

0

JavaScriptとHTMLファイルの要求の最後にタイムスタンプを追加できます。たとえば、yourdomain.com/somescript.js?ts=1352627181と入力すると、クライアントが別の要求を行うたびに確認されます。したがって、ブラウザによってキャッシュされません。また、サーバーによって行われた応答のヘッダーにno-cacheを追加することもできます。

+0

うん、それは私の場合、私はクライアントファイルallways ..をクリアしたくないので、私は関数上でそれをしなければならないでしょう。なぜなら、ファイルがキャッシュされているときの応答速度を維持したいからです。必要なときにファイルをオーバーライドするだけです。 –

+0

そのために、サーバーサイドにタイムスタンプがあることをお勧めします。新しいコード)を作成し、最初のリクエストでクライアントに送信します。このようにして、クライアントはこのタイムスタンプを持ち、すべての要求をサーバー側で変更しない限り、このタイムスタンプは変更されず、クライアントはしばらくファイルをキャッシュできます。 –

関連する問題