一个js文件里面给该js文件加上版本号能消除缓存吗?

遥望星辰_ 2018-03-29 07:23:04
比如:
<script src="main.js" id="main"></script>

main.js
var js = document.getElementById('main');
js.src = js.src +'?v='+ +new Date();

如上,发现浏览器并没有去请求带版本号的js,并且大部分情况下都能获取到最新的修改,请问这是什么情况。


...全文
1109 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
遥望星辰_ 2018-03-30
  • 打赏
  • 举报
回复
引用 1楼天际的海浪 的回复:
你这样会让main.js连着加载执行两次,一次旧的版本和一次亲的版本、 应该是js文件外面加 <script id="main"></script> <script type="text/javascript"> var js = document.getElementById('main'); js.src = 'main.js?v='+ new Date().getTime(); </script>
感觉这样也是一样的,毕竟上面的js是同步执行的,但是又打印不出来两次执行,真是不太明白
天际的海浪 2018-03-29
  • 打赏
  • 举报
回复
你这样会让main.js连着加载执行两次,一次旧的版本和一次亲的版本、 应该是js文件外面加 <script id="main"></script> <script type="text/javascript"> var js = document.getElementById('main'); js.src = 'main.js?v='+ new Date().getTime(); </script>

87,937

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧