Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确地从spring boot服务service-worker.js?_Javascript_Spring Mvc_Spring Boot_Service Worker_Progressive Web Apps - Fatal编程技术网

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>