我有下面的代码正在工作
var exif = function(exifObject) {
alert(exifObject.Orientation);
}
$(this).fileExif(exif);问题是,我需要$(this).fileExif(exif)行后的警告值。
所以我试着做了以下几件事:
function getOrientation(exifObject){
return(exifObject.Orientation);
}
getOrientation($(this).fileExif());它不起作用。怎样才能在$(this).fileExif(exif)行之后获得警报值?
附加信息
console.log(exifObject)返回一个属性数组f.e的对象。Orientation。
$(this)被包装在以下代码中:
$('body').on('change', '#imgFile', function(event) {所以它是一个输入类型文件。
发布于 2013-03-31 09:33:53
您正在将exif (这是一个函数)传递给fileExif函数。这是一个例子,说明函数是JavaScript中的第一类对象,在本例中,exif是一个“回调”函数。也就是说,当fileExif函数完成后,它将其结果传递给exif函数,然后调用该函数。
在执行方面,alert将在fileExif函数之后调用。但是,如果迫切希望在函数之后编写代码,则可以在传递函数时声明该函数:
$(this).fileExif(function(exifObject) {
alert(exifObject.Orientation);
});然而,这可能没有原来的那么清楚。
发布于 2013-03-31 09:40:10
我只找到一个用于fileExif的jQuery插件。在这里它来源。这个插件使用本机FileReader。FileReader文件异步加载。你有两条路。首先-修改插件代码并使其同步(坏主意)。用asycn风格编写代码(最佳实践)。
https://stackoverflow.com/questions/15728024
复制相似问题