在我的应用程序中,我从服务器加载了画布上的图像。清除画布后,我使用 loadFromJSON 加载相同的画布。这一次,即使图像在浏览器缓存中并且 url 相同,它也会再次下载图像。因此,它会在我的应用程序中造成延迟。
var imageURL = <blabla>.s3.amazonaws.com/upload/image.jpg
myApp.addImageWithURL(imageURL); //This adds image on canvas so downloads it on cache.
接下来,我清除画布并将其 json 保存在 localStorage 中。
myApp.canvas.clear();
myApp.loadJsonOnStorage();
最后一部分,我加载了 json,它保留了我在第一步中加载的图像。
canvas.loadFromJSON(json); //fabric.js function
所以,当我调用这个函数时,它开始下载它保存在缓存中的图像。
为什么会发生这种情况,使用相同的 url 下载相同的图像。通常,它发生在chrome私人浏览中,可能是因为它没有保留任何缓存(我不确定)但有时会发生在chrome正常浏览中。