2011-05-25 62 views
0

我使用下面的PHP随机播放功能代码,以显示图像的列表:PHP随机播放功能不工作的刷新在IE8和Chrome

<?php 
$images = array(); 
$images['image1'] = array("id" => "sales1", "href" => "#salesperson1", "src" => "salesteam/salesteam-jessie.png"); 
$images['image2'] = array("id" => "sales2", "href" => "#salesperson2", "src" => "salesteam/salesteam-anthony.png"); 
$images['image3'] = array("id" => "sales3", "href" => "#salesperson3", "src" => "salesteam/salesteam-nicole1.png"); 
$images['image4'] = array("id" => "sales4", "href" => "#salesperson4", "src" => "salesteam/salesteam-kevin.png"); 
$images['image5'] = array("id" => "sales5", "href" => "#salesperson5", "src" => "salesteam/salesteam-christi.png"); 
$images['image6'] = array("id" => "sales6", "href" => "#salesperson6", "src" => "salesteam/salesteam-thomas.png"); 
$images['image7'] = array("id" => "sales7", "href" => "#salesperson7", "src" => "salesteam/salesteam-melissa.png"); 
$images['image8'] = array("id" => "sales8", "href" => "#salesperson8", "src" => "salesteam/salesteam-nicole2.png"); 
shuffle($images); 
foreach ($images as $singleimage) { 
$singleid = $singleimage['id']; 
$singlehref = $singleimage['href']; 
$singlesrc = $singleimage['src']; 
echo "<li><a id=\"$singleid\" href=\"$singlehref\"><img src=\"$singlesrc\" /></a></li>"; 
} 
?> 

在任何IE8或Chrome打刷新时它不工作。它在Firefox中工作得很好。这是缓存问题吗?

+3

做一个硬刷新( Ctrl + F5),如果它在Chrome /上工作,即它是一个缓存问题。 – Gazler 2011-05-25 20:07:54

+0

其移位+ F5在FF(不是mac) – 2011-05-25 20:13:30

+0

硬刷新(上述刷新)不会改变IE或Chrome中图像的顺序。在FF中使用硬刷新或常规刷新可以很好地工作。 – zach 2011-05-25 20:38:31

回答

2

你可以通过http迫使无缓存头

<?PHP 
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); 
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); 
header('Cache-Control: no-store, no-cache, must-revalidate'); 
header('Cache-Control: post-check=0, pre-check=0', false); 
header('Pragma: no-cache'); 
+0

很抱歉,我无法访问此页面上的标题。其他解决方案? – zach 2011-05-25 20:34:07

1

这是从缓存中,你应该SRC $ imagesrc使用。 '?'。兰特(0999)

echo "<li><a id=\"$singleid\" href=\"$singlehref\"><img src=\"$singlesrc?".rand(0,999)."\" /></a></li>"; 
+0

是的,我试过类似的东西,使用时间函数。它似乎没有工作。在Chrome和IE8中,数字保持不变。你还有其他建议吗? – zach 2011-05-25 20:25:34