【发布时间】:2015-01-12 23:11:57
【问题描述】:
我们有一个 JS 脚本,它可能会随着每个请求而改变。我们没有机会改变 script 标签的 src。但是,我们确实可以更改输出 JS 的服务器端脚本。
为什么按下后退按钮后这个脚本没有在 iOS 上重新加载?
在 php 中,我们发送了这些标头:
header("Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0"); // HTTP 1.1.
header('Last-Modified: '.gmdate('D, d M Y H:i:s \G\M\T', time()));
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time()));
header('Access-Control-Allow-Origin: *');
header('Pragma: no-cache'); // HTTP 1.0.
header('Content-Type: application/javascript; charset=utf-8');//lets pretend it to be a JS file
强制重新加载 js 文件缺少什么?
更新:
第 1 页加载了脚本标签
在第 1 页的锚点点击后,客户被重定向到新页面; page 2. script src="some.js etc etc. some.js 是在服务器上动态生成的,并且会输出一些东西。
点击后退按钮,会跳转到第1页。但是some.js显示的是第2页的内容。奇怪????
【问题讨论】:
标签: javascript php caching