2014-02-23 79 views
0

加載EXIF數據我無法通過點擊照片你應該看到的EXIF數據得到顯示的圖像地址jquery.exif沒有從顯示的照片

EXIF數據。

var someCallback = function(e) { 
    $('#cameraModel').val(e.Model); 
    $('#aperture').val(e.FNumber); 
    $('#created').val(e.DateTime); 
    $('#taken').val(e.DateTimeOriginal); 
    $('#copyright').val(e.Copyright); 
    $('#description').val(e.ImageDescription); 
    $('#artist').val(e.Artist); 
    $('#latitude').val(e.GPSLatitude[2]); 
    $('#longitude').val(e.GPSLongitude[2]); 
    //Uncomment the line below to examine the 
    //EXIF object in console to read other values 
    //console.log(e); 
} 

$('#fdd').on('click', function (e) { 
    alert($(this).attr("src")); 
    $(this).fileExif(someCallback); 
}); 

請幫助... jsfiddle

+0

你的小提琴不加載jquery.exif.js?事實證明,您不能直接在小提琴中使用該庫,因爲它使用document.write。如果您將插件中的代碼粘貼到您的小提琴中,並刪除document.write代碼片段(僅適用於IE),那麼您可以稍微深入一點。 – bazzargh

回答

1

從小提琴,你想從https://github.com/sanisoft/jQuery-fileExif使用fileExif方法。你有幾個問題在這裏:

  • 你沒有在你的提琴加載庫(因此我猜你試圖使用庫提示:讀控制檯日誌,就像Uncaught TypeError: Object [object Object] has no method 'fileExif'消息意味着你缺少代碼或試圖在錯誤的對象上調用)

  • 該庫無法加載到小提琴,因爲它使用document.write。您可以從插件中刪除此代碼以使其在小提琴中工作;它只是需要IE:

document.write(
    "<script type='text/vbscript'>\r\n" 
    + "Function IEBinary_getByteAt(strBinary, iOffset)\r\n" 
    + " IEBinary_getByteAt = AscB(MidB(strBinary,iOffset+1,1))\r\n" 
    + "End Function\r\n" 
    + "Function IEBinary_getLength(strBinary)\r\n" 
    + " IEBinary_getLength = LenB(strBinary)\r\n" 
    + "End Function\r\n" 
    + "</script>\r\n" 
); 
+0

你好。謝謝 我忘了添加圖書館..但是圖書館有問題。我需要使用** fileExif **方法。 請參閱新版本的Fiddel:http://jsfiddle.net/ZS6bK/4/ – sadrasjd

+0

閱讀控制檯錯誤。您*無法*在您的小提琴中使用來自該站點的圖像,因爲它們不會發送CORS標題。 http://en.wikipedia.org/wiki/Cross-origin_resource_sharing – bazzargh

+0

允許訪問的圖像示例:http://upload.wikimedia.org/wikipedia/commons/f/fd/Calotes_mystaceus_manipur.JPG(看看但是,由於jquery-exif會嘗試創建一個HEAD請求,因此它還需要爲CORS發出OPTIONS請求,而維基媒體不支持此操作。所有這些問題都會消失,如果您要託管自己的代碼而不是使用小提琴。 – bazzargh