Веб-сайт обслуживает старую / устаревшую версию файла JavaScript вместо обновленной - PullRequest
1 голос
/ 16 сентября 2011

РЕДАКТИРОВАТЬ: Могут ли мои текущие метатеги вызывать проблемы с кэшированием?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/homepage.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  

У меня есть веб-сайт, загруженный на веб-хост iPower.Мои HTML-страницы ссылаются на внешний файл JavaScript (называемый AppLogic.js).Когда я загружаю новую версию AppLogic.js на веб-хостинг, я обнаруживаю, что более старые версии (ранее загруженные версии) обслуживаются с сервера, а не с моей последней загрузки AppLogic.js.Это происходит в течение примерно 5 минут (иногда даже дольше) после того, как я загружаю новую версию AppLogic.js, по истечении этого периода времени он начинает обслуживать правильный файл AppLogic.js (последний).

Знаете ли вы, почему это происходит, и как я могу это остановить?

У меня такое ощущение, что файлы javascript кэшируются в IE, Firefox и что они не загружают новый файл каждый раз.Я пытаюсь исправить ошибки, которые возникают только на реальных веб-страницах, обслуживаемых с веб-хоста (ошибки не возникают локально), что означает, что я постоянно настраиваю свой файл AppLogic.js, а затем загружаю его на веб-сервер, чтобы посмотреть, исправило ли изменениеошибка.Это медленно и раздражает без этого кровавого кеширования файлов .js, но с этой проблемой просто черт побери, мешает мне исправлять ошибки!

Любые советы о том, что именно идет не так и как это исправитьбыло бы очень полезно

Все следующие вещи, которые я пробовал, но не перестаю получать неправильный файл .js:
- Я попытался нажать CTRL, SHIFT & DELETE в Firefox, а затем удалить всеhistory & caches
- Нажмите CTRL 12 в IE, чтобы открыть инструменты разработчика, затем выберите кеш, затем выберите всегда загружать с сервера, удалять кеш, удалять доменные куки и все остальные.Это работает только иногда, что чертовски неприятно.
- Используйте программу CCleaner, чтобы удалить все мои куки и другие данные, сохраненные в IE.Иногда работает - Перезагрузка всего моего ноутбука.работает много, но смехотворно отнимает много времени

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Вы можете изменить способ запроса файла JS, добавив AppLogic.js?123456789 (где числа - время).Таким образом, вы заставляете браузер постоянно загружать новые файлы!

0 голосов
/ 16 сентября 2011

Вы также можете добавить следующее в ur .htaccess

<FilesMatch "AppLogic.js$">
Header unset Cache-Control
Header unset Expires
Header unset Last-Modified
FileETag None
Header unset Pragma
</FilesMatch>

Это не кеширует файл для пользователей ... Вы можете попробовать добавить его на некоторое время, а затем удалить, потому что вы нене хотим всегда обслуживать файл ... мы хотим, чтобы какой-то CACHE;)

Решение SiteSafeNL прекрасно работает, попробуйте объявить версию глобальной переменной, а затем она будет меняться при каждом обновлении веб-сайта AppLogic.js? v =1.0.0 затем при обновлении AppLogic.js? V = 1.0.1 и т. Д ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...