【发布时间】:2010-11-14 11:34:30
【问题描述】:
我的主页本身大约 25K,但我有几个 PNG 图像,一旦完全加载,大约 2 MEG。我正在考虑最初在没有任何图像的情况下加载页面(或没有包含所有 PNG 和一些 HTML 的横幅),然后在页面加载后,使用 jQuery/Ajax 请求在部分视图中加载(其中包含图像和多一点 HTML)。我的问题是,ajax 请求的完整功能是否仅在所有图像实际加载后才运行?而且,这是个好主意吗?
【问题讨论】:
我的主页本身大约 25K,但我有几个 PNG 图像,一旦完全加载,大约 2 MEG。我正在考虑最初在没有任何图像的情况下加载页面(或没有包含所有 PNG 和一些 HTML 的横幅),然后在页面加载后,使用 jQuery/Ajax 请求在部分视图中加载(其中包含图像和多一点 HTML)。我的问题是,ajax 请求的完整功能是否仅在所有图像实际加载后才运行?而且,这是个好主意吗?
【问题讨论】:
编辑: 对于最初误解这个问题,我深表歉意。 您的浏览器将首先将所有非图形内容加载到 DOM 中,然后继续加载所有图像。您将在看到图像之前看到内容。
不过,附带说明一下,我建议您对那些 2MB 的图像进行处理,它们需要一段时间才能加载,尤其是在拨号连接时。
希望这会有所帮助。
【讨论】:
使用众所周知的jQuery文档准备好;
<script type="text/javascript">
$(document).ready(function() {
//JS Script
});
</script>
当页面就绪时执行 Javascript。即,当页面准备好操作,但图像不一定加载。在我看来,在稍后阶段远程请求图像是没有意义的,因为这只会增加服务器的负载,并且如果有的话,会增加页面的整体加载时间。 请放心,即使图像未加载,您的 JavaScript 也会被执行。
【讨论】: