标签: browser-cache

SO的形式如何记住以前的输入值?

我注意到如果按浏览器的后退按钮返回到Ask Question页面,会记住TitleBody部分.

我测试的所有浏览器都提供此功能,但我自己的项目中的表单不存在此功能.

我该如何处理这种效果?

UPDATE

我仍然没有任何线索,但猜猜是某种客户端缓存由http标头或javascript启用?

html forms webbrowser-control browser-cache

13
推荐指数
1
解决办法
7676
查看次数

如何在用户注销后清除浏览器缓存,以防止通过"后退"按钮访问私人信息

用户退出后,如果他们点击后退按钮,他们可以在退出之前返回到他们所在的最后一页.

我正在处理的应用程序通常用于公共计算机(例如图书馆或计算机实验室),我想阻止用户查看以前用户会话中的任何内容.

我正在使用Rails 3和Devise,顺便说一下,虽然看起来这个问题会出现任何框架或登录机制.

解决方案是使用标头/元标记来禁用浏览器缓存吗?有人知道解决这个问题的宝石或教程吗?

期待您的建议.

authentication ruby-on-rails browser-cache http-headers devise

13
推荐指数
3
解决办法
5230
查看次数

使用清单关闭Application Cache

我正在编写一个HTML5应用程序,它使用"带缓存的应用程序缓存".

但是,在我开发的过程中,我希望将其关闭.

我尝试从标记中删除manifest属性,并在清单文件中将所有内容切换到网络.

虽然它在第一次更新时确实更新了,但仍然从缓存而不是服务器读取所有子序列更新.

我可以看到HTML文件已更新,标签上不再有manifest属性,但它仍然从缓存加载.

一旦你设置它,我似乎无法弄清楚如何关闭它,所以这是我的问题:

有没有办法在Google Chrome中关闭"带缓存的应用程序缓存"?

html5 google-chrome web-applications browser-cache

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

利用浏览器缓存| 修改.htaccess文件| - 不适用于javascript文件

我试图通过指定资源的到期来修改我的.htaccess文件.它适用于图像,但不适用于javascript文件.运行GTMetrix时,它仍然建议javascript文件需要过期.我试过"application/javascript"和"application/x-javascript",但无济于事.

不确定我做错了什么.

这是我的代码:

     ## EXPIRES CACHING ##
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access 1 year"
    ExpiresByType image/jpeg "access 1 year"
    ExpiresByType image/gif "access 1 year"
    ExpiresByType image/png "access 1 year"
    ExpiresByType text/css "access 1 month"
    ExpiresByType application/pdf "access 1 month"
    ExpiresByType application/javascript "access 1 week"
    ExpiresByType application/x-shockwave-flash "access 1 month"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresDefault "access 2 days"

    </IfModule>
    ## EXPIRES CACHING ##
Run Code Online (Sandbox Code Playgroud)

javascript optimization .htaccess caching browser-cache

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

使用Twitter Bootstrap的Rails:仍在提供旧资产

在这里坚果.我正在开发一个rails应用程序,我正在使用twitter-bootstrap-rails gem以便在我的应用程序中包含Twitter Bootstrap样式.这个gem在app/assets/stylesheets中生成一个名为'bootstrap_and_overrides.css.less'的文件,我一直用它来修改一些引导变量并包含我自己的CSS覆盖.

一切都很好,直到今天.出于某种原因,我今天对此文件所做的更改将保存到文件中,但Rails仍在提供该文件的旧版本!我搜索过,发现文件中没有任何预编译版本(公共/资产中没有)...只有我修改过的资产/样式表中的那个.对于应用程序中的目录,一切看起来都很好,但是当我启动rails服务器,加载页面,并使用元素检查器查看样式表时,它使用旧版本的'bootstrap_and_overrides.css.less'我已删除的规则.我已经在我的浏览器中关闭了缓存,并在4种不同的浏览器中尝试了它,所以我很确定这不是浏览器缓存的结果.

rails资产管道似乎只提供不存在的文件版本!有没有人知道为什么会发生这种情况?

web-applications ruby-on-rails browser-cache asset-pipeline twitter-bootstrap

13
推荐指数
1
解决办法
2223
查看次数

利用浏览器缓存外部文件

我试图让我的谷歌页面速度洞察评级为体面,但有一些外部文件,我想要缓存,以及任何人都知道什么是最好的方法来处理这个?

https://s.swiftypecdn.com/cc.js (5 minutes)
https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js (60 minutes)
https://pagead2.googlesyndication.com/pagead/osd.js (60 minutes)
https://www.google-analytics.com/plugins/ua/linkid.js (60 minutes)
https://hey.hellobar.com/…d5837892514411fd16abbb3f71f0d400607f8f0b (2 hours)
https://www.google-analytics.com/analytics.js (2 hours)
Run Code Online (Sandbox Code Playgroud)

browser-cache google-pagespeed

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

如何在没有redux的情况下缓存提取的数据

我知道,使用Redux我有共同点store,当我改变我的位置时,例如我从/videos页面开始,但我仍然在我的videosreducer中获取了视频.因此,如果我决定返回我的videos页面,我会显示用户已经从我的商店加载了视频,并在需要时加载更多并存储它们.

但是如果React没有Redux我改变我的位置/videos,我获取一些视频,然后将它们存储在我的VideosPage组件的本地状态,然后回到这个页面,我已经没有视频了,应该从头开始获取它们.

我怎样才能缓存它们,是否可能?

PS:这是更多theoretical问题所以没有提供代码.

javascript caching browser-cache reactjs react-redux

13
推荐指数
3
解决办法
1万
查看次数

在客户端刷新GWT应用程序

我用GWT编写了应用程序.它适用于客户端.但是,当我在我的应用程序中更改某些内容,重新编译然后部署到服务器和客户端访问我的应用程序时,他的浏览器没有获取应用程序的新版本,而是使用以前的缓存版本.这会触发RPC错误和其他问题.

如何在访问我的页面时强制客户端浏览器获取应用程序的新版本,如果它与服务器上的版本匹配,则使用缓存版本.

gwt caching browser-cache

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

如何阻止chrome从WebApi缓存REST响应?

我正在使用ASP.NET WebApi并使用以下代码来阻止所有内容中的缓存:

public override System.Threading.Tasks.Task<HttpResponseMessage> ExecuteAsync(System.Web.Http.Controllers.HttpControllerContext controllerContext, System.Threading.CancellationToken cancellationToken)
{
    System.Threading.Tasks.Task<HttpResponseMessage> task = base.ExecuteAsync(controllerContext, cancellationToken);
    task.GetAwaiter().OnCompleted(() =>
                                      {
                                          task.Result.Headers.CacheControl = new CacheControlHeaderValue()
                                          {
                                              NoCache = true,
                                              NoStore = true,
                                              MaxAge = new TimeSpan(0),
                                              MustRevalidate = true
                                          };
                                          task.Result.Headers.Pragma.Add(new NameValueHeaderValue("no-cache"));
                                          task.Result.Content.Headers.Expires = DateTimeOffset.MinValue;
                                      });
    return task;
}
Run Code Online (Sandbox Code Playgroud)

结果标题看起来像这样(chrome):

Cache-Control:no-store, must-revalidate, no-cache, max-age=0
Content-Length:1891
Content-Type:application/json; charset=utf-8
Date:Fri, 19 Jul 2013 20:40:23 GMT
Expires:Mon, 01 Jan 0001 00:00:00 GMT
Pragma:no-cache
Server:Microsoft-IIS/8.0
Run Code Online (Sandbox Code Playgroud)

在阅读了有关错误(如何阻止缓存中的chrome)之后,我添加了"no-store" .

但是,无论我做什么,当我做一些导航我远离此页面的东西,然后使用"后退"按钮时,chrome总是从缓存中加载:

Request Method:GET
Status Code:200 OK (from cache) …
Run Code Online (Sandbox Code Playgroud)

rest caching http browser-cache asp.net-web-api

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

如何处理作为ES6模块导入的JavaScript文件的缓存

旧情况

以前,如果有新版本,我使用以下方法强制浏览器重新加载我的JavaScript文件.

<script src="common.js?version=1337"></script>
<script src="app.js?version=1337"></script>
Run Code Online (Sandbox Code Playgroud)

我的HTML是自动生成的(例如使用PHP),因此很容易实现自动化.

新情况

现在我想使用ES6模块并导入我的公共代码.我的HTML成为:

<script src="app.js?version=1337" type="module"></script>
Run Code Online (Sandbox Code Playgroud)

app.js包含导入:

import {foo, bar} from './common.js';
Run Code Online (Sandbox Code Playgroud)

问题

现在我的问题是:我如何影响common.js新场景中的缓存?

我不想每次编辑时app.js都手动编辑common.js.如果可能的话,我也不想动态生成/预处理我的任何JavaScript文件.

javascript browser-cache es6-modules

12
推荐指数
1
解决办法
1192
查看次数