【问题标题】:Loading EXIF data from currently displayed image with jquery使用 jquery 从当前显示的图像中加载 EXIF 数据
【发布时间】:2013-03-01 11:44:24
【问题描述】:

我现在的情况:

我正在开发一个用于发布我的照片的网站。我正在使用 twitter bootstrap、jquery 和 Galleria.io

现在我想显示我制作的照片中的一些 exif 数据。因此我想使用这个 jquery 插件:http://blog.nihilogic.dk/2008/05/jquery-exif-data-plugin.html

我已经测试了旁边给出的示例。他们工作。 下面的代码没有。每次加载图像时,它都会返回一个空警报。 所以至少这是有效的。 这些是我在 javascript 中的第一步,所以我很高兴得到每一个帮助。

每次更改图像时都应更新 exif 数据。所有图像都位于同一服务器上。

Galleria.ready(function(options) {
    // this = the gallery instance
    // options = the gallery options
        this.bind('image', function(e) {
            imgHandle = $(e.imageTarget)
            imgHandle.load(function() {
                $(this).exifLoad(function() {
                    alert($(this).exifPretty());
                });
            });
        });
    });

    $("#img2").load(function() {
        $(this).exifLoad(function() {
            alert($(this).exifPretty());
        });
    });

我希望你能帮助我。

【问题讨论】:

  • 一个好主意可能是跳过Galleria 部分,只专注于让exif 插件首先工作。
  • 我也试过了。这个脚本的开发者似乎不再维护它了。新的 jQuery 版本可能存在不兼容问题。
  • 好的,我用 jQuery 1.2.3 测试了它。脚本发布时的释放。还是没有反应……
  • 我的猜测是你在这里做错了什么。试着让其中一个作者的例子正常工作。
  • 作者的例子工作正常。我已经知道你无法获取远程图片exif,但我只有本地的。

标签: javascript jquery exif galleria


【解决方案1】:

好的,我和朋友想通了:

我的代码现在看起来像这样:

Galleria.ready(function(options) {
    // this = the gallery instance
    // options = the gallery options
    // will be called after the image is loaded
        this.bind('image', function(e) { 
            imgHandle = e.imageTarget;
            alert('Image loaded');
            //will be called if on same server
            $(imgHandle).exifLoad(function() {
                alert('Exif loaded');
                alert($(imgHandle).exifPretty());
                //do something here....
                });
            });
        });
    });

它只适用于服务器上的图像,而不适用于远程服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 2011-03-06
    相关资源
    最近更新 更多