服务工作者不仅仅为外部图像工作

时间:2018-05-28 23:15:17

标签: angular service-worker progressive-web-apps angular-service-worker

我面临服务工作者的一个奇怪问题。我需要从外部服务器加载图像,所以我使用以下配置的ngsw-config.json

df[, c("last_change1", "last_change2") := 
   lapply(.SD, function(x){.I - na.locf(ifelse(x == 0, NA_integer_, .I), na.rm = FALSE)}),
   .SDcols = value1:value2, by=id]


#Modified df
df
#    id time value1 value2 last_change1 last_change2
# 1:  1    1      0      0           NA           NA
# 2:  1    2      0      1           NA            0
# 3:  1    3      0      0           NA            1
# 4:  2    1      0      1           NA            0
# 5:  2    2      2      0            0            1
# 6:  2    3      0      0            1            2
# 7:  2    4      0      0            2            3
# 8:  3    3      0      0           NA           NA
# 9:  3    4      1      1            0            0

当我第一次加载图片时需要一些时间来加载,然后如果我刷新页面,它将从服务工作者加载图像,如下图所示。

figure1

但是,如果我让我的浏览器脱机,它将不会从服务工作者加载图像,尽管它正在从assets文件夹加载图像,因为从下图中可以看到

figure2

即使正在缓存API数据

我还尝试在 assetGroups 中添加图片网址,但它没有用。

我在开发基于Angular5的PWA。我不确定该问题是否与浏览器的服务工作者或角度实现有关。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

看起来问题仅适用于您尝试从外部域访问的图像(我没有明确说明,如果我错了,请更正我)

如果您使用一个域或子域,每个服务工作者将只为一个域或子域服务。无论您使用何种框架,服务工作者都应该如何工作。

您可以尝试外国获取https://developers.google.com/web/updates/2016/09/foreign-fetch