Test
tester7. В теге <head> есть блок php, который проверяет специальный Cookie, и если он установлен, добавляет блок <style> с нужными стилями. Генерируется новая страничка, кеш перезаписывается. Как быть в таких случаях?
Вынести эту логику в Javascript.
<head>
<script>
if (document.cookie.indexOf("my_cookie=yes") >= 0)
{
//Устанавливаем класс для тега <html>
document.documentElement.className += " has-cookie";
}
</script>
</head>
<style>
.block { display: none; }
.has-cookie .block { display: block; }
</style>
8. Что является причиной перезаписи кеша?
Причин много. Вот самые популярные:
- Случайные ID в HTML и Javascript. Метод randString поможет решить эту проблему.
- Вывод данных из сессии (id, login).
- Контент страницы зависит от User Agent.
- Разный контент для анонимного и для авторизованного пользователя.
- Добавление на страницу CSS- и JS-файлов в зависимости от пользователя.