2013-04-29 2 views
0

Я разработал сайт в Drupal, который позволяет вам просмотреть несколько страниц, чтобы помочь разработать план. Идея заключается в том, что если кто-то при составлении плана переходит на другую часть сайта, а затем возвращается к плану, их место будет сохранено в сеансе.Старая сессия, показывающая в Chrome

Все работает отлично в Firefox и IE, но в Chrome это не так (в большинстве случаев).

Когда он работает, это потому, что вы используете ссылки сайта, чтобы вернуться к плану. Но если вы используете кнопку «Назад» в браузере, вы попадаете в более старую версию сеанса. Если вы нажмете обновление, загрузится правая страница.

Зачем загружаться эта старая сессия? Тем более, что существует более новая сессия? Вот сценарий, который загружает содержимое текущих разделов.

$output = array(
     "current" => $_SESSION["order"]["current"], 
     "nodes" => $nodes 
    ); 
    $node = node_load($current); 
    $nodeView = node_view($node, 'full'); 

Спасибо за любую помощь.

+0

очистить кэш drupal в разделе управления эффективностью –

+0

Спасибо. Но это не имеет никакого эффекта. Я не думаю, что у него есть что-то с drupal. – mysticbovine

+0

Возможно, вы можете просто выполнить небольшой опрос ajax на своей стороне клиента и проверить, имеет ли сервер более новую версию плана. И если это так, сообщите об этом пользователю. – D34dman

ответ

0

Проблема была в том, что Chrome, похоже, все кеширует. Чтобы исправить это, я добавил

<?php 
    header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP/1.1 
?> 

Мне пришлось использовать «no-store».