标签: browser-cache

浏览器缓存:如果我们更改某些内容强制用户获取新版本,而不是本地缓存版本

我们经常在我们的网站上进行更改(使用缓存),有时用户不知道刷新页面以获取它的最新副本.

如果我们更新页面,我们如何强制用户浏览器知道有新的服务器版本,并使用它而不是他们的浏览器缓存页面?

browser caching browser-cache http-headers

4
推荐指数
1
解决办法
1330
查看次数

浏览器缓存(.js文件)存在多长时间

ASP.NET 4.0

如果我在页面中更新了我的.js文件,但似乎客户端的浏览器没有下载新的.js文件(由于浏览器缓存?).哪些因素可能会影响旧的.js文件保留在客户端的PC上?有没有办法强制客户端下载新的.js文件?

编辑: 我还有另一个问题 - 浏览器保留.js缓存多长时间?它是否受客户端浏览器设置控制?

asp.net browser-cache

4
推荐指数
2
解决办法
3094
查看次数

在jQuery中在后台引入HTML资源

在页面上,有一个按钮.单击该按钮时,会显示一个下拉列表.下拉列表包含图像.问题是在用户单击按钮之前不会获取图像.

$("#my_button").click(function(){
    $("#my_dropdown").html("<img src=\"http://mysite.com/image.jpg\" />"); 
});
Run Code Online (Sandbox Code Playgroud)

我想在页面加载时获取图像,以便在用户单击下拉列表时准备好.我怎样才能做到这一点?我以为我可以将图像插入带有display:noneset 的页面,所以它会进入缓存,或者有什么方法可以在jQuery中加载文档时加载?

这适用于Chrome扩展程序,如果它有任何区别.我想我可以将图像放在扩展中(这会更快),但我仍然很好奇是否可以使用JS加载图像.

谢谢,凯文

javascript jquery image-preloader preload browser-cache

4
推荐指数
2
解决办法
3517
查看次数

我可以使用html5缓存清单来存储第三方js吗?


我想在我的html5缓存清单中使用第三方js.
我不知道我能不能做到,如果可能的话怎么样?
我可以在清单文件中指定完整的第三方js url吗?
我看过一些例子,他们在清单中为图像指定了http url,那么为什么我们不能为js和css做同样的事情呢?
如果我们无法实现它,还有其他选择吗?我知道我们可以将第三方j存储在本地存储中.
示例表示赞赏.

javascript html5 browser-cache cache-manifest

4
推荐指数
1
解决办法
1741
查看次数

如何在JSF2中禁用静态资产(如.css和.js)的缓存?

我正在尝试设置一个不缓存静态资产.css和.js的项目.我们似乎对某些人有一些内部缓存问题,我希望这可以解决它.

我有一个阶段监听器,基本上是这个http://turbomanage.wordpress.com/2006/08/08/disable-browser-caching-in-jsf/的略微修改版本

我的课:

package com.ods.common.jsf.phaselistener;

import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import javax.servlet.http.HttpServletResponse;

public class CacheControlPhaseListener implements PhaseListener
{
public PhaseId getPhaseId()
{
    return PhaseId.RENDER_RESPONSE;
}

public void afterPhase(PhaseEvent event)
{
}

public void beforePhase(PhaseEvent event)
{
    FacesContext facesContext = event.getFacesContext();
    HttpServletResponse response = (HttpServletResponse) facesContext
            .getExternalContext().getResponse();
    response.setHeader("Cache-control", "no-cache"); // HTTP 1.1
    response.setHeader("Cache-control", "no-store"); // HTTP 1.1
    response.setHeader("Cache-control", "must-revalidate"); // HTTP 1.1
    // response.setHeader("Pragma","no-cache"); //HTTP 1.0
    response.setHeader("Allow", "GET"); // Allowing GET Method only
    response.setHeader("Allow", "POST");// Allowing …
Run Code Online (Sandbox Code Playgroud)

javascript css websphere jsf browser-cache

4
推荐指数
1
解决办法
8366
查看次数

什么是"懒惰缓存"?

我正在重新阅读这篇伟大的文章,偶然发现了我之前没有注意到的事情,这就是作者所谓的懒惰缓存.确切地说,这是上下文:

他们知道如何使用错误文档进行延迟缓存吗?

什么是延迟缓存以及错误文档与此相关的内容?我一直在谷歌上搜索这些短语,并且没有成功.

有人可以解释那是什么以及在哪里使用?我认为只是有一个不同的名称,我无法弄清楚是什么.

PS如果你知道如何更好地标记这个问题,请这样做!

caching http browser-cache errordocument

4
推荐指数
1
解决办法
3604
查看次数

自动刷新浏览器缓存

如果我听起来无知,这是我从来没有遇到过的事情,所以请原谅我.

我遇到的基本问题是,在Visual Studio 2010中工作时,我所做的任何更改似乎都会被某种缓存所捕获.

例如,我将对页面进行更改,运行解决方案,然后我必须按Ctrl + F5强制刷新缓存以查看更改.这是ASP.NET/HTML/CSS和JavaScript代码.一样.

在过去,Visual Studio过去只是在每次运行时清除缓存,所以至少可以说我有点沮丧.

此外,当我将解决方案部署到IIS服务器时,用户也会遇到同样的情况.即使ASP.NET页面上有更改,用户也会继续提升缓存版本,直到清除缓存为止.我通过使用版本号重命名文件(尤其是javascript)来缓解此问题,因此客户端始终将它们视为新文件并加载而不是从缓存加载.

Visual Studio或web.config中是否有可能导致此问题的设置?

编辑:这是我的web.config文件

<configuration>
  <system.web>
    <sessionState cookieless="UseCookies" timeout="1440" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"/>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx"/>
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx"/>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx"/>
      </assemblies>
    </compilation>
    <authentication mode="Windows"/>
    <pages>
      <controls>
        <add tagPrefix="ajaxtoolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolKit"/>
      </controls>
    </pages>
  </system.web>
  <system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="50000000"/>
      </webServices>
    </scripting>
  </system.web.extensions>
</configuration>
Run Code Online (Sandbox Code Playgroud)

asp.net visual-studio-2010 browser-cache

4
推荐指数
1
解决办法
2万
查看次数

正确设置HTTP标头以强制缓存JS,CSS和PNG文件

我如何告诉GlassFish服务器,将所有JS,CSS和PNG文件存储到浏览器缓存中以减少HTTP GET请求?

我正在使用JSF和PrimeFaces.

jsf glassfish browser-cache servlet-filters

4
推荐指数
1
解决办法
6266
查看次数

Mozilla不会更新源代码

我正在开发一个网站.

我在Mozilla中测试它,
当我对网站javascript代码进行更改时,我发现更改没有反映在浏览器中(我在Mozilla的调试器中检查了代码)

我知道这是一个缓存问题,因为当我清除缓存时,事情正常.

我是否正确识别了问题?
如果是的话,有没有办法摆脱每次清除缓存?

javascript firefox browser-cache

4
推荐指数
1
解决办法
109
查看次数

.Net Core Angular 5网站中的缓存清除index.html

我正在使用.Net core和angular 5创建一个网站。我使用最新的.Net core angular template(dotnet new angular与安装的.Net core 2.1一起使用)创建了该项目。

该项目使用angular cli来构建/打包并将哈希应用于绑定的js和css文件:

在此处输入图片说明

但是,将网站发布到azure应用程序服务后,我发现当浏览到该网站时,会看到旧版本,直到用F5手动刷新(不需要Ctrl-F5)。这似乎是因为尽管js / css文件不会被缓存,但包含这些文件引用的index.html页面将从缓存中提供。

当我按F5重新加载网站时,home从网站请求index.html(以下)(本例中为304,因为它没有更改,如果有,它将获取最新的):

在此处输入图片说明

但是,当我最初加载页面(通过书签或输入地址等)时,直接从缓存中提供页面:

在此处输入图片说明

这是预期的行为吗?为什么第一次加载页面与按F5相比有何不同?并且我可以防止缓存吗?

browser-cache .net-core angular-cli angular

4
推荐指数
2
解决办法
1792
查看次数