“未捕获(承诺)的DOMException:无法为范围注册ServiceWorker”-脚本资源位于重定向后面,不允许使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“未捕获(承诺)的DOMException:无法为范围注册ServiceWorker”-脚本资源位于重定向后面,不允许使用相关的知识,希望对你有一定的参考价值。

我们在script.google.com上开发了一个使用AppsScript的网络应用。我们尝试在渐进式Web应用程序(PWA)中进行转换。为此,我添加了一个<link rel="manifest" href="/manifest.json.html">,不会引发任何错误。

但是以下代码会出错,该错误应将服务工作者加载到index.html的脚本标记部分:

if ('serviceWorker' in navigator)
   
     window.addEventListener('load', () => 
       navigator.serviceWorker.register('/service-worker.js.html')
       .then((reg) => 
         console.log('Service worker registered.', reg);
         );
       );
   

我已经在上面的代码中使用/service-worker.js而不是/service-worker.js.html对其进行了尝试,但是在当前Google Chrome浏览器的javascript控制台中仍然出现相同的错误,这是:

脚本资源位于重定向之后,这是不允许的。未捕获(承诺)DOMException:无法为范围注册ServiceWorker('')和脚本(''):脚本资源位于重定向后面,这是不允许的。

目前,我们不确定,如果Google希望将在script.google.com上托管的网络应用程序转换为渐进式网络应用程序?

是否有人可以将script.google.com上的网络应用程序转换为渐进式网络应用程序,而在Google Chrome浏览器中不会出现上述错误消息?

我认为,此错误是设计使然,因为Google发送每个HTML页面自有代码,其中包含我们自己的书面代码在iframe中],不允许访问嵌入它的原始html。也许我错了?

我们在script.google.com上开发了一个使用AppsScript的网络应用。我们尝试在渐进式Web应用程序(PWA)中进行转换。为此,我添加了,...

以上是关于“未捕获(承诺)的DOMException:无法为范围注册ServiceWorker”-脚本资源位于重定向后面,不允许使用的主要内容,如果未能解决你的问题,请参考以下文章