问题标签 [cacheapi]

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 投票
1 回答
166 浏览

javascript - 如何使用 Service Worker 和 Cache Api 从基本 url 离线加载网站?

当您访问此网站https://bugs.stringmanolo.ga/index.html时,在 main.js 文件中导航时会调用 ff.js 文件中的方法来缓存大量资源。因此,下次您登陆网络时,文件会直接从您的浏览器缓存中获取,而无需发出任何请求。

这意味着如果您之前访问过我的网站,您可以在没有互联网连接的情况下再次加载它。

问题是,这仅在您直接对地址栏中的 index.html 文件进行计时时才有效。瘸。

Thid url 无法离线加载。 https://bugs.stringmanolo.ga

这另一个工作正常。 https://bugs.stringmanolo.ga/index.html

当请求基本 url 时,如何使 web 缓存也加载 index.html?

0 投票
1 回答
261 浏览

reactjs - 使用 react-player 从缓存中播放 mp3,无需服务人员

在我的反应应用程序中,我想播放一个在使用缓存 api之前手动缓存的 mp3 文件。该文件位于不同的站点上,因此我使用 no-cors 模式来获取它并将不透明的响应放入缓存中。我现在的问题是:如何使用 react-player 从缓存中播放这个文件(参见代码示例中的注释)?或者换句话说:我如何将缓存的响应提供给 react-player?我的问题与类似,但我不想为此使用服务人员。要运行我提供的代码示例:

  1. npx 创建反应应用程序我的应用程序
  2. npm 我反应播放器
  3. 将代码粘贴到 App.js

0 投票
0 回答
27 浏览

javascript - Does the browser consult the cache automatically, if I put some files in the cache using Cache API?

If I put a file in the cache using the Cache API - from the main page, without a Service Worker - will the browser consult the cache automatically, if the request/url I use in cache.put() matches the new/subsequent request? Or is it always necessary to use the Service Worker, if you want to serve the files that you had previously put into the cache?

0 投票
2 回答
33 浏览

java - Javax Cache 'put' 的 SQL 等效项(INSERT 或 UPDATE)

我正在使用javax 缓存数据库。我使用缓存的 API 来获取/放置/删除实体,并且数据库位于此缓存后面。为此,我正在使用CacheLoaderCacheWriter

因此,以下是与缓存 API 等效的 SQL 构造

  1. 选择 -> 获取
  2. 插入 -> 放
  3. 删除 -> 删除

如果我的缓存中已经存在条目并且我更新了它,那么我将只获得该值的“写入”方法。但是,由于该值存在于数据库中,我需要使用 UPDATE 查询。

如何确定在缓存的“放置”操作中执行哪个数据库操作?

注意:从性能的角度来看,UPSERT 不是好的选择。

0 投票
0 回答
22 浏览

javascript - 尝试设置服务工作者进行缓存,它永远不会安装

所以,我正在尝试构建一个 PWA,我只是熟悉缓存/服务工作者。我在网上找到了一些看起来都一样的例子,我正在尝试缓存我的一些路线。但是,它根本没有做任何事情。

当它运行时,永远不会打印“已安装”。所以它永远不会安装,什么也没有发生。我在这里错过了什么吗?我错过了一步吗?提前致谢。

0 投票
0 回答
9 浏览

caching - 在浏览器中存储 json 功能的最佳方式

我想在我的浏览器中存储一些从外部 API 提供的功能。结果是一个长 JSON。我想存储以避免每次都调用 API,并且有一个到期日期(2 小时)。属于 cookie、localStorage、sessionStorage、cacheAPI 或 IndexedDB 的最佳方法是什么?我认为使用具有到期日期时间的本地存储非常好。

0 投票
0 回答
19 浏览

angular - Angular 将 HttpResponse 对象保存到缓存 API

我想在拦截器中使用缓存 API来缓存 API 响应。问题是 Angular HTTP 拦截器的 HttpHander使用 HttpRequest 和 HttpResponse 接口而不是默认的 Request Response 对象。我知道我可以自己创建 javascript ResponseRequest,但是有没有更简单的方法可以将 HttpResquest 和 HttpResponse 转换为其本机对应项?