火狐浏览器无法重新加载更新的CSS/JS文件

4
我在使用火狐浏览器时遇到了问题,每次更新我的CSS或JS文件后,我需要清除火狐浏览器的缓存才能获取更新的文件。我在Ubuntu中使用C#和asp.net开发了我的web应用程序,因此使用XSP2服务器。
是否有任何方法可以自动重新加载已更新的CSS/JS文件,并在服务器端或我的Web应用程序中实现?
请给出建议。
非常感谢。
4个回答

11

按住CTRL键,然后按F5,这是一种硬刷新页面的方法,可清除刚刚刷新的页面缓存。

如果你想自动重新加载其他用户的浏览器,请在src/href标签的末尾使用一个随机变量,例如:

<script type="text/javascript" src="dothis.js?r=591"></script>
如果`src`不断变化,那么浏览器会重新加载脚本而不使用缓存。

仅按下 F5 也可以工作。它会检查新版本并在修改后加载它。而 Ctrl+F5 将重新加载所有资源,无论它们是否被修改。 - shashwat
谢谢你提供的这个好类型,我之前不知道我们可以强制刷新浏览器。在更新一些CSS文件后,按F5并不能总是考虑到更改。但是Ctrl+F5似乎每次都能解决问题。 - jmbouffard

3

1
谢谢,但我希望其他用户的浏览器在不需要调整浏览器设置的情况下自动重新加载更新后的文件。 - domlao

2
你可以修改头部缓存,但最简单的方法是在需要更改元素时,在其后加上查询字符串...
我知道这听起来不像一个好的解决方案,但当你开始压缩和合并js和css文件以提高性能时,大多数解决方案都会在更改资源时更改url...

是的...我知道这听起来不可维护,但它是确保所有浏览器都不会缓存文件的最佳方法之一。 - ar3

1

有几种方法可以确保用户在您的网页上看到最新的内容。定期刷新页面或阻止浏览器缓存网页,每次返回时都会加载最新数据。

===== 完全不允许用户将数据存储在缓存中:

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 

将以下代码添加在HTML的标签中,页面将不会被缓存:

===== 在一定时间间隔后刷新页面:

<meta HTTP-EQUIV="Refresh" CONTENT=300>

将以下代码添加在HTML的标签中,页面就不会被缓存:


另一种解决方案: 这里

或者:

<%@ OutputCache Location="None" VaryByParam="None" %>

来源:这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接