6

ほとんどのブラウザ(特にChrome)は、ページを強制的にリロードした後(SHIFT + F5など)でもWebワーカースクリプトをキャッシュしているように見えることに気付きました。キャッシュを強制的に更新するために私が見つけた唯一の信頼できる方法は、ワーカースクリプトのパスをアドレスバーに入力し、それを個別に強制的に再ロードすることです。

明らかに、これは何かを開発しようとするときの王室の苦痛です。ブラウザがワーカースクリプトをキャッシュしないようにするか、簡単な方法で強制的にリロードするための信頼できる方法を知っている人はいますか?

4

3 に答える 3

6

古い質問、そして私が今日使用した古い解決策。開発時に、ワーカーファイルに乱数クエリ文字列を追加してWebワーカーを作成します。

var worker = new Worker('path/to/worker/file.js' + '?' + Math.random());

コードが本番環境に移行する前に、クエリ文字列を削除することを忘れないでください。

于 2017-01-22T10:54:48.990 に答える
5

サーバー構成ファイルにアクセスできない場合、またはメタタグが受け入れられない場合、簡単な回避策は、htmlヘッドでロードする「webworkerスクリプト」を含めることです。

   <html>
     <head>
        <meta http-equiv="Cache-control" content="no-cache">
        <script src="jquery_or_other_lib.js"></script>
        <script src="normal_site_scripts.js"></script>
        <script src="webworker.js"></script>
     </head>
     <body>
     </body
   </html>
于 2013-04-29T09:12:15.003 に答える
2

Cache-Control: no-cacheワーカースクリプトがまったくキャッシュされないようにするためにHTTPヘッダーを使用しようとしましたか?通常、適切なHTTPヘッダーを設定することで、必要なキャッシュ動作を得ることができます。

于 2010-09-23T04:57:49.280 に答える