Ситуация такая, в предприятии у пользователей стоит Chrome (в других браузерах не тестил), через который они пользуются моим веб-приложением. После обновления на сервере подключаемых в этом приложении файлов JS они приходят старые, т.е. они на сервере лежат уже новые(измененные) а браузер видимо закэшировал старый код и подтягивает как будто бы они не изменились, а новые файлы подтягивает. Из за этого возникают ошибки при исполнении JS.
Причем измененные файлы подтягиваются только по обновлению на F5, если например попасть на страницу приложения по ссылке, или заново запустив браузер и перейдя в приложения они не обновляются.
Вопрос в том как это можно обойти?
GM2mars: Пожалуй соглашусь, но специально не тестировал. Некоторые клиенты получали закэшированную версию файлов.
Сейчас пользуюсь gulp-rev-append для автоматизации, но видимо лучше перейти на gulp-rev =)
Самый действенный и проверенный способ, это версионность js файлов. То есть выпустили новую версию веб приложения, меняем название файлов app_1.2.js
Как менять название подключаемых файлов автоматически, это уже другой вопрос, зависит от архитектуры, да и вообще нужно смотреть каждую ситуацию отдельно.
Некоторые скажут что можно менять версию через параметры app.js?v=1.2, но такая схема работает не на всех браузерах.
Уже собаку на этом съел. Все вышеизложенные решения не решают проблему комплексно, конечно, если вы получаете свои файлы это подходит, но не удаленных файлов ( некоторые файлы кешируются на стороне провайдера и даже гугла, к примеру лента сиэнэн проходит а лента иная нет, так работают местные всякие надзоры, в том числе и в европе восточной, цензура). 1+array_list[i].sd+"&demon="+new Date().getTime()+"
Это лучше чем .........scripts/libs-20150211093711.js
Комплексно решается так
Меняется расширение на scripts/libs-20150211093711.php