我希望能够预加载网站所有页面中使用的所有图像。
我的想法是创建一个包含所有这些图像的数组。
什么是完成此任务的最佳方法?
例如,可能是一个幼稚的问题,有没有办法使用JavaScript来确定同一域内网站所有页面中使用的所有图像文件?
或者,是否有一种方法,例如,创建某个文件夹中包含的所有图像的数组?
预先感谢您的帮助!
最佳答案
从理论上讲,您可以仅将JavaScript用于此类事情。在页面加载(或文档准备就绪,或其他任何条件)下,脚本可以:
使用getElementsByTagName()
获取页面上的所有链接
为它找到的每个相同域链接的XMLHttpRequest
做一个href
。
在每个响应中查找<img>
标签,并预加载每个标签。
浏览每个响应中的<a>
标签,然后重复。
但是,维护或生成整个服务器上整个站点使用的图像URL列表,并将该列表作为JavaScript数组包含在脚本中,这样可以更有效地避免所有疯狂的AJAX图像查找。
您希望将此脚本包含在网站的每个页面上(因为您永远不知道用户将在您的网站上开始哪个页面),但是在运行时保存一个cookie(这样它就不会在每个页面上重新运行)给定用户访问的页面)。
我会仔细考虑一下。一些用户可能会在互联网连接上使用有限的数据,或者按兆字节收费。您确定所有用户都只希望访问一个页面来下载站点上的每个图像吗?
关于javascript - 创建一个站点中使用的所有图像的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17277289/