2017-10-04 7 views
0

私は別のスクリプト(B)を読み込みたいスクリプト(A)を持っていますが、Bがブラウザのキャッシュですでに利用可能な場合にのみ使用します。 (例えば、BがそこにいなければAは別のスクリプト(C)をロードするかもしれません)。それを知ることは可能でしょうか?JSのブラウザのキャッシュにスクリプトが存在するかどうかを同期的に確認できますか?

+2

wrtリソースの読み込みには、[サービスワーカー](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)があります。それとは別に、ブラウザキャッシュを照会できるAPIはありません。 –

+0

ブラウザのキャッシュではどのようにスクリプトを利用できますか? _ "別のスクリプトをロードしたいスクリプトがあるとしましょうが、ブラウザのキャッシュですでに利用可能な場合のみです。" - どのスクリプトがブラウザのキャッシュにあることを言いますか?それは何ですか? https://stackoverflow.com/help/mcve – guest271314

+0

同期を参照してください。私はそうは思わない。 – Bergi

答えて

0

あなたの問題を解決するより良い方法は、localStorageにアップロードされたすべてのスクリプトに関する情報を保存することだと思います。次に、次のページで各スクリプトのステータスを確認し、スクリプトのステータスがキャッシュされている場合はキャッシュからロードします。

これだけです!

+0

そして、どうやってページをリフレッシュしていないと言うことができますか? – Kaiido

+0

私は、ブラウザのキャッシュに頼るのではなく、ローカル記憶域にスクリプトBの内容を隠すことを考えましたが、それ以外の場合は、保存されたステータスがブラウザの何らかの出来事と同期しているとは思いません。 – sprugman

+0

なぜ、キャッシュされたスクリプトのURLだけをlocalStorageの配列のスクリプトに保存したくないのですか?このようなもの:localStorage.cachedUrls = "['scriptUrl1'、 'scriptUrl2'、 'scriptUrl3']"。 – zhuravlyov

関連する問題