角度7 pwa离线

时间:2019-03-15 08:29:22

标签: angular iis progressive-web-apps

我创建了一个新的testpwa项目 然后添加pwa ng,然后添加@ angular / pwa所有最新的cli和pwa。

我在默认网站下的本地IIS上有一个Web api项目愿景,在愿景下,我添加了一个新的Web api项目testpwa,它固定在上述ng项目的dist / testpwa文件夹中。

所以在我的testpwa角度项目中,我运行ng build --prod。

我以隐身模式进入chrome浏览器,导航至我的https://localhost/visions/testpwa/,我的ng应用程序打开并且没有问题。然后转到devtools应用程序选项卡,可以看到ngsw-worker.js已注册,然后在devtools的应用程序选项卡中选择脱机并在重装时更新,然后重新加载页面,一切正常,显示ng应用程序和我的外部图像网络上的“网络”标签也显示在“网络”标签的“大小”列中,我可以看到它们是从服务人员处加载的。

但是,当我拿出电缆并断开与互联网的连接并重新启动ng应用程序时,除网络上的外部图像外,其他所有功能都可以正常工作。它显示504超时,并且网络标签为红色。

我将所有内容添加到url中的数据组。我不知道为什么当我物理断开Internet连接时却不从服务工作者那里加载图像,而当我通过开发工具离线模式进行模拟时却无法加载它们。

我在互联网上做了很多研究,但是到目前为止,对于这个特定问题没有任何帮助。

我也在github上打开了这个问题[https://github.com/webmaxru/angular-pwa/issues/3#issuecomment-473025927][1],但来自https://github.com/webmaxru/angular-pwa/issues/3#issuecomment-473025927的建议

您好!尝试执行以下操作: 在浏览器中构建,部署和打开应用 再刷新一次页面(这很重要!) 现在可以关闭网络了 如果以上选项解决了您的问题,则说明如下:在第一个页面加载和SW注册时,SW不会拦截http调用,因此不会触发fetch事件,因此不会配置(运行时缓存)dataGroups部分活性。这完全符合软件规范,并在此处进行了说明:https://developers.google.com/web/fundamentals/primers/service-workers/lifecycle 默认情况下,除非页面请求本身通过服务工作者,否则页面的获取不会通过服务工作者。因此,您需要刷新页面以查看服务工作者的效果。 client.claim()可以覆盖此默认值,并控制非受控页面。 代码示例:https://stackoverflow.com/a/45010127

不能解决问题,以下是我的回复:

关于您的雄辩,是的,实际上我已经读过有关此内容的信息,但这不能解决Im面临的问题。正如我所说,当我通过浏览器脱机时,所有功能都可以正常运行,甚至外部图像也显示为示例“ https://www.meteotrentino.it/protcivtn-meteo/api/front/mappeImg?nome=MappaBase_0.png”。

但是当我拔出网线并刷新所有内容时,但外部图像未显示,并显示错误504网关超时(顺便说一下,来自网络的所有内容,例如“ https://fonts.googleapis.com/css?family=Ubuntu”或也不会从缓存中检索到“ https://use.fontawesome.com/releases/v5.6.1/css/all.css”,并且出现相同的错误504。 这就是我不明白为什么在浏览器中断开互联网连接时它可以工作,而断开互联网电缆时却不起作用的原因。

亲切问候

Lecha

0 个答案:

没有答案