Независимо от того, что я делаю:Google Chrome не не чтит кэш-политики в заголовке страницы, если страница отображается в кадре
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Expires" content="Fri, 30 Apr 2010 11:12:01 GMT" />
<meta http-equiv="Expires" content="0" />
<HTTP-EQUIV="PRAGMA" CONTENT="NO-STORE" />
Google Chrome не перезагружать любую страницу в соответствии с данной страницы внутренней политики кэширования если страница отображается в кадре. Как будто метатеги даже не существуют. Google Chrome, похоже, игнорирует эти теги.
Поскольку я получил ответы на этот вопрос на других форумах, на которых человек, ответивший, проигнорировал действующее условие, я повторю его: это происходит, когда страница отображается в кадре.
Я использовал последнюю выпущенную версию и с тех пор обновлен до версии 5.0.375.29, но в обеих версиях все одинаково.
Помогло ли вам каким-либо образом подтвердить так или иначе поведение, которое вы видите с помощью наборов фреймов, и политики кэширования/истечения срока действия, указанные в метатегах?
Благодаря
Да, политика истечения срока действия находится в документе framset и в документах по содержанию. Документ с объявлением набора фреймов перезагружается. Аудит Chrome отмечает, что страница набора фреймов «явно не кэшируема». Предположите сделать возможным кэширование, если возможно ». Документы контента никогда не перезагружаются. В первый раз, когда я загрузил их в Chrome, у них не было мета-тегов, контролирующих их истечение. Несмотря на то, что с тех пор я добавил эти теги и повторно загрузил, Chrome, похоже, тайно их кэшировал. – Tim
Я вижу. Единственный способ, с помощью которого я могу решить эту проблему, - это, пожалуй, непривлекательный: указать аргумент в вашем SRC кадра, чтобы разбить кеш: iframe src = "document.html? X = new". Или, если у вас есть роскошь использовать серверный скрипт, такой как asp.net? T = <% = DateTime.Now.Ticks%> Документ игнорирует аргумент, но хром будет рассматривать его как другой URL-адрес. Но я понимаю, по ряду причин это непривлекательно. – Chris
Спасибо. Я вернулся и жестко закодировал аргумент, чтобы заставить перезагрузить. Несмотря на то, что аргумент не изменится, поскольку он жестко закодирован, Chrome теперь соблюдает политику в метатегах. Таким образом, по-видимому, нежелательное поведение таково: если на странице не было политики кэширования/истечения при первой загрузке, Chrome будет продолжать кэшировать ее, даже если такая политика будет позже добавлена на страницу. Либо Chrome не ищет политики, если на этой странице не было ни одного, либо NULL или UNDEFINED оригинальной даты истечения срока действия каким-то образом испортили сравнение с новой датой истечения срока. – Tim