首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止浏览器按范围从内存缓存加载js?

问如何防止浏览器按范围从内存缓存加载js?
EN

Stack Overflow用户
提问于 2019-05-08 04:09:15
回答 1查看 1.1K关注 0票数 1

昨晚我用Chrome打开了我的网站,然后关闭了这个选项卡,但没有关闭浏览器。今天,我未能在一个新的选项卡中打开我的站点,因为jQuery(不使用CDN)遇到了语法错误:输入的意外结束。

无论我刷新多少次,我的站点都会碰到这个错误。但是,经过艰苦的刷新之后,这个错误没有再次发生。

近几个月来,这个问题经常发生。

我检查了Chrome,它说我的jquery.min.js是从内存缓存中加载的。而且它不是一个完整的文件,只包含部分jquery库。这就是为什么我有语法错误。

我在谷歌做了一些研究:

内存缓存的生存期附加到呈现进程的生存期,它大致对应于一个选项卡。

因此,如果我创建一个新的选项卡来访问我的站点,这是合理的,jQuery不应该从内存缓存中加载。

我希望浏览器不会再次从内存中加载我的文件,如果我在新选项卡中访问站点。

我能做些什么来找到问题的来源并修复它吗?

编辑(2019-05-13):

今天又犯了这个错误,但幸运的是,我发现新的观点似乎对这个问题很有帮助。

这就是这一要求:

​

请参见状态代码为206部分内容(来自内存缓存)。

我也不知道为什么我的请求头包含“范围”字段。

EN

回答 1

Stack Overflow用户

发布于 2019-05-08 07:57:33

您无法在浏览器中检测到新选项卡并加载jquery.min.js,但可以通过向库后缀添加时间戳来避免从缓存中加载,如下所示。

http://yoursite.com/lib/js/jquery.min.js?1557301884

您可以通过两种方式实现这一目标。

  • 案例:1如果您正在使用服务器端页面呈现方式(PHP,JSP),只需打印时间戳
  • 案例:2如果客户端意味着您必须做一些javascript的事情
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56033410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档