Отключение браузера, кэширующегося для всех браузеров из ASP.NET

На практике это возможно, если вы используете элемент span вместо font:



$username

См. jsfiddle . Похоже, работает на Chrome, Safari, Firefox, IE, Opera (протестировано на Win 7 с новейшими версиями).

Код в вопросе тоже должен работать, но по некоторым причинам он не работает в браузерах WebKit (Chrome, Safari).

Согласно спецификации CSS : «Цвет (ы), требуемый для оформления текста, должен быть получен из значения свойства« color »элемента, для которого установлено« text-painting ». Цвет художественных оформлений должен оставаться неизменным, даже если у дочерних элементов разные значения «цвета» ».

84
задан Martin Hollingsworth 27 May 2009 в 23:17
поделиться

2 ответа

Это то, что мы используем в ASP.NET:

// Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

// Stop Caching in Firefox
Response.Cache.SetNoStore();

Это останавливает кеширование в Firefox и IE, но у нас нет пробовал другие браузеры. Эти операторы добавляют следующие заголовки ответов:

Cache-Control: no-cache, no-store
Pragma: no-cache
96
ответ дан 24 November 2019 в 08:36
поделиться

Я знаю два подхода. Первый - указать браузеру не кэшировать страницу. Об этом позаботится установка ответа на отсутствие кеша, однако, как вы подозреваете, браузер часто игнорирует эту директиву. Другой подход - установить дату и время вашего ответа на точку в будущем. Я считаю, что все браузеры исправят это до текущего времени, когда добавят страницу в кеш, но при сравнении будет отображаться страница как более новая. Я считаю, что в некоторых случаях сравнение не проводится. Я не уверен в деталях, и они меняются с каждой новой версией браузера. Последнее замечание. Мне больше повезло со страницами, которые «обновляются» (еще одна директива ответа). Кажется, что обновление из кеша с меньшей вероятностью.

Надеюсь, что это поможет.

1
ответ дан 24 November 2019 в 08:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: