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也能与预回迁
一起使用之外,我会使用它,而且这是我的目标受众,所以我会坚持我的问题方法。