2012-06-06 7 views
0

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> 태그가 계속로드되어 있기 때문에 빈 이미지 아이콘이 있습니다. message.picture가 비어있는 경우 if 문을 작성하여 <img src="message.picture">을 표시하지 않을 수 있습니까?

게시물 메시지에도 동일하게 적용됩니다. message.message이 비어있는 경우 "정의되지 않은"메시지가 없으면 아무 것도 표시하지 않는다는 if 문을 만들 수 있습니까?

if 문을 사용할 수 있다면 어디에 배치해야합니까? if 문을 "마크 업"에 넣으려고했으나 제대로 작동하지 못했습니다.

답변

1

매우 간단 : 항상 존재합니다

if (typeof message.picture != 'undefined') { 
    // message.picture is not empty, so do the stuff inside of here. 
} 
+0

감사합니다. 어떻게 비어있는 message.message 변수와 함께 통합 할 수 있습니까? "마크 업 + = ..."줄의면을 추가 할 수 있을까요? – user715564

0

message 때문에, 그리고 picturepicture 그것이 오류가 발생하지 않을 정의되지 않은 경우에도, message 안에 있습니다. 따라서 다음을 수행 할 수 있습니다.

if (message.picture) { 
    //Do things here. 
} 
관련 문제