Javascript 如何正确注册基本的渐进式web应用服务工作人员?
我正在尝试在我的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
<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);
});
}