Javascript 如何正确注册基本的渐进式web应用服务工作人员?

Javascript 如何正确注册基本的渐进式web应用服务工作人员?,javascript,android,service-worker,progressive-web-apps,Javascript,Android,Service Worker,Progressive Web Apps,我正在尝试在我的web应用程序上注册服务人员,我在页面底部添加了以下脚本: <script> // this part is the service worker: if('serviceWorker' in navigator){ // Register service worker console.log('Service Worker is supported'); navigator.serviceWorkerCont

我正在尝试在我的web应用程序上注册服务人员,我在页面底部添加了以下脚本:

<script>
// this part is the service worker:
     if('serviceWorker' in navigator){
        // Register service worker
        console.log('Service Worker is supported');
        navigator.serviceWorkerContainer.register('service-worker.js').then(function(reg){
        console.log("Service Worker registration succeeded. Scope is "+reg.scope);
        }).catch(function(err){
            console.error("Service Worker registration failed with error "+err);
        });
    }
</script>
当我在ChromeDeveloper应用程序上检查它时,我点击了服务人员,但什么也没有显示

当我运行lighthouse report时,它会给我一个服务人员的注册错误

我正在寻找一个简单的设置,为我的渐进式网络应用程序下载按钮,这实际上只是一个简单的网页与几个图像和几个iFrame


我错过了什么

对于您的问题,这里几乎没有什么信息可供参考。有很多事情可能是错误的。 但请尝试在下面的行中添加一个正斜杠,因为我认为您缺少它-

之前:

navigator.serviceWorkerContainer.register('service-worker.js')

之后:


navigator.serviceWorkerContainer.register('/service worker.js')

我能够解决我的问题,我能够使用mozilla/servicework cookbook正确设置一个非常基本的服务人员


我删除了我的旧代码,并在我的服务器上上载了这些文件和,我将
添加到我的主页,它工作正常。

以下代码将注册服务人员

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/service-worker.js')
  .then(function(registration) {
    console.log('Registration successful, scope is:', registration.scope);
  })
  .catch(function(error) {
    console.log('Service worker registration failed, error:', error);
  });
}

请查看更多详细信息

你读过了吗?:没有足够的信息,很难调试。您在控制台中看到了什么?您是否看到来自
console.log(“服务人员注册成功。范围为”+reg.Scope”)的输出
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/service-worker.js')
  .then(function(registration) {
    console.log('Registration successful, scope is:', registration.scope);
  })
  .catch(function(error) {
    console.log('Service worker registration failed, error:', error);
  });
}