2013-11-25 36 views
0

右鍵單擊網頁中的圖片並選擇「屬性」時,會顯示詳細信息URL,尺寸,尺寸,創建日期),修改(日期)等。如何獲取正在被網頁中的圖片的屬性

很明顯,我知道URL是因爲它在我的代碼中,但其他一些不是,例如創建和修改日期,它們必須來自服務器圖像源。我已經使用

document.getElementById("photo").attributes 

試圖在相關的HTML代碼是這樣的

<img id="photo" src="http://www.somesite.com/photo.jpg" width="320" height="240" alt="offline" > 

但只返回上述IMG線發現5個屬性。

由於日期和其他信息可用於「屬性對話」,我假設在文檔對象中還有某處可用。

有關我如何使用JavaScript或VBScript訪問它們的任何想法?

感謝.... RDK

回答

0

那麼,你可以嘗試獲得圖像的URL,然後做一個AJAX請求的形象,得到了響應頭,他們會告訴你,創建日期等..你是...後

例...

var myImageURL = %YOUR_IMAGE_URL% 
var modifiedHeader = 'Last-Modified'; 
var req = new XMLHttpRequest(); 
req.open('HEAD', myImageURL, false); 
req.send(); 
var header = req.getResponseHeader(modifiedHeader); 
if (header) { 
    console.log(header); // this is the last modified date 
} 

編輯: 如果圖像是通過AJAX訪問這隻會工作......(同源策略,等等。 ..)

編輯:

改爲頭,SOP不要緊,現在..謝謝@Musa

+2

如果您使用HEAD請求SOP不會踢在 – Musa

+0

@Musa尼斯!只是試過了...將編輯.. –

+0

穆薩和@Michael Coxon ...感謝您的輸入。我嘗試使用類似於上面的代碼[鏈接] http://stackoverflow.com/questions/20176324/determine-datelastmodified-for-a-web-base-jpg-image-via-asp-or-aspnet/20179406?iemail = 1&noredirect = 1#20179406它適用於某些圖像源,但不適用於其他圖像源。這就是爲什麼我這樣嘗試。 – RDK

0

你有使用JavaScript Image object調查?

+0

馬克....我看着那個對象,但沒有看到/明白它將如何適用於這個問題。你能提供更多的細節或代碼嗎?我會再看一遍。謝謝 – RDK

0

創建和修改日期等信息將存儲在圖像的EXIF元數據中(如果有的話)。

有一個jQuery library for reading EXIF metadata,它提供了一個exif()方法,例如, $('img').exif('DateTimeOriginal')

請注意,託管在其他域中的圖片無法通過JavaScript訪問。

有關原始圖像文件寬度和高度的信息應該是圖像對象本身的屬性,例如, document.getElementById('photo').naturalHeight

+0

阿爾弗...謝謝,我會看看這個,並嘗試... RDK – RDK

相關問題