Как бороться с кэшированием ресурсов, когда наше приложение поставляется в виде виджета? - PullRequest
1 голос
/ 18 марта 2011

Часть разрабатываемого нами приложения будет предоставлена ​​сторонним веб-сайтам в виде виджета с простым кодом, например:

<script src="ourdomain/script.js" type="text/javascript"></script>
<div id="our-id"></div>

Есть ли способ предоставить обходной путь для случаев, когда мы обновляем код script.js, исправляющий, например, критические ошибки, и при следующей загрузке у пользователя нет кэширования, чтобы он не мог получить новую версию?

Другими словами, есть ли в этом случае аналог etags меток времени?

Заранее спасибо!

1 Ответ

1 голос
/ 18 марта 2011

Ну, один из способов (не самый лучший) - заставить их загружать скрипт при каждой загрузке, чтобы не происходило кэширование.

<script type="text/javascript">
    document.write("<script src='ourdomain/script.js?" + (new Date().getTime()) + "' type='text/javascript'></script>");
</script>
<div id="our-id"></div>

Другим может быть iframe, который загружает все ресурсы из вашегосайт, поэтому, если вы обновите JS, вы можете дать ему уникальное имя, чтобы браузер получил его

...