Ist es möglich, den Zugriff auf die Datei-Erstellungszeit von einem <img> src im javascript?
Gegeben das folgende Beispiel
<img id="my_img" src="images/current.png" />
<script language="javascript">
var i = document.getElementById('my_img');
var filetime = i.is_there_any_method_for_this(); //?????
i.title = 'image created: ' + filetime; //don't care about formating now
</script>
Möchte ich Fragen, ob is_there_any_method_for_this();
vorhanden ist, oder wenn es ist überhaupt möglich, den Zugriff auf die Datei-Erstellung (oder änderung) die Zeit des angezeigten Bildes.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellt es sich heraus, dass der Apache scheint zu senden, die Uhrzeit der letzten änderung als header standardmäßig. Zu ergattern, dieser header ist nicht möglich, einfach durch die Verwendung eines javascript-Methode, wie Sie beschreiben. Sie könnte es tun, in eine nicht 100% zuverlässige und effiziente Weise durch re-Download der Datei mit AJAX, und die überprüfung der letzten änderungs-Zeit von der neu heruntergeladene image (die fast immer die gleiche wie das original).
mit ein wenig jQuery für AJAX-call...
Diese Methode funktioniert nur, wenn der server sendet die richtige
Last-Modified
header, und es könnte anders sein (obwohl in der Regel nicht) als das Bild vorher geladen, und verursacht zusätzlichen Verkehr und Anfragen von re-downloaden Sie das gewünschte Bild, den timestamp für.Wenn möglich - ich denke, eine bessere Lösung ist, um den server zum setzen der Zeitstempel von Dateien über eine kleine Daten-feed, vielleicht senden JSON zeigen, last-modified und andere meta-Daten für jede Datei basierend auf dem Dateinamen als Schlüssel... also der server senden soll so etwas wie dieses:
Welche dann leicht zu analysieren client-Seite (mit
JSON.parse()
) und bestimmen die Größe, die Sie benötigen - effizient und zuverlässig.Es ist nicht möglich, da der client (wo das javascript ausgeführt wird) gesendet wird eine Kopie der Datei, ohne die echten Dateinamen oder Metadaten-Informationen von dem server. Nur so kann es möglich gemacht werden kann ist, wenn der server bereitwillig erklärt irgendwie die Datei-Attribute in einem Weg, der Kunde kann schauen - aber Sie müssen in der Lage sein zum Steuern der server-code, um dies tun zu können.
Bild-element in den DOM-spec nicht über eine Eigenschaft für die Datei-Zeit der Bilder, so dass Sie nicht bekommen kann es aus eine direkte DOM-Eigenschaft des image-element.
Viele Bilder, aufgenommen von Digitalkameras enthalten Metadaten (EXIF), dass eine Datei erstellen in der Zeit in der es. Ist es möglich, javascript zu verwenden, Lesen Sie die EXIF-Metadaten und Lesen das ERSTELLUNGSDATUM aus den EXIF. In der Tat, es gibt einige browser-plugins, die Ihnen zeigen, diese Art von Metadaten von Bildern im browser.
Dies ist zwar nicht möglich, Bilder geladen, die konventionell als Teil der HTML, die Sie abrufen können, das last-modified Datum/Zeit der Bild, wenn Sie den laden über AJAX (sofern der server diesen header sendet Informationen).
Je nach Art der img-Datei können Sie es herunterladen und abrufen von meta-Informationen in einigen header ( format abhängig ).
Aber wie bereits erwähnt, dass einige ajax zum Beispiel machen das für Sie.
Erhalten Sie die details mit so etwas wie dieses:
f
?Wie wäre es mit $.ajax und begrenzen Sie die Anfrage nur an den KOPF...