我想阻止所有浏览器缓存文件script.php
我的文件 script.php 显示一个随机数:
<?php
$response = "document.write('" . rand(0,999999) . "');"; // Show random number
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
header('Content-Type', 'application/javascript');
echo $response;
和 test.html :
<script src="script.php"></script>
<script src="script.php"></script>
<script src="script.php"></script>
当我在Firefox上打开test.html页面时,文件script.php没有被缓存,我得到3个不同的随机数。但是在IE或Chrome上,我得到的数字是浏览器缓存的3倍。为什么Chrome和IE缓存不会加载3次文件?如何防止?
答案 0 :(得分:0)
您可以在调用脚本时添加缓存buster参数:
<script src="script.php?v=<?php echo mt_rand(1, 9999999) ?>"></script>
<script src="script.php?v=<?php echo mt_rand(1, 9999999) ?>"></script>
<script src="script.php?v=<?php echo mt_rand(1, 9999999) ?>"></script>
享受
答案 1 :(得分:0)
试试这个
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>