У меня запущено приложение, которое использует фреймворк YUI js (v3.0). Пользователь может нажать кнопку в моем приложении, которая обновит их до последней версии фреймворка (3.4). Проблема в том, что на ie8 я получаю некоторые странные ошибки JavaScript. После отладки кажется, что старая версия (3.0) файла loader-min.js извлекается из кэша браузера, так как он все еще используется объектом YUI при его создании. Поэтому во время моего обновления я создаю узел сценария, добавляю местоположение в новый файл загрузчика (3.4), а затем вставляю его в раздел head. Думаю, мы все знакомы с этой техникой. Однако когда пользователь переходит на следующую страницу, загруженный файл теряется, а старая версия (3.0) по-прежнему остается в кэше. Убедитесь в этом, используя инструменты разработчика и просмотрев все файлы javascript, загруженные приложением.
Я пробовал много разных вещей, чтобы получить новую версию (3.4) Я загружаю, чтобы переопределить версию, которая в данный момент находится в кеше, что исправит проблемы с javascript. Я попытался добавить уникальную строку в конец имени загружаемого файла, как правило, это то, как js-файлы могут быть «версионными». Я убедился, что заголовки Etag и Cache-Control для новой версии, которую я пытаюсь загрузить, установлены. Ничего не работает, и я бьюсь головой о стену.
Одно небольшое ограничение, я должен использовать javascript, чтобы попытаться загрузить эту новую версию файла loader-min. Я не могу добавить простой тег сценария в мой HTML из-за того, как работает процесс обновления. Любые мысли, идеи, указания относительно того, почему IE8 не будет кэшировать версию, которую я загружаю динамически?