我面临的问题是 javascript 被缓存在用户的浏览器上,并且在更改投入生产时没有得到更新。因为该站点使用多个嵌入式 iframe,仅使用 f5 是不够的。我采用的解决方案是首先加载一个脚本,该脚本获取我需要的 js 文件的所有修改日期,然后将这些日期附加到每个页面的 js 文件中。每个页面看起来像这样:
<script type="text/javascript" src="get_dates"></script>//returns the dates for each file in array
<script type="text/javascript">
document.writeln('<script type="text/javascript" src="' + some_path + '?Mod=' + date_array[pos] + '"></script>...repeat for all scripts
</script>
我的问题是:
- 在模组日期更改之前,您如何判断脚本是否被缓存?(我仍然希望它们被缓存,只是如果它们被更新了)
- html 页面的缓存将如何影响这一点?
- 使用 document.writeln(() 会影响缓存吗?即,如果您编写完全相同的脚本,它们是否仍会被缓存?