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

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

什么是完成此任务的最佳方法?

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

或者,是否有一种方法,例如,创建某个文件夹中包含的所有图像的数组?

预先感谢您的帮助!

最佳答案

从理论上讲,您可以仅将JavaScript用于此类事情。在页面加载(或文档准备就绪,或其他任何条件)下,脚本可以:


使用getElementsByTagName()获取页面上的所有链接
为它找到的每个相同域链接的XMLHttpRequest做一个href
在每个响应中查找<img>标签,并预加载每个标签。
浏览每个响应中的<a>标签,然后重复。


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

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

我会仔细考虑一下。一些用户可能会在互联网连接上使用有限的数据,或者按兆字节收费。您确定所有用户都只希望访问一个页面来下载站点上的每个图像吗?

关于javascript - 创建一个站点中使用的所有图像的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17277289/

10-11 20:06
查看更多