[英]How to get browser language in ServiceWorker?
如何在 ServiceWorker 中获取浏览器语言?
navigator.language || navigator.userLanguage; //not work
This should work now according to the spec .这应该根据规范现在工作。
If your users are using an older version of Chrome, you have to rely on the language read from the global (regular) window.navigator.language
and pass it to the Service Worker via navigator.serviceWorker.controller.postMessage
.如果您的用户使用的是旧版 Chrome,则必须依赖从全局(常规) window.navigator.language
读取的语言,并通过navigator.serviceWorker.controller.postMessage
将其传递给 Service Worker 。 Here is the old Chrome tracking bug .这是旧的Chrome 跟踪错误。
Alternatively, you can try reading Accept-Language
header from your Requests in fetch
event handler - event.request.headers.get('Accept-Language')
- although it didn't work for me for some reason.或者,您可以尝试从fetch
事件处理程序中的请求中读取Accept-Language
标头- event.request.headers.get('Accept-Language')
- 尽管由于某种原因它对我不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.