标签: browser-cache

如何在客户端浏览器中更新javascript文件?

当我在javascript文件中有错误时,我会修复它并进行部署.但是要在浏览器中更新文件,我应该按Ctrl + F5.

这对我来说不是问题,但很难说用户更新文件.

如何让用户浏览器无需特殊操作即可从服务器更新javascript文件?

其中一种方法是添加到js文件修订版文件的路径 - 每次文件路径都不同.但这不方便.

javascript browser-cache

5
推荐指数
1
解决办法
5466
查看次数

浏览器是否缓存内联Javascript,如果是,如何强制重新加载?

我们最近转向jQuery 1.6并遇到了attr()与prop()back-compat问题.在部署变更后的最初几个小时内一切都很好,然后开始为人们打破.我们很快发现了问题并更新了有问题的JS,这是内联的.

不,我们有一些人仍然有问题的情况.到目前为止,在每种情况下,我都可以通过告诉用户加载有问题的页面然后在浏览器中手动刷新它来让用户重新启动并运行.所以必须在某处缓存某些东西.

但基本上只有两个潜在的罪魁祸首:首先,jQuery库本身,但是它在查询字符串中加载了版本号,所以我认为浏览器会在缓存中刷新它.二,内联javascript.是否有可能在浏览器中缓存它?

我们正在使用APC,apc.stat = 1因此它应该检测到PHP文件已经更改.为了安全起见,我无论如何都要修改操作码缓存.

总而言之,我有两个问题:

  1. 有些浏览器在加载jQuery时会忽略查询字符串吗?
  2. 某些浏览器可能会缓存旧版本的内联JavaScript吗?

任何其他想法也非常受欢迎.

更新:在检查使用Firebug没有任何意外缓存的过程中,我发现了旧的jQuery库将加载的情况.这并没有解释为什么我们在部署网站之后和更新内联代码之前遇到了麻烦,但如果它解决了问题,我会接受它.

javascript browser-cache

5
推荐指数
1
解决办法
4494
查看次数

您应该在具有CloudFlare的PHP站点上使用哪些缓存标头,以便"始终在线"工作?

您应该在具有CloudFlare的PHP站点上使用哪些缓存标头,以便" 始终在线 "工作并且您的图像由其CDN缓存?

CloudFlare的文档非常糟糕,他们的支持团队似乎也不知道.

php caching browser-cache cloudflare

5
推荐指数
1
解决办法
3751
查看次数

不希望每次都清除浏览器缓存以进行css/js更新

我有python-django网站,其中包含css和js文件.对于每次更新/添加css或js必须清除浏览器的缓存然后只反映在浏览器中.

是否有任何具体的方法可以避免每次缓存清除和检查?

django中是否有任何特定设置可以避免存储浏览器缓存?

django browser-cache

5
推荐指数
2
解决办法
1408
查看次数

XMLHttpRequest:显式启用浏览器缓存(二进制数据)

序幕

我的Web应用程序(关键字:HTML,JavaScript,jQuery; 必须工作:IE8 +,Chrome,FF)必须从一种WebCam呈现实时图像数据.这个"WebCam"集成了一个提供实时图像数据的网络服务器BMP.

通过设置标签的src属性来"下载"图像数据img.

问题

我想分析客户端的图像数据.为此,我想使用XMLHttpRequest(使用此提供的stackoverflow答案)预先下载图像,然后更新标记的src属性img.据我所知,浏览器应该使用通过下载的缓存图像数据XMLHttpRequest.

问题是,浏览器(IE8 +,FF和Chrome)向服务器发出另一个请求以再次下载图像(即它不使用缓存数据或者数据首先没有缓存).

如何启用浏览器缓存数据并使用它而不是发出另一个请求?

附录

服务器发送一个Cache-Control: max-age=5, publicfor Chrome和一个Cache-Control: no-store, max-age=5用于所有其他浏览器.

Chrome中,我可以通过发送一个来处理第二个请求304 Not Modified.浏览器将使用缓存的图像.在所有其他(提到的)浏览器中,这不起作用.


更新1

我知道,我可以使用数据URI方案来更新src属性.但是,这对IE8不起作用(参见上面的要求),因为IE8仅支持最大32KB.

html javascript xmlhttprequest cache-control browser-cache

5
推荐指数
1
解决办法
1065
查看次数

Internet Explorer与Chrome缓存

基本上,我试图通过启用缓存使我的网站更加用户友好.为了测试我的进度,我使用Chrome和IE中的开发人员工具,其最终目标是最大限度地减少对Web服务器的调用次数.当chrome缓存某些东西时,开发的工具会给出200(缓存)的请求响应.另一方面,IE将始终向服务器发送一个小请求,并在从缓存中读取之前获得304响应.

哪个浏览器正在关注HTTP,如果答案是Chrome,我怎样才能消除IE中不必要的304调用?

internet-explorer google-chrome browser-cache

5
推荐指数
1
解决办法
6114
查看次数

在何处查找以前访问过的网页的缓存文件 - Google Chrome

我正在尝试使用Google Chrome浏览器从访问过的网页中检索HTML文件.它本来应该在硬盘上,所以它可以可视化,但我不知道从哪里开始.

问题是我需要找到一些访问的网页,这些网页不在相同的URL上,或者在查看之后被更改.因此Chrome历史记录中的记录根本没有帮助.

html google-chrome browser-cache browser-history

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

避免从Mapbox缓存的矢量图块

我遇到了Mapbox-GL-JS的问题,在我的浏览器中有缓存的矢量图块,无法看到最近的更改。正常的解决方法是example.com/tiles/1/2/3.png?update=1在磁贴字符串()的末尾附加一个唯一的字符串,但是我不确定如何在Mapbox-GL-JS中使它起作用,因为它是根据以下内容的组合为我构造磁贴字符串的层数:

...
metadata": {
    "mapbox:autocomposite": true,
    "mapbox:type": "default"
  },
  "sources": {
    "mapbox": {
      "url": "mapbox://mapbox.satellite",
      "type": "raster",
      "tileSize": 256
    },
    "composite": {
      "url": "mapbox://stevage.9vj4wkw3,mapbox.mapbox-streets-v7,stevage.ab95cml8",
      "type": "vector"
    }
  },
Run Code Online (Sandbox Code Playgroud)

是否有某种方法可以将一些额外的文本强制放入URL?

browser-cache mapbox-gl-js vector-tiles

5
推荐指数
1
解决办法
1197
查看次数

防止iframe的src中的外部文件被缓存(使用CloudFlare)

我想做一个像plunker一样的游乐场.我刚刚注意到一个非常奇怪的生产行为(使用active modeCloudflare),而它的效果很好localhost.

通过iframe,操场预览index_internal.html可能包含链接到其他文件(例如,.html,.js,.css).iframe能够解释外部链接,如<script src="script.js"></script>.

因此,每当用户script.js在编辑器上修改他们的文件(例如)时,我的程序会将新文件保存到服务器上的临时文件夹中,然后刷新iframe iframe.src = iframe.src,它运行良好localhost.

但是,我意识到,在生产中,浏览器始终保持加载初始化 script.js,即使用户在编辑器中修改它并且在服务器的文件夹中写入了新版本.例如,我看到的Dev Tools ==> Network始终是初始版本script.js,而我可以script.js通过less左侧检查服务器中保存的新版本.

有谁知道为什么会这样?以及如何解决它?

在此输入图像描述

编辑1:

我尝试了以下,但没有用script.js:

var iframe = document.getElementById('myiframe');
iframe.contentWindow.location.reload(true);
iframe.contentDocument.location.reload(true);
iframe.contentWindow.location.href = iframe.contentWindow.location.href
iframe.contentWindow.src = iframe.contentWindow.src
iframe.contentWindow.location.replace(iframe.contentWindow.location.href)
Run Code Online (Sandbox Code Playgroud)

我试图添加一个版本,它可以使用index_internal.html,但没有重新加载script.js:

var newSrc = iframe.src.split('?')[0] 
iframe.src = newSrc + "?uid=" + Math.floor((Math.random() …
Run Code Online (Sandbox Code Playgroud)

iframe caching browser-cache html-head cloudflare

5
推荐指数
1
解决办法
534
查看次数

为浏览器缓存启用mod_expires

htaccess文件如下所示:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]




</IfModule>
<IfModule mod_expires.c>


# Enable expirations
ExpiresActive On 
# Default directive
ExpiresDefault "access plus 1 month"

# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType image/jpg "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
# CSS
ExpiresByType text/css "access …
Run Code Online (Sandbox Code Playgroud)

apache .htaccess caching browser-cache

5
推荐指数
1
解决办法
1053
查看次数