0

我的网站有一个启动页面,内容非常少,而且几乎立即出现。

用户登录后,他们会看到一个加载 jQuery、一些 javascript 和一些图像的页面。为了让第二个屏幕更快地出现,我想在第一个屏幕上预加载一些图像,但在所有内容出现后执行此操作,以免以任何方式减慢屏幕速度。

有没有办法可以做这个预加载。也许是 javascript(但不是 jQuery)。我只是想确保下面的所有图片都是在其他所有内容之后下载的?

document-globe.png
control-000-small.png
home.png
folder-open.png
arbo-points-v-end.gif
arbo-points-v.gif
breadcrumb-sep.png
4

1 回答 1

2

目前尚不清楚您要做什么。您可以执行以下操作:

  1. 您可以在启动页面中侦听该window.onload事件,该事件表示启动页面的 HTML 中指定的所有资源现在都已加载。然后,您可以预加载将在其他地方使用的图像,稍后在此页面中使用动态 javascript 或在后续页面中。为其他页面预加载只会导致图像位于这些页面的浏览器缓存中(这将加快它们的加载速度)。

  2. 您可以从 HTML 中取出图像并通过 javascript 插入它们。如果这样做,您可以让 HTML 中的图像先加载,然后使用上述window.onload事件,然后您可以加载第二组图像并将它们插入页面中。这是优先考虑哪些图像首先/何时加载的一种方法。

  3. 您可以将 onload 处理程序附加到页面中的七个特定图像并使用这些 onload 处理程序中的代码,您可以知道这七个特定图像现在何时加载,然后在您的 javascript 代码中执行其他操作(例如开始加载或预加载其他图片)。因为在您的 HTML 中指定的图像在任何 javascript 可以附加事件处理程序之前开始加载,您必须在实际 HTML 中指定这些类型的 onload 处理程序,以便它们立即生效。

您不能在 HTML 中指定 N 个图像,然后神奇地告诉浏览器先加载其中的七个,然后再加载其他任何一个。浏览器/HTML 没有这种能力。

于 2013-02-11T16:37:55.837 回答