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>タグがまだ読み込まれているため、空の画像アイコンが表示されます。if message.picture is empty よりも don't display という if ステートメントを作成することは可能でしょう<img src="message.picture">か?

投稿メッセージも同様です。が空の場合message.message、メッセージがなければ何も表示しないというifステートメントを作成して、「未定義」を排除できますか?

if ステートメントが機能する場合、どこに配置すればよいですか? 「マークアップ」にif文を入れてみましたが、うまくいきませんでした。

4

2 に答える 2

1

ものすごく単純:

if (typeof message.picture != 'undefined') {
  // message.picture is not empty, so do the stuff inside of here.
}
于 2012-06-06T02:51:51.457 に答える
0

messageは常に存在し、picture内にあるため、が未定義でmessageあってもエラーにはなりません。pictureしたがって、これを行うことができます:

if (message.picture) {
    //Do things here.
}
于 2012-06-06T04:19:12.293 に答える