service-worker - sw-precache,缓存带有 URL 参数的文件

标签 service-worker polymer-2.x polymer-cli sw-precache

我有一个简单的问题。

我正在使用 Polymer 和 Lighthouse 报告构建 PWA, list 的 start_url 未由 ServiceWorker 缓存。

由于我想跟踪使用“添加到主屏幕”功能的用户,因此我的 manifest.json 包含

"start_url": "index.html?homescreen=1",

我尝试将这个确切的字符串放入我的 sw-precache 配置文件中,但脚本生成一个 ServiceWorker,它只缓存 index.html 文件。 (我知道,缓存index.html和index.html有点多余)

您知道如何解决此问题吗?

谢谢!

最佳答案

ignoreUrlParametersMatching option sw-precache 可以帮助您。

默认情况下,它设置为 [/^utm_/],这意味着如果您像这样配置 Web 应用 list

{
  "start_url": "index.html?utm_source=homescreen"
}

那么事情应该按预期进行。如果您想保留 ?homescreen=1,那么在生成 Service Worker 时,您可以将 ignoreUrlParametersMatching 参数显式更改为 [/^主屏幕/]

关于service-worker - sw-precache,缓存带有 URL 参数的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44400539/

相关文章:

javascript - 客户端页面和 Service Worker 之间的双向通信

javascript - 扩展类聚合物

css - 覆盖 app-header-layout 的影子 DOM 样式

polymer - 捆绑的构建文件夹中缺少 my-app.html

polymer CLI : build component page

Angular Service Worker - Rest API 数据

javascript - 查看服务 worker 内部的请求是否成功

service-worker - 如果电脑已关闭或正在休眠,网络推送通知不会显示

javascript - 如何在Polymer 2中的moment-js组件中每分钟更新一次时间?

node.js - 安装polymer-cli 时出现问题