Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用;“预回迁”;Chrome中的图像链接_Javascript_Html_Image_Google Chrome_Link Prefetch - Fatal编程技术网

Javascript 使用;“预回迁”;Chrome中的图像链接

Javascript 使用;“预回迁”;Chrome中的图像链接,javascript,html,image,google-chrome,link-prefetch,Javascript,Html,Image,Google Chrome,Link Prefetch,假设以下代码段: document.addEventListener(“DOMContentLoaded”,()=>{ 常量src=”https://via.placeholder.com/200x100?text=loaded"; const link=document.createElement(“链接”); link.rel=“预取”; link.as=“image”; link.href=src; document.head.append(链接); document.getElemen

假设以下代码段:

document.addEventListener(“DOMContentLoaded”,()=>{
常量src=”https://via.placeholder.com/200x100?text=loaded";
const link=document.createElement(“链接”);
link.rel=“预取”;
link.as=“image”;
link.href=src;
document.head.append(链接);
document.getElementById(“btn”).addEventListener(“单击”,()=>{
document.getElementById(“img”).src=src;
});
});
按我显示预取图像(但先脱机!)


预取的主要目的是告诉浏览器在html的第一个字节(或者更好的是HTTP头)到达后立即开始抓取内容。甚至在javascript开始执行或DOM准备就绪之前,也会发生这种情况。在javascript中动态使用它没有多大意义

因此,我对(某些)浏览器在添加到列表时不侦听
更改并加载内容并不感到惊讶。我很惊讶Firefox竟然能做到这一点

要预取图像,只需使用传统方法:

document.addEventListener("DOMContentLoaded", () => {
  const src = "https://via.placeholder.com/200x100?text=loaded";

  const img = new Image();
  link.src = src;

  document.getElementById("btn").addEventListener("click", () => {
    document.getElementById("img").src = src;
  });
});

因为它在Firefox中工作,所以听起来像是Chrome的问题,而不是你的代码。嗯,从文档中我了解到了这一点谢谢你的回复,你的方式当然也是有用的!除了Chrome Mobile也能与
预回迁
一起使用之外,我会使用它,而且这是我的目标受众,所以我会坚持我的问题方法。