因此,如果您clone()
是一个img元素,那么浏览器将以与原始元素相同的方式检索图像src
。这意味着要么启动新的HTTP请求,要么从缓存中提取它。
我要做的是clone()
图像,而无需重新加载它们。
一种(排序)解决方案是使用Etag
和Last-Modified
缓存它们,以便浏览器只启动以304返回的新HTTP连接,并且实际上并未下载图像。但问题是,如果图像源在原始页面加载和克隆图像之间发生变化,则克隆图像将与原始图像不同。
我提出的另一个解决方案是在图像上设置Expires
time() + 1 year
标题。这样,每次克隆图像时,都会自动从缓存中获取图像。然后,在每次页面加载时,将当前时间戳附加到图像src
,以便加载新的时间戳(跳过缓存)。但问题是现在的图像永远不会被缓存。我希望在页面加载期间加载图像时实现Etag
和Last-Modified
缓存。
有没有办法直接克隆图像?