创建一个站点使用的所有图像的数组

时间:2013-06-24 13:56:08

标签: javascript

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

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

这项任务的最佳方法是什么?

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

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

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

理论上,你可以只用JavaScript来做这件事。在页面加载(或文档就绪,或其他),脚本可以:

  1. 使用getElementsByTagName()获取页面上的所有链接
  2. 为找到的每个同域链接的XMLHttpRequest执行href
  3. 查看<img>代码的每个回复,并预先加载每个代码。
  4. 查看<a>代码的每个回复,然后重复。
  5. 但是,维护或生成服务器上整个站点使用的图像URL列表会更有效,并将该列表作为JavaScript数组包含在脚本中,以避免发现所有疯狂的AJAX图像。 / p>

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

    我认真考虑过这一点。有些用户可能在互联网连接上,他们的数据使用受限,或每兆字节收费。您确定所有用户都希望仅通过访问一个页面来下载您网站上的每个图片吗?