javascript - jquery从php脚本预加载图像然后显示

标签 javascript jquery image preload

我已经四处寻找这个案例并接近了,但我在完成它时遇到了问题。

我有一个可以创建图表的 PHP 脚本。它通过创建一个 png img 然后使用标题将图像显示到页面来实现这一点。

我可以做这样的事情:

$('#img').attr('src', 'url.php?make_graph=1');

这有效。问题是,我有一些图表需要相当长的时间才能创建,甚至超过一分钟,而在发生这种情况时,图像只是空白,网页看起来什么也没做。

我找到了一种预加载图像的方法,但没有找到将其应用到网页的方法(实际上来自堆栈溢出)。我能做到:

$('<img/>', {
    'src': 'url.php....',
    'load': function(){ alert("loaded!"); }
}); 

所以我的问题是,我可以以这样的方式加载图像并以某种方式将其应用到页面上的现有图像吗?我不确定这句话是否很清楚......我错过了可以实际显示由脚本制作的预加载图像的部分。如果可能的话,我想避免保存图像或使用 iframe。

坦克寻求帮助。

最佳答案

加载后,将图像 src 设置为您在后台加载的同一位置,它将(理论上)从缓存中提取并显示给用户。

$("<img>", {
    "src": "url.php...",
    "load": function() {
        alert("loaded!");
        $("#foo").attr("src", "url.php...");
    }
});​

这是我整理的一个例子。它首先在页面上加载一张图像,然后在后台加载另一张图像。当您确认警报消息时,它将通过更改 src 来交换图像。我确认它使用 Chrome 开发工具从缓存中提取图像。 http://jsfiddle.net/uVFLD/1/

可能还有另一种方法来解决这个问题,但这是我想到的第一个解决方案。

关于javascript - jquery从php脚本预加载图像然后显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10098245/

相关文章:

javascript - 了解 JavaScript 灰度算法的工作原理(不使用 jQuery)

Javascript/Jquery 搜索对值数组

javascript - 清除排队事件的 BehaviorSubject,因为每个事件都在 Angular2 中用 Observables 解决

javascript - Highcharts 卡在平移上

jquery - 如何从 jquery 回调将参数传递给 Controller ​​操作方法?

image - 无法使用 JComponent 绘制简单图像

java - 为什么这个 JLabel 的 ImageIcon 没有更新?

javascript - 当 SVG 用作背景图像时,如何在单击时更改它的填充颜色?

Javascript 字符串对象 V.S.只是字符串

jQuery:如何在没有已知高度的情况下为高度变化设置动画?