问题标签 [browser-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
247 浏览

javascript - 是否可以知道文件是否在用户的浏览器缓存中?

我正在做这样的事情:如果图像缓存在用户计算机上并且其时间戳与服务器上的相同,则显示缓存版本;否则,请勿从服务器加载图像。

我想也许 JavaScript 可以做到这一点,所以我将这篇文章标记为 javascript。如果不合适,请帮我重新标记它。

编辑: 在这里,我将提供有关我将要实现的内容的更多详细信息。我正在开发类似基于 Web 的文件资源管理器的东西,只有当用户单击每个图像旁边的“查看缩略图”按钮时才会加载缩略图。如果缩略图已被缓存,则使用缓存版本;否则,显示通用图像图标。

0 投票
3 回答
6302 浏览

ruby-on-rails - 如何在用户注销后清除浏览器缓存以防止通过“返回”按钮访问私人信息

用户注销后,如果他们点击后退按钮,他们可以回到他们在注销之前的最后一页。

我正在开发的应用程序通常会在公共计算机(例如图书馆或计算机实验室)上使用,我想阻止用户看到以前用户会话中的任何内容。

我在 Rails 3 和 Devise 上,顺便说一句,虽然这个问题似乎会出现任何框架或登录机制。

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

期待您的建议。

0 投票
2 回答
5471 浏览

javascript - 强制动态加载的 javascript 不在谷歌浏览器上缓存

我正在开发一个谷歌地图加载器(使用谷歌地图 javascript API)。我想在路径可用时动态添加点。 编辑网页和 javascript 在本地存储和加载,而不是通过网络服务器

为此,我创建了一个外部 javascript 文件,在其中放置了我想要使用的数据。

我使用我在 stackoverflow 其他地方找到的一个很棒的技巧来加载 java 脚本对象:

这非常有效,因为它会等到外部 javascript 实际加载后再进行初始化。

所以这一切都很好,它加载得很好。然后我设置了一个 5 秒的超时来重新加载外部 javascript 文件。这是我有问题的地方。Google chrome 正在从缓存中重新加载外部 javascript 文件,而不是直接加载到磁盘。这是一个巨大的痛苦,因为这意味着我的地图路径不会随着它的进行而更新。我真的需要它。

当我刷新整个页面时,它重新加载了 javascript 但闪烁非常烦人(它迫使地图回到“初始”状态)。只要我可以强制它每次都重新加载 javascript 文件,这种新方法就可以完美运行。

那么任何人都可以帮助我吗?

我对 Javascript 很陌生(我主要是 C++ 编码器),所以如果我问一些愚蠢的问题,我很抱歉:D

0 投票
2 回答
2115 浏览

applet - 小程序第二次启动时崩溃 - 提供错误日志

我们有一个应用程序,它在登录页面上启动,然后导航到加载小程序的第二个页面。一切都很好。当用户注销时,浏览器导航回登录屏幕。如果用户再次登录,则在初始化小程序的某些部分时浏览器会崩溃。这只发生在第二次加载小程序时。缓存已在浏览器中禁用,但浏览器从未完全关闭,所以我是否正确假设第一次登录时加载的小程序仍然存在?

更多信息。小程序加载时会出现 sun java 控制台。当用户注销并返回登录屏幕时,即使登录屏幕不使用 java(仅 html 和 javascript),sun java 控制台仍处于启动状态。我认为当用户注销时某些东西没有被重新初始化,但是小程序被停止并销毁了,所以还有什么可能还在徘徊?
奇怪的是,这只发生在一台测试机器上,而不会发生在其他机器上。

以下是来自 SJC 的错误日志:

0 投票
4 回答
475 浏览

c# - 由于页面的缓存版本,我如何消除安全风险

请参考链接

为什么即使在所有销毁代码之后会话变量的值仍然存在?

在上面的问题是我做的登录功能失败了,因为浏览器正在显示页面的缓存版本,我也不知道为什么能够在一定的时间限制内执行所有功能,之后它实现了它被缓存了!!

所以,

如何删除网站的缓存版本,

或者

如何告诉不要在缓存中复制我的副本!!!

通过使用 c#

0 投票
1 回答
950 浏览

c# - 如何在 C# 中声明一个 COOKIE LESS 会话变量,仅限!

好吧,我的意思是,正如您将在我的帖子中看到的那样,由于缓存,我遇到了问题

所以我觉得少吃饼干试试

如何在不减少整个网站 cookie 的情况下声明一个 cookie 少的会话变量

意义,

  • 网站应该是 cookieless=FALSE
  • 可变饼干不太真实
0 投票
3 回答
797 浏览

php - 缓存来自 PHP 的标头

在 PHP 中,默认情况下不发送与缓存相关的标头。

现在,由于默认情况下它没有说任何关于缓存的内容,它会导致说 example.com/index.php 在某些情况下被缓存吗?

0 投票
2 回答
225 浏览

django - 在 Subversion 中更改文件时更新资源路径 (CSS/JS)

有时我会从使用我的网站的人那里收到有关布局怪癖的报告,答案往往是使用 Ctrl-F5 刷新浏览器/清除缓存。

我能想到的最简单的处理方法是将 SVN 修订附加到此类资源的路径中styles.css?1234,但我想知道这是否有点笨拙(例如,不更改资源的 SVN 修订将强制进行不必要的提取) . 此外,它需要遍历并找到所有这些路径并添加一些代码来输出 SVN 修订版。

有没有更好/标准的方法来处理这个?

对于它的价值,我正在使用 Django,以及带有 mod_wsgi 的 Apache。

0 投票
1 回答
553 浏览

javascript - 以编程方式缓存和无效 XHR/Ajax 响应

考虑一个网页有很多对服务器的 XHR 调用和一个 iframe,它再次包含对服务器的很多 XHR 调用。其中许多调用是相同的(冗余)。我确实有单个通信接口(即 javascript 对象中的一组方法)。

如何优化服务器调用?我们可以缓存响应吗?(当发生某些可能改变响应的操作时,我可以使存储的响应无效),此外,此缓存应在页面刷新后清除。有没有这样的组件/技术可用?

问候,
纳奇基特

0 投票
3 回答
8760 浏览

java - 如何在 Glassfish 服务器中设置 HTTP 标头

当我的 Glassfish 服务器提供 Javascript 和图像文件等静态资源时,我想设置“过期”HTTP 响应标头。(因为强制浏览器缓存它们)

如何在 Glassfish V 3.0.1 服务器中执行此操作?