javascript预加载图像-检查是否已缓存/加载图像以防止预加载

Jay*_*ran 5 javascript image-manipulation

我有一些疑问,我已经确定了,但仍然想非常精确。

如果这是重复的问题,请给我链接,以便我删除此问题,并参考提供的链接

  1. 我需要预加载一些图像。如果它们已经存在于浏览器缓存中,则我不希望对其进行预加载。

  2. 如果我们正在预加载,那么我们将使用javascript代码进行预加载,以发送请求。我们在html文档中也有一个img src用于相同的图像。浏览器将两次请求图像。一个是在预加载时,另一个是在看到img标签时?

  3. 我希望预加载和img src进程都是异步的。我希望链接像obj.src = path的图像时所采用的资源和请求将是相同的。

  4. 我希望预加载不能像同步Ajax一样工作。通过给予优先权

  5. 是否有可能知道图像是否在缓存中,这样我们就不必预加载它。

  6. 我还有其他几个问题吗?如果是这样,请提供这些答案,以便堆栈溢出用户可以更新。

是或否会很好。如果可能的话,我想链接一些外部参考或建议或答案。

谢谢。

Rav*_*ane 3

您可以检查 .complete 属性,如果图像已缓存,它应该大部分都是正确的。

如果您在缓存它们时预加载它们,则不会导致太多网络流量。您是否想节省内存?

您可以通过 ajax 执行 head 请求,如果它返回 304 而不是 200,则意味着它在缓存中。

关于参考文献: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html