Service Worker 的作用域(Scope)定义了它能够控制的内容范围,即 Service Worker 可以拦截和处理哪些请求。作用域是通过 Service Worker 注册时指定的,一般来说,Service Worker 只能控制其注册所在路径和下级路径的请求。
例如,如果您在 /app/
路径下注册了一个 Service Worker,它的作用域将被限制在 /app/
及其子路径下。这意味着,Service Worker 可以拦截 /app/
、/app/home
、/app/settings
等路径的请求,但它无法控制 /
根路径或 /other
路径下的请求。
这个作用域的限定有助于确保 Service Worker 不会影响到其它不相关的页面和应用,提供了一种安全的方式来限制 Service Worker 的控制范围。
举个例子,如果一个在线商城网站在其根目录下注册了 Service Worker,并设置了根目录为作用域,那么这个 Service Worker 将能控制商城网站的所有页面。然而,如果商城网站希望仅仅对产品目录页面使用 Service Worker 来缓存和提供离线支持,那么它可以单独在 /products/
路径下注册一个 Service Worker,将作用域限制在这个子目录中。这样,Service Worker 只会影响 /products/
路径下的请求,而不会影响到其他页面。