2017-10-19 63 views
1

注意:我的JS技能非常有限。请和我一起裸照。更改未定义为空字符串 - EXIF.JS

你好,我使用exif.js从我上传到CMS的图像中提取元数据。当图像没有元数据时,某些值返回“未定义”。我想这样做的是使用这样的这种“不确定”的值更改为空字符串:(来源:斯坦利下文)

// not set var i means 
 
// i === undefined 
 

 
var j = (typeof (i) !== 'undefined' ? i : 'not found'); 
 

 
console.log(j); // 'not found'

然而,之后看几个小时代码,我仍然无法弄清楚exif.js如何返回未定义的值,以便我可以将其更改为空字符串。

链接exif.js:https://github.com/exif-js/exif-js/blob/master/exif.js

回答

0

这里是为我工作的解决方案:

您可以简单地使用if声明摆放在你的变量.getData功能不允许未定义在EXIF.JS运行图书馆。请注意,如果您正在关注EXIF.JS Github上的示例,则通常会将此代码写入页面上的脚本。

EXIF.getData(img, function() { 
 
       var model = EXIF.getTag(this, "Model"); 
 
       
 
       if (model) { 
 
        var modelDataSpan = document.getElementById('model-'+id); 
 
        modelDataSpan.innerHTML = `${model}`; 
 
       }

0

var i = "undefined";

你设置一个字符串var i所以这个不能测试是不确定的。

可以使用typeof (i) !== 'undefined'检查一个变种类型,检查没有“未定义”,然后用短路运营商返回值

例如

// not set var i means 
// i === undefined 

var j = (typeof (i) !== 'undefined' ? i : 'not found'); 

console.log(j); // 'not found' 

jsfiddle

+0

我想我明白如何正确使用现在这个。谢谢!然而,我仍然努力寻找在exif.js中使用它的正确变量。我会继续努力,让我知道如果我知道了。 – DzTheRage