0

我希望能够预加载网站所有页面中使用的所有图像。

我的想法是创建一个包含所有这些图像的数组。

完成这项任务的最佳方法应该是什么?

例如——可能是一个幼稚的问题——有没有办法使用 JavaScript 来确定同一域内网站所有页面中使用的所有图像文件?

或者,有没有办法,例如,创建一个包含在某个文件夹中的所有图像的数组?

预先感谢您的帮助!

4

1 回答 1

3

理论上,你可以只使用 JavaScript 来做这样的事情。在页面加载(或文档准备好,或其他)时,脚本可以:

  1. 用于getElementsByTagName()获取页面上的所有链接
  2. XMLHttpRequesthref它找到的每个同域链接做一个。
  3. 查看<img>标签的每个响应,并预加载每个响应。
  4. 查看<a>标签的每个响应,然后重复。

但是,在服务器上维护或生成整个站点使用的图像 URL 列表并将该列表作为 JavaScript 数组包含在脚本中会更有效,以避免所有疯狂的 AJAX 图像查找。

您希望在站点的每个页面上都包含此脚本(因为您永远不知道用户将在您的站点上启动哪个页面),但在运行时保存一个 cookie(这样它就不会在每个页面上重新运行)给定用户访问的页面)。

不过我会仔细考虑的。一些用户可能在互联网连接上,他们的数据使用受到限制,或者按兆字节收费。您确定所有用户都想通过访问一个页面来下载您网站上的每张图片吗?

于 2013-06-24T14:08:24.420 回答