gpt4 book ai didi

angularjs - 在angular.js应用程序中注册服务 worker

转载 作者:行者123 更新时间:2023-12-04 17:08:47 25 4
gpt4 key购买 nike

我正在使用ionic和angular.js创建一个应用程序,并且在注册服务人员时遇到了困难,我打算使用该服务人员来添加新的应用程序安装横幅功能。我正在按照指示将以下代码添加到我的app.js文件中,但我注意到收到了注册发生的任何信号或任何错误。

这是我要添加到我的app.js中的代码:

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

最佳答案

确保您以localhost加载页面,或者必须使用https

You’ll also need to serve your code via HTTPS — Service Workers are restricted to running across HTTPS for security reasons. GitHub is therefore a good place to host experiments, as it supports HTTPS.



https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_API/Using_Service_Workers

检查您的浏览器是否支持此功能。
if ('serviceWorker' in navigator) {
[...]
} else {
console.log("this browser does NOT support service worker");
}

这可能会有所帮助: http://caniuse.com/#feat=serviceworkers

如果要查看服务人员的当前状态,可以执行以下操作:
navigator.serviceWorker.register('/serviceworker.js', {scope: '/'})
.then(function (registration) {
var serviceWorker;
if (registration.installing) {
serviceWorker = registration.installing;
} else if (registration.waiting) {
serviceWorker = registration.waiting;
} else if (registration.active) {
serviceWorker = registration.active;
}

if (serviceWorker) {
console.log("ServiceWorker phase:", serviceWorker.state);

serviceWorker.addEventListener('statechange', function (e) {
console.log("ServiceWorker phase:", e.target.state);
});
}
}).catch(function (err) {
console.log('ServiceWorker registration failed: ', err);
});

关于angularjs - 在angular.js应用程序中注册服务 worker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30269573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com