2013-04-29 84 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缓存 – 2013-04-29 20:12:17

+0

谢谢。但是这没有效果。我认为这与drupal没有任何关系。 – mysticbovine 2013-04-29 21:08:37

+0

也许你可以在你的客户端实现一个小的Ajax轮询,并检查服务器是否有更新版本的计划。如果有,请通知用户。 – D34dman 2013-05-01 01:40:25

回答

0

这个问题是因为Chrome似乎缓存了一切。为了解决这个问题,我添加了

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

我不得不使用“无存储”。