javascript - PHP 在所有浏览器上禁用缓存

标签 javascript php google-chrome internet-explorer caching

我想阻止所有浏览器缓存文件 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次文件?如何防止这种情况发生?

最佳答案

您可以在调用脚本时添加缓存破坏器参数:

<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>

享受

关于javascript - PHP 在所有浏览器上禁用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31366077/

相关文章:

php - php array_column 函数的逆函数?

javascript - 为什么我无法在 WordPress 上编辑页面的 html?

javascript - 通过 http 保护 POSTED 数据的最佳方法?

javascript - React-Router 客户端

javascript - 如何使用 Vue.js 在 bootstrap-select 下拉列表中设置默认值

php - 如何通过单击按钮显示 div 的值?

twitter-bootstrap - 获取 ERR_INVALID_HTTP_RESPONSE 错误 laravel5 localhost

javascript - 如何运行占用大量 CPU 和内存的 HTML/javascript 程序? (Firefox/Chrome 崩溃)

php - 我如何检测客户端浏览器是否安装了 adobe reader 插件

javascript - 失败的 Prop 类型 : Invalid prop `app` supplied to `Body` , 需要一个 ReactElement