.load() 不会为未缓存的图像触发 - jquery
.load() not firing for uncached images - jquery
在 safari 和 opera 中,.load 的回调函数不会等待未缓存的图像完全加载。 使用缓存的图像,它工作得很好。
代码有点复杂,我会尝试简化...
所以,我的JS是这样的:
$('#chatwindow_' + thread_id).load('/chat.php?thread_id=' + thread_id, function(){
$('#chatwindow_' + thread_id).children('.chat_messagebox').load('/messages.php?sel=chat&latest_messages=10&thread_id=' + thread_id, function(){
//THIS IS BEING EXECUTED BEFORE THE IMAGES ARE FULLY LOADED,
//BUT I EXPECT IT TO BE EXEC AFTER THE IMAGES ARE LOADED
$(this).scrollTo('max',0);
$('#chatwindow_' + thread_id).find('.messages_newcontent').focus();
});
});
消息.php?sel=chat:
<? include(gen_path("/messages_messagelist.php")); ?>
messages_messagelist.php:
while($x < $x_total){
load_attachments("message_".$message_row['id'], $max_width_of_att_field)
}
最后是函数中的重要片段:
return "<img src='/upload/attachments/".$attachments_row['id']."' width='160' class='download_file info_nextsibling' id='downloadfillabeobj_".$attachments_row['id']."'>"
就是这样 - 如果没有缓存这个最后的 ,它会在调用初始 .load 回调函数后完全加载 - 关于如何等待所有未缓存图像的任何想法?
在这里查看David DeSandro的imagesLoaded
jQuery插件。
从文档中:
"你不能在缓存的图像上做 .load()"
相关文章:
- 使用带括号的图像URL作为jQuery的背景
- 如何使用jquery将base64图像路径转换为真实路径
- 重新加载/替换图像 jQuery 作为
- 中的列表项
- 鼠标悬停在图像 jquery 上
- 使用图像 jQuery 切换
- 检查显示的(随机)图像是否与上一个(随机)图像(jQuery和JavaScript)相同
- 更改背景图像 jQuery
- 单击函数不在图像jQuery上启动
- 预览图像Jquery脚本don't运行良好
- 使用图像Jquery对话框预加载iFrame
- jQuery脉动代码与滚动图像jQuery代码冲突
- 检测粘贴事件在浏览器中的图像(jquery/javascript)
- 图像库与覆盖和html内部不能覆盖正确的图像.jquery
- 预加载图像- JQuery
- 使用HTML扩展图像&Jquery
- 从Rest API获取图像.JQuery的问题
- 使用尽可能多的独立线程检索5个图像- jquery ajax
- 点击图像jQuery -函数不工作后追加
- 如何使用XML数据更改网站上的图像&jQuery
- 在不向服务器发出新请求的情况下更改图像jQuery