Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何避免在静态站点中缓存作业生成的文件?_Javascript_Html_Apache_Caching_Static Site - Fatal编程技术网

Javascript 如何避免在静态站点中缓存作业生成的文件?

Javascript 如何避免在静态站点中缓存作业生成的文件?,javascript,html,apache,caching,static-site,Javascript,Html,Apache,Caching,Static Site,我的项目主要是一个静态站点,由生成。 大多数页面只是信息性的(因此是静态的),但是人们可以用他们的地址注册,所以有一个用PHP编写的注册页面 我的问题是关于一个带有谷歌地图的页面,每个地址都有一个标记 我正在使用,我只是做了一些小改动,比如将数据(GPS坐标列表)分离到一个单独的JavaScript文件中,所以我基本上有如下内容: data.js: map.html: 地址图 /*使用大量JavaScript来显示带有标记的地图*/ map.html是静态的,并且(几乎)从不更改。 data

我的项目主要是一个静态站点,由生成。
大多数页面只是信息性的(因此是静态的),但是人们可以用他们的地址注册,所以有一个用PHP编写的注册页面

我的问题是关于一个带有谷歌地图的页面,每个地址都有一个标记

我正在使用,我只是做了一些小改动,比如将数据(GPS坐标列表)分离到一个单独的JavaScript文件中,所以我基本上有如下内容:

data.js
map.html

地址图
/*使用大量JavaScript来显示带有标记的地图*/
map.html
是静态的,并且(几乎)从不更改。
data.js
(包含所有现有注册的地址)由cronjob每天重新生成一次

如何确保每个人都能随时看到最新版本的
data.js
? 我读过,但我想我不能用它。
只要
map.html
是一个静态文件,我就不能使用链接中显示的两种缓存破坏方法中的任何一种。
(因为每次我重新生成.js文件时,我都必须更改HTML文件中的链接)

当然,我也可以重新生成HTML文件,但如果有其他解决方案,我希望避免复杂性

当我知道文件总是在固定的时间间隔内更改时,是否需要破坏缓存? 该站点托管在租用的LAMP Web空间中,因此我可以告诉Apache。
但这将导致所有客户端总是重新加载它,即使它每天只更改一次

所以我可以把缓存时间设置为24小时?(因为文件每天重新生成一次)

真的那么简单吗

试过这个吗?应该可以在.htaccess、httpd.conf和VirtualHost中使用(如果您已经从httpd.conf中包含了它,则通常放在httpd-vhosts.conf中)


FileTag无
标题未设置ETag
标题集缓存控制“最大年龄=0,无缓存,无存储,必须重新验证”
标题集Pragma“无缓存”
标题集过期“1984年1月11日星期三05:00:00 GMT”

资料来源:

好的,这显然是一个“见树不见林”的案例:-)
var locations = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
  ['Coogee Beach', -33.923036, 151.259052, 5],
  ['Cronulla Beach', -34.028249, 151.157507, 3],
  ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
  ['Maroubra Beach', -33.950198, 151.259302, 1]
];
<!DOCTYPE html>
<html>
  <head>
    <title>address map</title>
  </head>
  <body>
    <div id="map" style="height: 500px; width: 100%;"></div>
    <script type="text/javascript" src="https://maps.google.com/maps/api/js?key=xxxxxxxxxxxx"></script>

    <!-- this should never be cached! -->
    <script src="http://example.com/data.js"></script>

    <script type="text/javascript">
        /* a lot of JavaScript to show the map with markers */
    </script>
  </body>
</html>
<filesMatch "\.(html|htm|js|css)$">
  FileETag None
  <ifModule mod_headers.c>
     Header unset ETag
     Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
     Header set Pragma "no-cache"
     Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
  </ifModule>
</filesMatch>