0

我正在开发一个小书签(从书签触发的 Javascript),它将图像覆盖在网页上,以检查 html 是否与设计一致。(它使用不透明度)

我想以每个 url 为基础保存参考图像。据我所知,我有三个选择:

  • 将路径保存在 cookie 中
  • 将路径保存在本地存储中
  • 将图像保存在本地存储中

我目前正计划使用本地存储来保存图像。优点是,如果原始图像被删除并且它在 chrome 中的不同计算机之间同步,它可以工作。我不知道有什么缺点。我不需要 IE7 中的像素完美,所以浏览器支持很好。

最好的方法是什么?

4

1 回答 1

1

当然,您可以将图像和/或 url 保存到localStorage.

但是,由于localStorage只需要string您首先需要data-url通过从服务器提供图像来将图像转换为,或者通过使用转换图像canvas(请注意,画布通常只能设置来自同一来源的图像,当然画布是在没有 polyfill 的 IE7 中不可用)。

更好的方法可能是使用indexedDB或新的File API(目前支持不佳,到目前为止只有 Chrome),它允许您请求大存储空间,并且可以直接保存图像(作为 Blob)。

图像将在您提供它们时存储(除非您在画布中使用 jpeg 重新缩放和重新压缩),因此像素化或质量降低不应该成为问题。

IE7 不支持localStorage,因此在这种情况下,您需要UserData使用 url 恢复到(限制为 4 mb IIRC)或 cookie。

尽管 -

如果将原始图像保留在本地不是那么重要,我宁愿建议在其标题中使用延迟过期数据来提供图像。

这样,它会一直保留在缓存中,直到用户将其删除或过期。如果您对服务器的流量有限制,那么localStorage/indexedDB可能是一个更好的选择。

于 2013-06-01T00:16:20.520 回答