在 ServiceWorker 中识别请求的页面来源
Identify request's page origin in ServiceWorker
在 ServiceWorker
的 onfetch
处理程序中,我希望能够识别 Request
来自哪个页面。例如,如果我有 2 个页面都请求 /resource.js
,并且这个请求被传递给 service worker(onfetch
处理程序用 FetchEvent
调用),我如何判断是否它是一个页面请求 /resource.js
两次的实例,或者 2 个不同页面请求 /resource.js
?
这可能吗?
您或许可以使用 event.request.referrer
来识别发出请求的页面。
参见:https://developer.mozilla.org/en-US/docs/Web/API/Request/referrer
目前不可能。最初的发布者似乎已经在 https://github.com/slightlyoff/ServiceWorker/issues/723 上找到并发表了评论,但为了记录在案,这就是目前正在 service worker 规范中讨论的地方。
一旦就规范达成一致,您应该期待支持服务工作者的浏览器随着时间的推移添加功能。
在 ServiceWorker
的 onfetch
处理程序中,我希望能够识别 Request
来自哪个页面。例如,如果我有 2 个页面都请求 /resource.js
,并且这个请求被传递给 service worker(onfetch
处理程序用 FetchEvent
调用),我如何判断是否它是一个页面请求 /resource.js
两次的实例,或者 2 个不同页面请求 /resource.js
?
这可能吗?
您或许可以使用 event.request.referrer
来识别发出请求的页面。
参见:https://developer.mozilla.org/en-US/docs/Web/API/Request/referrer
目前不可能。最初的发布者似乎已经在 https://github.com/slightlyoff/ServiceWorker/issues/723 上找到并发表了评论,但为了记录在案,这就是目前正在 service worker 规范中讨论的地方。
一旦就规范达成一致,您应该期待支持服务工作者的浏览器随着时间的推移添加功能。