4

Независимо от того, что я делаю: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, но в обеих версиях все одинаково.

Помогло ли вам каким-либо образом подтвердить так или иначе поведение, которое вы видите с помощью наборов фреймов, и политики кэширования/истечения срока действия, указанные в метатегах?

Благодаря

ответ

2

Пробовали ли вы эти мета-теги, как в обрамлении документе, а также родителей/хостинг документа?

+0

Да, политика истечения срока действия находится в документе framset и в документах по содержанию. Документ с объявлением набора фреймов перезагружается. Аудит Chrome отмечает, что страница набора фреймов «явно не кэшируема». Предположите сделать возможным кэширование, если возможно ». Документы контента никогда не перезагружаются. В первый раз, когда я загрузил их в Chrome, у них не было мета-тегов, контролирующих их истечение. Несмотря на то, что с тех пор я добавил эти теги и повторно загрузил, Chrome, похоже, тайно их кэшировал. – Tim

+1

Я вижу. Единственный способ, с помощью которого я могу решить эту проблему, - это, пожалуй, непривлекательный: указать аргумент в вашем SRC кадра, чтобы разбить кеш: iframe src = "document.html? X = new". Или, если у вас есть роскошь использовать серверный скрипт, такой как asp.net? T = <% = DateTime.Now.Ticks%> Документ игнорирует аргумент, но хром будет рассматривать его как другой URL-адрес. Но я понимаю, по ряду причин это непривлекательно. – Chris

+2

Спасибо. Я вернулся и жестко закодировал аргумент, чтобы заставить перезагрузить. Несмотря на то, что аргумент не изменится, поскольку он жестко закодирован, Chrome теперь соблюдает политику в метатегах. Таким образом, по-видимому, нежелательное поведение таково: если на странице не было политики кэширования/истечения при первой загрузке, Chrome будет продолжать кэшировать ее, даже если такая политика будет позже добавлена ​​на страницу. Либо Chrome не ищет политики, если на этой странице не было ни одного, либо NULL или UNDEFINED оригинальной даты истечения срока действия каким-то образом испортили сравнение с новой датой истечения срока. – Tim