首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >更新javascript/jquery代码时清除浏览器网站数据

更新javascript/jquery代码时清除浏览器网站数据
EN

Stack Overflow用户
提问于 2017-03-23 06:52:58
回答 4查看 1.7K关注 0票数 2

我正在构建一个asp.net网站(使用HTML、C#、jQuery..)。

然后。网站已发布。

然后。我有一些错误需要修复的javascript代码文件。

我修复了它并重新发布了网站。

但是,浏览器保存缓存或其他浏览数据,用户没有得到固定的版本。

那么,当我修改一些小代码或修复js文件中的小错误时,如何手动(通过javascript、jquery或C#)清除用户的浏览数据或缓存?我不能对用户说“你必须清除浏览数据才能获得新版本!”

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2017-03-23 07:11:39

这可能不能直接回答你的问题,但是如果你使用像webpack这样的捆绑包或者像gulp这样的任务运行器,你实际上可以用hashkey生成文件。

例如,捆绑器将生成js文件的生产版本,如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myFile.d587bbd6e38337f5accd.js

d587bbd6e38337f5accd是由绑定器生成的散列键&它将由绑定器本身注入。在这种情况下,每个版本都会有一个修改了散列键的js文件。因此它不会从缓存中加载

您可以查看此以了解它

票数 1
EN

Stack Overflow用户

发布于 2017-03-23 07:25:26

在javascript的情况下,使用格式如下的cacheBustingUrl,它被附加到Date.Now(),这将解决缓存问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   <script>
         var scriptUrl = "/site/js/script.js",
         cacheBustingUrl = scriptUrl + "?" + Date.now(),
         newScriptElement = document.createElement("script");
         newScriptElement.setAttribute("src",cacheBustingUrl);
         document.body.appendChild(newScriptElement);
    </script>

这应该附加一个新的脚本元素,比如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <script src="/site/js/script.js?1404918388711"></script>

添加到页面的末尾,浏览器将像加载任何其他脚本标记一样加载该页面。

票数 1
EN

Stack Overflow用户

发布于 2017-03-23 07:03:15

你可以尝试使用window.location.reload(true)在页面上设置刷新,理论上这将忽略所有缓存的文件,并为用户检索网站的新副本。

也许创建检查,将刷新页面,如果它不是最新的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42969140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文