在 Service Worker 中访问屏幕高度和宽度
Access screen height and width in a service worker
我想让我的服务人员获取屏幕的高度和宽度。
我已经尝试了 screen.height、self.innerHeight、window.innerHeight,但似乎服务人员 运行 在不同的上下文中未定义。
有没有办法在 service worker 的上下文中访问高度和宽度等设备信息?
Service Worker(以及一般所有 worker)无法访问 DOM。
我可以看到两种方法来实现你想要的:
- 将这些值存储在您页面的 IndexedDB(或缓存)中,并在 worker 中访问它们;
- 使用
postMessage
. 将这些值从页面发送到服务工作者
显然,您可以始终使用第一种解决方案,当您的 service worker 运行 并且没有任何页面打开时,您不能使用第二种解决方案。
我想让我的服务人员获取屏幕的高度和宽度。
我已经尝试了 screen.height、self.innerHeight、window.innerHeight,但似乎服务人员 运行 在不同的上下文中未定义。
有没有办法在 service worker 的上下文中访问高度和宽度等设备信息?
Service Worker(以及一般所有 worker)无法访问 DOM。
我可以看到两种方法来实现你想要的:
- 将这些值存储在您页面的 IndexedDB(或缓存)中,并在 worker 中访问它们;
- 使用
postMessage
. 将这些值从页面发送到服务工作者
显然,您可以始终使用第一种解决方案,当您的 service worker 运行 并且没有任何页面打开时,您不能使用第二种解决方案。