Мы определили, что полные кэши браузера являются причиной проблемы на нашей экстранет. Это только влияет на небольшое количество наших пользователей, но мы хотели бы предупредить их к проблеме и дать им некоторые указания на то, как решить проблему для себя.
Мы хотели бы использовать аналогичную систему для той, которую использует Gmail. То, когда это обнаруживает, что кэш Вашего браузера полон, не ведет себя, как это должно, это показать предупреждающее сообщение, говоря пользователям, что их кэш полон и что это может вызвать проблемы с Gmail, наряду со ссылкой на страницу справки Gmail при очистке кэша Вашего браузера.
Кто-либо знает, если там какие-либо ресурсы там или примеры того, как использовать JavaScript, чтобы обнаружить, что кэш браузера является полным поведением плохо?
Спасибо.
Разъяснение: То, что мы на самом деле пытаемся обнаружить, я предполагаю, не, полон ли кэш, а скорее повторно требуют ли сценарий, который мы настроили серверную сторону, которая будет сохранена в кэше, от сервера - таким способом, которым браузер ведет себя странно, или как будто его кэш не ведет себя, как это должно.
Дальнейшее Разъяснение: Спасибо всем за обновления на кэшировании. Наши сценарии отправляются с корректными заголовками, и мы только видим эту проблему в IE6 и IE7 - Mozilla и браузеры WebKit, кажется, незатронуты - но я все еще не уверен в том, как точно мы пошли бы об использовании JavaScript и/или XmlHttpRequest для проверки, чтобы видеть, был ли объект получен от кэша, таким образом позволив нам проверку, ведет ли кэш себя плохо.
Кэш браузера не вызовет проблем, если он заполнен ... с несколькими незначительными примечаниями.
истекает срок действия заголовков
] и как изменить URL-путь к вашим файлам, когда вы вносите изменения скрипта в убедитесь, что вы «сломали» кеш)) Обновление: На основании вашего разъяснения вам необходимо убедиться, что любой сценарий, который вы отправляете клиенту, надлежащим образом кэширован ... что означает:
Это, вероятно, не будет работать как есть. Но это всего лишь идея:
var img = new Image();
(new Image).src = "imageWithFarFutures.png";
window.onload = function(){
document.getElementById("someIframe").src = "imageWithFarFutures.png";
// NOW if the server DOES get a FRESH request for "imageWithFarFutures.png"
// wouldn't it mean that the browser has kicked it out of its cache?
};
Рассмотрите возможность отправки заголовка, чтобы ваше приложение никогда не кэшировало содержимое, а срок его действия истекал немедленно.