<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> </head> <body> <script> //load function preloadImages(sources, callback) { let counter = 0; function onLoad() { counter++; if (counter == sources.length) callback(); //when all the pictures are loaded, callback } for(let source of sources) { //get the array of pictures and load them let img = document.createElement('img'); img.onload = img.onerror = onLoad; img.src = source; } } // ---------- The test ---------- let sources = [ "https://en.js.cx/images-load/1.jpg", "https://en.js.cx/images-load/2.jpg", "https://en.js.cx/images-load/3.jpg" ]; // add random characters to prevent browser caching for (let i = 0; i < sources.length; i++) { sources[i] += '?' + Mat