首页 > 解决方案 > navigator.serviceWorker 用于开发环境

问题描述

serviceWorkernavigator当通过 https 加载网页时才可用。有没有办法让它使用通常的http在开发环境中工作?

if ('serviceWorker' in navigator) {
    console.log('serviceWorker');
}

它不适用于我的开发环境。

我正在使用 firefox/chrome 作为浏览器。

标签: javascriptweb-push

解决方案


根据 MDN:出于安全原因,Service Worker 只能通过 HTTPS 运行。因此,GitHub 是托管实验的好地方,因为它支持 HTTPS。为了促进本地开发,localhost 也被浏览器视为安全来源。

所以我会在 localhost 端口上运行你的开发环境,它应该可以工作


推荐阅读