Ich habe kürzlich damit begonnen, ein Bookmarklet zu erstellen, das die EXIF-Daten jedes Bildes auf einer Website anzeigt. Ich entschied mich für Nihilogics binary.js and exif.js Bibliotheken. Bei Bildern, die in derselben Domäne wie die übergeordnete Seite gehostet werden, funktioniert das Skript wunderbar. Aber da XHR zum Lesen der Binärdaten von Bildern verwendet wird und weil XHR auf Anfragen mit demselben Ursprung beschränkt ist, kann ich nicht auf die binären Daten von Cross-Site-gehosteten Bildern zugreifen.Lesen von EXIF-Daten von img in JavaScript (domänenübergreifend)
Gibt es eine Möglichkeit, die Binärdaten eines Bildes lokal (oder zumindest ohne XHR) zu laden, die EXIF-Daten erhalten?
Ich habe ein paar andere Richtungen erforscht, aber ich fürchte, dass ich, um zu bestimmen sie nicht gut genug, um zu verstehen, ob es eine Lösung gibt:
- JSONP - Ich gehe davon aus keine Möglichkeit, es gibt binär zu bekommen Daten in eines dieser Dinge.
- canvas tags - diese scheinen sehr unterschiedliche base64-Kodierungen zu erzeugen, was PHP tut, und ich vermute, dass die EXIF-Daten in der neuen Kodierung nicht mehr existieren.
Aha! Ich kenne sicherlich die Risiken von XHR-Einschränkungen, aber ich hatte nicht an die lokalen Fotodaten Beispiele gedacht.Es macht durchaus Sinn, dass Bilder auch geschlossene Boxen sind. Ein bisschen enttäuschend, dass ich nicht erreichen kann, was ich als Bookmarklet war. –