Javascript 如何正确地从spring boot服务service-worker.js?
浏览器抱怨文件在重定向之后:Javascript 如何正确地从spring boot服务service-worker.js?,javascript,spring-mvc,spring-boot,service-worker,progressive-web-apps,Javascript,Spring Mvc,Spring Boot,Service Worker,Progressive Web Apps,浏览器抱怨文件在重定向之后: DOMException: Failed to register a ServiceWorker: The script resource is behind a redirect, which is disallowed. 到目前为止,我尝试的是: Service worker on `static/service-worker.js` Service worker on @GetMapping("/service-worker.js") @ResponseB
DOMException: Failed to register a ServiceWorker:
The script resource is behind a redirect, which is disallowed.
到目前为止,我尝试的是:
Service worker on `static/service-worker.js`
Service worker on @GetMapping("/service-worker.js") @ResponseBody
在这两种情况下,我都可以从/service-worker.js中的brower读取文件,但注册失败,出现了相同的异常
编辑:(这是我遇到的注册问题)
if(导航器中的“serviceWorker”){
日志(“服务人员会注册吗?”);
navigator.serviceWorker.register('service-worker.js'))
.然后(功能(reg){
log(“是的,它做到了。”);
}).catch(函数(err){
log(“不,没有。发生了:”,错误)
});
}
我试图注册的脚本位于/store/All
中。注册到navigator.serviceworner.register('service-worker.js')
时调用了/store/service-worker.js
,根据我在控制器中编程的规则对其进行重定向
正确的调用应该是:navigator.serviceWorker.register('/service worker.js')
这确保我们在根目录中调用service-worker.js,而不是在与当前页面相同的路径中
tl;I博士缺少一个/
<script>
if ('serviceWorker' in navigator) {
console.log("Will the service worker register?");
navigator.serviceWorker.register('service-worker.js')
.then(function(reg){
console.log("Yes, it did.");
}).catch(function(err) {
console.log("No it didn't. This happened: ", err)
});
}
</script>