我看到的所有工作箱热缓存示例都涉及为安装事件添加侦听器。这对我来说效果不佳,因为网址是动态/数据库驱动的。我也可能会根据所使用的浏览器发送更多/更少的 URL。
正在为性能和离线容忍度进行这项工作。
由于这种动态特性,我实现了一个按钮来选择用户决定在 cache.addAll() 函数中抛出一堆 url,例如:
caches.open('media-cache').then((cache) => cache.addAll(mediaUrls));
以上确实有效 - 但占用了所有浏览器线程,并且在缓存过程完成之前没有任何效果。 我无法确定如何让它在后台运行或不占用所有套接字。
任何建议/替代方案将不胜感激。