javascript - 将图像预加载到预缓存

标签 javascript reactjs

我想预加载图像,但不一定想将它们附加到 DOM。如果我预加载图像,它会被有效地预缓存吗?

我的理解是,缓存是通过引用图像的 src 来工作的。从实践来看,为了预缓存而进行预加载似乎确实有效。然而,我不确定;这可能不可靠或对性能产生一些负面影响。

我正在使用图像构造函数来预加载。

const img = new Image();
img.src = imageArray[i].url;

最佳答案

是的,它确实有效。

function preloadImage(url){
    const img = new Image();
    img.src = imageArray[i].url;
}

但是,有两种方法。例如,将预加载延迟到页面加载之后:

function preloader() {
    if (document.images) {
        var img1 = new Image();
        var img2 = new Image();
        var img3 = new Image();

        img1.src = "http://url/image-001.jpg";
        img2.src = "http://url/image-002.jpg";
        img3.src = "http://url/image-003.jpg";
    }
}
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
}
addLoadEvent(preloader);

关于javascript - 将图像预加载到预缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58700466/

相关文章:

javascript - "Access-Control-Allow-Origin"访问API请求错误

javascript - 当我启用 CSS 动画时,jQuery hide().slideDown() 不起作用

node.js - create-react-app 命令卡在使用 cra-template 安装 React React-dom React-scripts 上

javascript - 如何设置状态列表的所有元素

javascript - React/Redux - 你应该什么时候从 API 获取新数据来更新你的商店?

javascript - 从 javascript 数组中删除数字范围

javascript - JW播放器通过变量分配文件

reactjs - React Material-UI 菜单 anchor 被 react 窗口列表破坏

java - 无法将 JSON 对象提交到 JSP

javascript - 当使用 react-redux v5 设置 React v15.5 时,路由不导航