gpt4 book ai didi

javascript - 防止缓存 JS 文件

转载 作者:行者123 更新时间:2023-11-28 07:41:55 27 4
gpt4 key购买 nike

我们有一个 JS 脚本,它可能会随着每个请求而改变。我们没有机会更改脚本标签的 src。但是,我们确实可以更改输出 JS 的服务器端脚本。

为什么按下后退按钮后此脚本没有在 iOS 上重新加载?

在 php 中,我们发送了这些 header :

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 文件缺少什么?

Charles Response headers on the first load

更新:

第 1 页已加载 script 标签

在第 1 页上进行 anchor 点击后,客户将重定向到新页面;第2页。脚本 src="some.js 等。some.js 是在服务器上动态生成的,并且会输出一些内容。

点击后退按钮,将进入页面 1。但是 some.js 显示的是页面 2 的内容。奇怪???

最佳答案

如果页面仍在 RAM 缓存中,后退按钮实际上不会加载页面。您可以将 JS 绑定(bind)重新加载到窗口的 onpageshow 事件。

看这里:

关于javascript - 防止缓存 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27912366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com