gpt4 book ai didi

javascript - 服务 worker 获取事件监听器 : what does it catch?

转载 作者:太空宇宙 更新时间:2023-11-04 15:39:55 26 4
gpt4 key购买 nike

我在从 Service Worker 捕获 fetch 事件时遇到问题。

https://localhost/subdir/page.php 的页面中,我使用以下方式注册服务工作人员:

navigator.serviceWorker.register('https://localhost/subdir/sw.js', {scope: './'}).then( ... );

然后我使用以下方法注册 Fetch 事件监听器:

this.addEventListener('fetch', function(event) { ... });

https://localhost/subdir/page.php 的同一页面中,我有四种不同类型的链接:

<a href="https://localhost/subdir/page2.php">link1</a><br />
<a href="http://localhost/subdir/page2.php">link2</a><br />
<a href="https://otherhost">link3</a><br />
<a href="http://otherhost">link4</a><br />

我注意到 Service Worker 只捕获来自 link1 的 fetch 事件,而没有注意到其他三个事件。

我所做的每个测试似乎都表明,服务工作线程仅在发送到其自身来源的请求时才会收到通知。谁能证实这一点吗?有任何已知的解决方法吗?

提前致谢

最佳答案

是的,这就是导航的工作原理。您不应该能够拦截访问不同站点的用户。 (您确实可以访问文档的所有子资源请求,无论来源如何。)

关于javascript - 服务 worker 获取事件监听器 : what does it catch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43974704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com