预加载图像PHP并在JS中等待直到完成


Preload image PHP and waiting in JS till finished

我需要JS中的图像预加载器。图像由 PHP 脚本获取(以避免向用户打开文件结构)并设置为 img 标签的属性。预加载后,我们等待绑定为事件侦听器的事件被触发(有点像幻灯片)。

var preloadImage = $('<img />').attr('src', 'getimage.php');
preloadImage.onLoad = function() {console.log('finished')}

问题是,onLoad 当然不起作用,因为它处理在 JS 中处理的图像,而在这种情况下,我们正在等待 PHP 完成获取图像。php脚本就是这样

<?php
header("Content-type: image/png");
readfile('image.png');
?>

有人知道在这种情况下我如何让 JS 等到 php 完成加载?

由于DaveRandom在上面的讨论中完美地回答了这个问题,这是最终的代码。 preloadImage 是一个 jQuery 对象,这意味着需要传递 .load() 函数。

var preloadImage = $('<img />').attr('src', 'getimage.php').load(function() {console.log('finished')})