问题标签 [sw-toolbox]

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 投票
2 回答
318 浏览

caching - PWA [sw-toolbox]:如何缓存所有资源的离线页面?

我有一个页面,我想将其用作离线后备。

问题是,在这个页面中我有大约 10 个 js/css 资源和大约 20 个图像。手动指向precache数组中的每一个是愚蠢的。此外,很难维护 - html 模板中的所有资源更改都会受到影响sw.js

.html是否可以使用所有资源(js/css/png)预缓存页面?

0 投票
0 回答
3629 浏览

asp.net - ASP.Net /IIS CORS Access-Control-Allow-Origin:* 不适用于所有请求

我已通过将以下内容添加到 webconfig 来启用 CORS,但它似乎无法始终如一地工作:

如果我们在请求中添加“Origin”标头,它会在响应中显示 Access-Control-Allow-Origin:* 标头。但是,如果我们不在请求中添加“Origin”标头,则服务器不会返回 Access-Control-Allow-Origin:* 标头。

问题是,我正在使用 sw-toolbox 预缓存静态资源。但是如果一个资源比如javascript文件在Service Worker激活之前已经在浏览器缓存中,例如在html页面中直接引用该文件并且浏览器已经下载并缓存了该文件,那么Service Worker尝试预缓存时会显示CORS错误那个文件。

0 投票
1 回答
145 浏览

javascript - sw-toolbox 脚本评估失败

我在摆弄服务人员,并想使用 sw-toolbox,它有一种支持快速样式路由的方法。但是,当我使用这些行的任何版本导入它时:

我收到以下错误:

到目前为止,这是我的服务人员代码:

我究竟做错了什么?

0 投票
1 回答
2733 浏览

progressive-web-apps - WorkboxSW 构造函数抛出错误未定义

在我的服务工作者文件中,我正在使用以下代码:

但我收到错误,Uncaught ReferenceError: WorkboxSW is not defined因此我的服务人员没有注册。

0 投票
1 回答
64 浏览

router - sw-toolbox 路由器规则顺序/优先级如何工作?

在我的服务人员(使用 sw-toolbox 库)中,我设置了两条路线,如下所示:

我假设特定于“/user/logout”路径的第二个规则将作为第一个规则的例外(这是路径“/user/*”的一揽子规则)但是,我可以确认它不是。

我是否正确使用了这个 sw-toolbox 路由配置?

0 投票
2 回答
2315 浏览

service-worker - 绕过 Service-Worker 缓存

我有一个渐进式网络应用程序,它与 API 对话。对此 api 的调用由 service worker 缓存,效果很好。

但是现在,我想添加一个重新加载按钮,理想情况下,它会强制服务人员尝试绕过缓存并在成功时更新它,如果无法建立连接,它也不应该返回缓存的结果。

我有点不确定如何解决这个问题。我正在使用sw-toolbox

0 投票
0 回答
479 浏览

asp.net-mvc - 如何防止缓存 Asp.NET PWA 防伪令牌?

我有一个渐进式 Web 应用程序,它使用sw-toolbox来管理资源缓存。

登录页面 (/user/login?returnurl=xxxx) 需要防伪令牌,因此我像这样配置了 sw-toolbox 路由器以确保不返回页面内容的缓存版本:

toolbox.router.any("/user/*", toolbox.networkOnlyCustom);

如果用户离线,该networkOnlyCustom方法使用networkOnly带有警告的内置方法返回缓存的“抱歉,您离线”页面(见下文):

但是,我看到的是“防伪 cookie 令牌和表单字段令牌不匹配”错误出现了很多。虽然不是所有的时间!事实上,如果用户看到该错误,然后在浏览器上单击“返回”并再次提交表单,他们就可以正常登录。

我认为这是因为浏览器(在我的例子中是 Chrome 71)正在缓存登录页面。因此,我添加了以下 HTTP 响应标头,希望浏览器能够遵守:

但是,这并没有解决我的问题。任何想法将不胜感激!