3

我正在开发一个实时照片共享网站。它允许世界各地的用户一起查看照片并对其发表评论,并实时查看谁在看什么。

我曾经使用 jQuery DOM 操作(<img>标签的插入)来根据用户点击的内容显示不同的图像,最近我用带有 ng-src 指令的 Angular 控制器替换了这个表示逻辑。

该逻辑总体上有效,但我注意到在 Firefox 上,每当我更改 ng-src 值时,Angular 都会发出一个 GET 请求,而我希望该图像会缓存在浏览器上。

如果你去这里:http ://dev14-www.photozzap.com/conference/j4bxpt3n ,然后打开 Firebug / Net 视图,在两张照片之间来回切换,你会看到它甚至对图像发出 GET 请求虽然这些图像应该在缓存中。

影响是用户会看到他们点击照片的时间和它实际显示的时间之间存在一些滞后。

在 Chrome 上,Developer/Net 视图清楚地显示在图像之间来回切换时,图像是从缓存中拉取的。

可以修复我的代码以允许在 Firefox 上缓存图像还是那里存在 Angular 问题?Chrome 似乎在做正确的事情。

4

2 回答 2

1

我在 Firefox 24 上,我可以确认,每次我在照片之间切换时实际上都会发出请求,但是...正如您通过调查此类请求的详细信息所看到的,服务器以 304 Not Modified 响应,因此图像数据本身不会一遍又一遍地转移,因此性能不会受到太大影响。

即使 Firefox 已将图像存储在缓存中,它也会发出请求以检查图像是否已更改,在看到 304 响应时,它只会显示文件的本地版本。

于 2013-10-23T15:27:31.780 回答
1

这是一个萤火虫问题。如果您使用代理检查您的流量,您会看到在没有激活 firebug 的情况下,它不会再次从服务器请求图像,因此任何普通用户都可以。

于 2013-10-28T10:45:15.250 回答