强制JavaScript每天重新加载一次
Force JavaScript reload just once a day
如果JavaScript的?随机将是当前日期-然后每天只加载一次吗?
<script type="text/javascript" src="http://external.example.com/bookmarklet.js?random"></script>
我提出这个问题的背景是,我不希望它永远留在缓存中,但我也在寻找一种方法来节省一些带宽并加快速度。感谢
在包含的js文件名末尾添加日期或时间戳确实会使其重新加载(如果用户的浏览器缓存了该文件名)。
如果你想使用JavaScript来创建这个时间戳,你可以动态地包括你的外部js文件,比如:
var the_time=新日期();var fileref=document.createElement('script');fileref.setAttribute("type","text/javascript");fileref.setAttribute("src","test.js?"+_time.getDate()+_time.getMonth()+_time.getFullYear());document.getElementsByTagName("head")[0].appendChild(fileref);
我选择了根据日期、月份和年份制作时间戳,所以它每天都会变化。
如果你的页面是用PHP生成的,你可以这样做:
<script src="http://external.example.com/bookmarklet.js?<?php echo date('Ymd'); ?>" type="text/javascript"></script>
仅当时间戳调整为一天中的某个时间(例如午夜)时。这在HTML中无法完成,但我发现了一些PHP可以完成这项工作:来自PHP Freaks
是的,这应该完全符合您的需要,只需注意您只写日期部分,没有写时间。
甚至比每天一次更好,我认为无论何时javascript更改,或者作为近似值,当升级或重新启动应用程序时,都需要刷新客户端的缓存。不确定PHP中的最佳实践是什么,但在Python中,我会在应用程序启动时生成一个随机变量,将其存储在全局变量中,并在您提供的资源的每个URL中使用,无论是JS还是CSS。像jQuery或YUI等库只需要在有新版本时重新加载,并且您可能希望从CDN提供它们。
相关文章:
- 如何防止javascript一次打开过多的文件
- 使用 JavaScript 一次为一个元素设置多个属性
- Javascript一次str_replace很多
- 如何使用 javascript 一次显示此数组的字符串内容
- 使用 Javascript 一次下载多个图像
- 如何让 JavaScript 一次运行一个字符串
- Javascript 一次选择所有单选按钮
- 使用 JavaScript 一次又一次地在画布上编写文本
- 使用 javascript 一次循环播放 4 个以上的声音
- 使用javascript一次加载/取消隐藏一个图像
- Javascript一次选择一行
- 用javascript一次添加3个活动类
- Javascript一次对两种效果进行样式化
- 我如何上传一个文件(图像,视频,文档)使用PHP或Javascript一次上传
- Javascript一次点击两个函数
- Javascript一次填充不同的svg形状
- Javascript一次获取多个id
- 用于使用同一类的 JavaScript 一次悬停 3 个项目
- Javascript一次替换多个字符
- 请求javascript一次打开多个链接