我正在开发一个PhoneGap iOS Facebook应用程序,我正在努力展示用户的新闻源。到目前为止,这是我的代码:
<script>
function showPosts() {
FB.api('/me/home', function(response) {
console.log(response);
if (!response.error) {
var markup = '';
var messages = response.data;
for (var i = 0; i < messages.length && i < 5; i++) {
var message = messages[i];
markup += '<p><img src="' + message.picture + '">' + message.message + '<img src="https://graph.facebook.com/' + message.from['id'] + '/picture">' + message.from['name'] + '</p><br>';
}
document.getElementById('newsfeedposts').innerHTML = markup;
}
});
}
</script>
现在,如果帖子中没有留言,则会显示“未定义”。此外,当没有消息图片时,会有一个空图像图标,因为<img>
标记仍在加载中。是否可以创建一个if语句,说明message.picture是否为空而不是显示<img src="message.picture">
?
发布消息也是如此。如果message.message
为空,我是否可以创建if语句,如果没有消息则不显示任何内容,消除“undefined”?
如果if语句有效,我应该在哪里放置它?我尝试在“标记”中放置一个if语句,但我无法使其工作。
答案 0 :(得分:1)
非常简单:
if (typeof message.picture != 'undefined') {
// message.picture is not empty, so do the stuff inside of here.
}
答案 1 :(得分:0)
由于message
将始终存在,picture
位于message
内,即使picture
未定义,也不会产生错误。因此,你可以这样做:
if (message.picture) {
//Do things here.
}