Как на стороне клиента изменить Expires и Cache-Control у *.js?

Добрый день.
Есть страница, в которой есть:
<script src="http://site.ru/my1.js"></script>
<script src="http://site.ru/my2.js?138023...."></script>

У my1.js настроены Expires и Cache-Control кеширование на 3 месяца.
my2.js этого не имеет и загружается как обычно.

Есть ли возможность вторым скриптом отредактировать Expires и Cache-Control у первого скрипта?
Чтобы при повторной загрузки страницы первый скрипт обновился?

п.с. редактировать страницу нет возможности. Поэтому адрес будет абсолютно всегда такой.
  • Вопрос задан
  • 2560 просмотров
Решения вопроса 1
@Laptinius Автор вопроса
сделать так нельзя
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
rafuck
@rafuck
Хм.. Может, как-то так:
var sc = document.createElement('script');
sc.src = 'http://site.ru/my1.js?v='+Math.random();
/*тут дальше что-то вроде создания невидимого iframe и помещение туда созданного объекта*/

И надеяться, что у исходного файла кеш тоже сбросится. Но, емнип, во-первых, фф кеширует также файлы с параметрами, во-вторых, кеш исходного файла также может не сброситься. Вообще, мне кажется, решением было бы ETag или жесткое кеширование + параметр-версия.
Ответ написан
golotyuk
@golotyuk
Можно сделать, просто вопрос немного мимо :)

Нужно использовать версии, но не random, иначе толку никакого не будет (в кеш постоянно будет складываться новый файл, т.к. путь все время будет уникальным). Нужно либо руками версии статики ставить либо использовать какую-то либу для автогенерации версий.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы