|
|||||||
| JavaScript JavaScript (not Java) Discussion and technical support, including AJAX and frameworks (JQuery, MooTools, Prototype...) |
![]() |
|
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
display exif from image?
Hi,
I need to automatically display the images exif data, but it only works after clicking the image. Whats wrong? (Not) working Example: http://www.diystreetview.org/data/test/test.html all files: http://www.diystreetview.org/data/test/ Code:
<html>
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery.exif.js"></script>
<title>test.html</title>
</head>
<body>
<div id="imagediv">
<img src="images/00000036.jpg" width="900px" id="imgA" exif="true" />
</div>
<script>
// This cript should automatically display the exif info of the image. Without user interaction.
// However it only works when the image is clicked.
//
// EXIF Code from http://www.nihilogic.dk/labs/exifjquery/
// FAILING:
document.getElementById('imagediv').innerHTML +="<br \/\>GPSLatitude: " + $("#imgA").exif("GPSLatitude");
// WORKS:
$("#imgA").click(
function() {
document.getElementById('imagediv').innerHTML +="<br \/\>GPSLatitude: " + $("#imgA").exif("GPSLatitude");
} // end function
) // end click
</script>
</body>
</html>
|
|
#2
|
||||
|
||||
|
Wait for the document to load, even the exif script does this.
__________________
At least 98% of internet users' DNA is identical to that of chimpanzees |
|
#3
|
|||
|
|||
|
How to change the code for waiting?
|
|
#5
|
|||
|
|||
|
Hi Fang,
I gave it a try, and I cant get it working. So it's probably me. Please stop passing on ideas and show me how its done. My last try: Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="jquery-1.3.2.min.js"></script>
<script src="jquery.exif.js"></script>
</head>
<body>
<div id="imagediv"></div>
<script>
document.getElementById('imagediv').innerHTML = "<img src=\"images/00000036.jpg\" width=\"400px\" id=\"imgA\" exif=\"true\" \/\>";
$(document).ready(function(){
document.getElementById('imagediv').innerHTML +=("GPSLatitude:" + $("#imgA").exif("GPSLatitude"));
});
</script>
</body>
</html>
|
|
#6
|
|||
|
|||
|
You might want to view the image as a Hex. I might overlooked it but I don't saw any GeoData inside the image.
|
|
#7
|
|||
|
|||
|
Firefox Add-on Exif Viewer shows all the images EXIF data is in perfect order.
You can download it here: https://addons.mozilla.org/en-US/fir...=exif%20viewer |
|
#8
|
|||
|
|||
|
Anyone?
|
|
#9
|
||||
|
||||
|
Code:
$('#imgA').load(function() {
document.getElementById('imagediv').innerHTML +="<br \/\>GPSLatitude: " + $("#imgA").exif("GPSLatitude");
});
__________________
At least 98% of internet users' DNA is identical to that of chimpanzees |
|
#10
|
|||
|
|||
|
I tried that before.
It works 1 out of 10 times. Or less. Here is the new test page: http://www.diystreetview.org/data/test/testA.html All files: http://www.diystreetview.org/data/test/ |
|
#11
|
||||
|
||||
|
Seems to require a slight delay.
Code:
$('#imgA').load(function() {
setTimeout(function(){return document.getElementById('imagediv').innerHTML +="<br \/\>GPSLatitude: " + $("#imgA").exif("GPSLatitude");}, 500);
});
__________________
At least 98% of internet users' DNA is identical to that of chimpanzees |
|
#12
|
|||
|
|||
|
Thanks Fang,
you made my day. It works. I will inform the author of the exif library. Maybe there is something he can update. Jan |
|
#13
|
|||
|
|||
|
To early to celebrate.
I need the value in a variable to deal with it later. But this fails: Code:
var gpslatitude;
$('#imgA').load(function() {
setTimeout(function(){return gpslatitude=$("#imgA").exif("GPSLatitude");}, 500);
});
//Test:
document.getElementById('nav').innerHTML +=gpslatitude;
Last edited by janmartin; 11-23-2009 at 11:13 AM. |
|
#14
|
||||
|
||||
|
Same problem again; the innerHTML is executed before setTimeout has finished.
Save the value in gpslatitude and wait for user interaction or delay writing until setTimeout has finished.
__________________
At least 98% of internet users' DNA is identical to that of chimpanzees |
|
#15
|
|||
|
|||
|
I changed a single line of the test:
Code:
setTimeout(function(){return document.getElementById('nav').innerHTML +=gpslatitude;}, 1000);
However what i really need is to get the data into a variable and out of the whole setTimeout thingy: This code fails: Code:
$('#imgA').load(function(){setTimeout(function(){return myGPSLatitude=$("#imgA").exif("ImageDescription");}, 1000);});
document.getElementById('nav').innerHTML += myGPSLatitude;
Also there must be a way around this whole two-times-waiting? Is it an error in the jquery.exif.js i am using? Thanks, Jan Last edited by janmartin; 11-23-2009 at 12:05 PM. |
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|