我有一个用ExtJs编写的单页应用程序。我没有使用应用程序缓存,但是当应用程序启动时,我在Chrome中看到以下警告:
[[弃用]应用缓存API的使用已弃用,并将在2020年4月左右在M82中删除。有关更多详细信息,请参见https://www.chromestatus.com/features/6192449487634432。
这个问题已经在几年前的Sencha论坛(here和here)上多次发布。唯一的回应是来自非Sencha的海报,说“应该没问题”。不完全是您希望的答案。
有人知道如何消除此警告吗?考虑到我没有明确使用应用程序缓存,这听起来好像ExtJs可能在后台对其进行了处理。这就是我所关心的。
applicationCache
,否则它实际上不会以任何方式影响您的应用程序。详细信息:
即使您只是简单地尝试调用window.applicationCache
属性,也会出现警告
applicationCache
的用途是什么?它缓存静态文件(js和css)以使您的应用程序脱机工作。该技术已被ServiceWorker所取代。使用applicationCache进行缓存的工作方式如下(简短说明,full on MDN):
您创建了一个特殊组成的清单...
manifest
标签的html
属性中设置它的路径applicationCache
。这些侦听器的处理程序更改包装器内部的状态,然后调用notifyUpdateReady
方法,该方法又调用全局appupdate
事件。同时,所有这些代码都是抽象的,几乎对applicationCache的整体操作没有影响。如果有疑问,您可以模拟禁用applicationCache。在checkAllUpdates
之前的if (_cache){...
方法中设置调试器,并覆盖_cache(_cache = undefined;
)。然后将控制权返回给浏览器。什么都不会发生。
我使用SenchaFiddle示例对所有这些进行了测试。那里根本没有使用缓存。它没有清单
我重复这个结论-如果您没有显式使用applicationCache-您无需担心。您可以通过查看页面代码并查找清单连接来检查是否使用了它。您也可以在控制台中执行以下代码
window.applicationCache.status
如果结果为0,则说明缓存未在您的应用程序中初始化