2013-06-24 68 views
0

我希望能夠預先加載網站所有頁面中使用的所有圖像。創建一個網站上使用的所有圖像陣列

我的想法是創建一個包含所有這些圖像的數組。

什麼應該是這項任務的最佳方法?

例如 - 一個天真的問題,可能 - 有沒有一種方法可以使用JavaScript來確定在同一個域內的網站的所有頁面中使用的所有圖像文件?

或者,或者,有沒有辦法,例如,創建一個包含在某個文件夾中的所有圖像的數組?

非常感謝您的幫助!

+0

你對檢測動態圖像使用(例如'new Image()')感興趣嗎?或者你是否想要獲得一組''標籤的初始'src'屬性? – apsillers

+0

後者 - 最初的src屬性,幾乎是圖像和文件名的路徑,@apsillers。 – KeithRules

回答

3

理論上,你可以只用JavaScript來做這件事。在頁面加載(或文件準備好,或其他),該腳本可以:

  1. 使用getElementsByTagName()讓頁面
  2. 上的所有鏈接做一個XMLHttpRequest爲它找到的每個同域鏈接的href
  3. 翻閱<img>標籤的每個響應,並預先加載每個標籤。
  4. 查看每個響應中的<a>標籤,然後重複。

但是,維護或生成服務器上整個站點使用的圖像URL列表並將該列表作爲JavaScript數組包含在腳本中會更高效,以避免所有瘋狂的AJAX圖像發現。

您希望將此腳本包含在網站上的每個頁面上(因爲您永遠不知道用戶將在您的網站上啓動的頁面),但在運行時保存cookie(以便它不會重新生成 - 在給定用戶訪問的每個頁面上運行)。

雖然我會仔細考慮。一些用戶可能在互聯網連接上,他們的數據使用是有限的,或每兆字節收費。你確定所有的用戶只想訪問你的網站上的每一張圖片嗎?

+0

謝謝@Paul,你的回答是徹底的,涵蓋了我想知道的一切。 – KeithRules

+0

@KeithRules:非常歡迎,很高興聽到它。 –

相關問題