首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >服务工作者是否会争用带宽?

服务工作者是否会争用带宽?
EN

Stack Overflow用户
提问于 2016-06-22 19:31:10
回答 3查看 361关注 0票数 1

在页面加载时,服务工作者在后台安装。

1)下载服务工作者脚本是否与页面加载并行进行并延迟加载?

2) install事件中提到的资产是在页面加载的同时下载并缓存,还是在页面加载事件完成后下载和缓存

3)资源的缓存是否遵循HTML原生缓存,还是每次都会重新下载?

EN

回答 3

Stack Overflow用户

发布于 2016-06-25 15:39:41

第一次调用register时,将获取服务工作线程。对于更新检查,浏览器会在每次导航时执行此操作,但要等到加载之后才会执行此操作,以避免与页面竞争。

票数 3
EN

Stack Overflow用户

发布于 2016-06-23 02:31:44

服务工作者有一个完全独立于你的网页的生命周期。

  • 服务工作器在工作器上下文中运行:因此它没有DOM访问权限,并且运行在与支持应用程序的主JavaScript不同的线程上,因此它不会阻塞。它被设计为完全异步的;因此,诸如synchronous XHR和localStorage之类的API不能在具有自己的生命周期的服务worker.
  • Service工作者内部使用。通常,在安装阶段,您需要缓存一些静态资产。如果所有文件都被成功缓存,那么服务工作者就会一直成为installed.
  • Sure,浏览器的缓存对象。这里的优势在于持久性和可控性。浏览器缓存很容易被覆盖,而应用程序缓存更持久。配置不佳的服务器通常会迫使客户端重新获取不必要的内容,例如您无法控制的主机提供商。服务工作者使用完整的缓存应用编程接口,允许客户端完全控制,并可以在缓存内容和时间方面做出更明智的决定。
票数 2
EN

Stack Overflow用户

发布于 2016-06-27 19:03:00

1)下载服务工作者脚本是否与页面加载并行进行并延迟加载?

下载服务工作器发生在您调用register()之后,它并行地执行,因此,它不会延迟加载。

2) install事件中提到的资产是在页面加载的同时下载和缓存,还是在页面加载事件完成后下载和缓存。

在Service Worker 中发出的任何网络请求都不会阻塞主线程,也不会阻止文档加载。

3)资源的缓存是遵循HTML Native缓存,还是每次都要重新下载?

服务工作者发出的请求使用本地缓存(http cache),如果您愿意,也可以使用you can modify this behavior with the cache property

从问题上看,您似乎认为来自服务工作者的注册与文档加载是协调的,但它不是。一旦调用register()或在发现服务工作者更新之后,注册服务工作者的所有阶段都将从网页加载中解耦(并并行运行)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37966760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档