问题标签 [cache-manifest]
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.
google-chrome - 如何清除 Google Chrome iPad 应用上的 appcache?
我编写了一个基于 HTML5 的小网络应用程序,我试图在 iPad 上使用 Chrome for iPad 应用程序进行调试。
我已经cache.manifest
向我的应用程序添加了一个文件,其中包含大多数静态资源的大量缓存,但是由于我现在想要调试应用程序,因此我需要一种清除此缓存的方法。
我知道您可以在 Mac 版 Chrome 上使用:chrome://appcache-internals/
但是 Chrome 的 iPad 应用程序中不存在此页面。
常规的“清除浏览数据”不会清空 appcache —<em>至少在我的情况下不会。
有谁知道如何清除 Chrome iPad 应用程序的应用程序缓存?
html - 更多奇怪的 Firefox 缓存清单行为:重定向到外部域导致 404 失败
我有一个带有缓存清单的 HTML5/Javascript(服务器上的 PHP/MySQL)应用程序,它在除 Firefox 之外的几乎所有移动和桌面浏览器上运行良好。
当我删除缓存清单时,它在 Firefox 中运行良好。因此,我无法弄清楚 Firefox 中的缓存清单有些奇怪。它正在从缓存中加载文件,即使该文件发送了 Cache-Control: no-store, no-cache 标头。
该文件处理用于获取 LinkedIn 访问令牌的 OAuth 舞蹈,并遵循以下步骤:
- 该应用程序使用 window.location.replace('file.php') 通过 Javascript 调用文件
- file.php 加载并被重定向到 file.php?param=initiate
- file.php?param=initiate 加载,从 LinkedIn 获取请求令牌,然后重定向到 LinkedIn 授权页面,然后被重定向到 file.php?param=initiate&otherparameters
- file.php?param=initiate&otherparameters 加载,otherparameters 用于从 LinkedIn 获取访问令牌,然后重新加载应用程序,因为它现在具有访问权限。
但是,在 Firefox(Windows 7 上的 16.0.2)上,我得到以下信息:
- 该应用程序使用 window.location.replace('file.php') 通过 Javascript 调用文件
- file.php 加载并被重定向到 file.php?param=initiate(FireBug 显示找到状态 302,响应标头显示位置 /file.php?param=initiate)
- file.php?param=initiate 加载,从 LinkedIn 获取请求令牌,但不重定向到 LinkedIn 授权页面:它显示 404 页面(FireBug 显示找到状态 302,响应标头显示位置 https:linkedin.com/身份验证链接,但 Firefox 没有转到 LinkedIn 页面,它对 file.php?param=initiate 发出另一个 GET 请求并从缓存中加载它:状态 200 OK(BF 缓存)并显示 404 页面)。
file.php 不在缓存清单中。
基本上,它不会从步骤 3 转到响应标头中的 Location 应该将其带到 LinkedIn 授权页面,但我不知道为什么不这样做。
有想法该怎么解决这个吗?
如果你想重现这个问题,这里有一个测试事件的链接。尝试发送 LinkedIn 连接请求并观看 Firebug。此活动的所有 LinkedIn 个人资料(我的除外)都是虚拟个人资料,因此不必担心向随机陌生人发送 LinkedIn 连接请求。您必须先使用您的电子邮件注册才能获得激活链接,但如果您愿意,可以使用一次性电子邮件地址。
我尝试过的一些事情:
- 没有缓存清单:这修复了它,但我需要离线功能
- 发送带有 no-store、no-cache、must-ravalidate、过去过期日期等各种排列的标头。
- 减少缓存清单中的条目数
- SETTINGS 的各种组合:prefer-online、NETWORK:*、NETWORK:https://* 等。
javascript - 使用 html 5 缓存清单时如何以编程方式更新页面服务器端而不更改缓存清单?
我有一个应用程序,它具有不同角色的不同界面
如果用户更改角色,我想缓存应用程序并更新它
示例:
角色用户 --> www.sample.com/index.jsp(用户版)
角色管理员 --> www.sample.com/index.jsp(管理员版)
案例 1:如果 user1 使用 Role User 访问 www.sample.com/index.jsp 并且他之前的连接是使用 Role User ---> 使用缓存版本
案例 2:如果 user1 使用 Role Admin 访问 www.sample.com/index.jsp 并且他之前的连接是使用 Role User ---> 更新缓存
我正在使用 jquery mobile、html 5、Java/Spring
html - 无法在清单更新时获取 iOS webapp 文件。401未经授权
我有一个 HTML5 webapp,它在通过 IIS 提供服务时运行良好,无需身份验证。
是使用 cache.manifest 文件。
无论是在 safari 中运行时,还是作为“添加到主屏幕”全屏应用程序时,一旦我更新服务器上的清单文件,应用程序就会更新。
当我打开除了 cache.manifest 之外的所有文件的身份验证时,我只会在 safari 浏览器中运行它时看到更新。
如果我将它添加到主屏幕,我无法让应用程序更新缓存。
如果我对服务器上的流量进行wireshark,我可以看到清单文件被毫无问题地获取,但清单文件中的所有文件都会遇到401 Unautorized错误。
知道如何解决这个问题吗?在 safari 浏览器中运行它正在工作..
非常感谢任何帮助。
html - PhoneGap Android - html5 缓存远程资源(html、js、css 等)
我已经成功创建了一个 android phonegap 项目,并且能够加载远程 Web 应用程序。
关键是,我需要在设备上缓存远程资源,以便我的 phonegap 应用程序在设备没有连接时可以工作。
如果从台式电脑访问网络,缓存清单工作正常。
我需要缓存远程资源,而不是将它们与我的 apk 一起包含在 assets 文件夹中(由于客户要求,我不想每次单个 javascript/html 文件更改时都必须大量分发新的 apk)。
有没有办法做到这一点?谢谢。
编辑:找到答案:检查这些链接:
html - HTML缓存清单下载所有文件
似乎如果服务器上的缓存清单发生更改,它将重新下载文件中的所有内容?有没有办法让它重新下载一些文件?如果我只对脚本进行代码修复,然后更新清单(比如只是在其中添加时间戳注释)以强制本地副本看到已进行更改,我可能不希望重新下载尚未更改的图像但仍然需要在清单中。有没有办法在这个问题上获得更高的精度,或者它是全有还是全无?
html - 离线时清除 HTML5 Appcache
我有一个可以离线工作的网络应用程序。我想为缓存设置一个过期日期,这样如果用户在一定时间内没有重新连接到服务器,缓存就会被清除,用户就不能再使用该应用程序了。
我认为计时器部分很简单,但是当我离线时我找不到任何方法以编程方式删除缓存。我只有在线时才找到路
html - 为什么我的缓存清单没有启动?
这让我疯狂到没有尽头。我的缓存清单没有加载。我不知道为什么不。
标题如下:
php - 缓存清单缓存自身
真的被这个给难住了。
我正在尝试使用 HTML5 缓存清单缓存一些资源(是的,我知道,不要评判我),但清单似乎正在缓存自己。
清单文件实际上是一个动态 PHP 脚本,因此它具有 .php 扩展名。
设置了以下标头(如何在 Cakephp 中完全禁用缓存?)
清单的 NETWORK 部分包含以下内容:
当然,清单文件本身被排除在 CACHE: 部分之外。
在同一目录中还有一个 .htaccess 文件,其中包含:
该站点是用 CakePHP 构建的,它显然有一些我不太了解的“有用”缓存机制。我假设 PHP 标头会绕过任何东西...... PHP 可以做到。
那么,我错过了什么?
javascript - IOS 6 缓存除缓存清单之外的所有内容。从未从 Web 服务器请求更新的文件
我们的 Web 应用程序在 ios 6 应用程序模式下被如此积极地缓存,以至于每次从 Web 服务器请求的唯一文件是缓存清单。我们更改了一堆脚本和 html,但应用程序从不请求新文件。如果 Web 服务器没有任何请求,我该如何解决这个问题?有没有办法可以在缓存清单中解决这个问题?请记住,我们仅使用缓存清单来缓存图像、字体等,而不是 js 本身。任何帮助将不胜感激,我很难过!
编辑1:
缓存清单的内容已更改。我什至每次都在缓存清单中放置一个 guid,以确保它不同。我已经运行 charles 并看到该页面不断请求清单,并有 200 个响应。似乎 ios 6 本机应用程序模式包装器发生了一些非常奇怪的事情。