javascript - 通过 JavaScript 预加载/预取大量远程图像
问题描述
我正在使用 JavaScript(如下所示)来预加载/预取图像。用例是我有多达 30,000 条记录的客户端可搜索列表,当用户使用搜索时,我希望与搜索结果关联的头像/图像立即呈现。
在将下面的代码与大量图像(即 5,000 个图像)一起使用时,我遇到了明显的浏览器性能问题(浏览器和其他 JS 代码开始变得不那么敏感)。
有没有人有关于如何优化此代码以更好地执行的建议?或者,有没有办法使用 Service Worker 在后台执行此操作?
function prefetchImages(arr) {
var cache = document.createElement("CACHE");
cache.style = "position:absolute;z-index:-1000;opacity:0;";
document.body.appendChild(cache);
for (var i=0; i<arr.length; i++) {
var img = new Image();
img.src = arr[i];
img.style = "position:absolute";
cache.appendChild(img);
}
}
prefetchImages(['https://avatars.githubusercontent.com/u/9919?s=200&v=4']
解决方案
推荐阅读
- automationanywhere - Automation Anywhere 失败并显示“未找到或无法访问目标邮箱”
- react-native - 如何在 react-native 中制作自定义键盘?
- julia - 在 Julia 中访问数组中的一对行元素
- ios - 从 NSTimer 函数调用 UIButton @IBAction
- php - 加载 interbase 和 firebird 库的问题
- svg - 如何在鼠标移出时持续到无限期动画的持续时间结束
- javafx - JavaFX AnchorPane maxHeight 被裁剪的 Circle 忽略
- react-native - 如何将状态值从一个屏幕发送到另一个屏幕
- c# - Windows 服务运行不做任何事情
- three.js - WebGl Globe(球体)上的镜像 Raycaster