0

YouTubeからデータを取得するときに機能するこのコードがあります。これはアラートメッセージで確認できます。問題はIE8以下にあり、3つのアイテムのリストがページに出力されません。最後の画像のみを出力します。

あなたはここjsfiddleでコードを見ることができます

どんな助けでも大歓迎です。

$.each(data.feed.entry.slice(1, 4), function(i, item) {
                        //if(i == 3) return false;
                        var title = item.title.$t;
                        var url = item.link[0].href;
                        var thumbUrl = item.media$group.media$thumbnail[0].url;
                        thumbs_data += '<li><a href="'+ url +'" title="'+ title +'"><img alt="'+ title+'" src="'+thumbUrl+'"</a></li>';
                        alert(thumbs_data);
                    });
4

1 に答える 1

1

IE8のコードを見た後、考えられる問題の1つはitem.title.$t、生成されたHTMLを台無しにしている可能性がある引用符が含まれていることです。これを変更して、引用符を削除してみてください。

var title = item.title.$t;

これに:

var title = item.title.$t.replace(/"/g, "");

そして、私が見つけたもう1つの問題は、生成されたHTMLのimgタグに閉じ中括弧がないことです。


thumbs_data行をこれに変更して、imgタグの終了>を追加します。

thumbs_data += '<li><a href="'+ url +'" title="'+ title +'"><img alt="'+ title+'" src="'+thumbUrl+'"></a></li>';

これらを修正すると、IE8でこのjsFiddleが機能することがわかります:http://jsfiddle.net/jfriend00/7L2Ws/

注:この問題は、ループを介しthumbs_dataconsole.log()毎回追加する生成されたHTMLを出力することで見つかりました。これにより、HTMLを調べて、問題がどこにあるかを確認できました。

于 2012-08-13T10:34:49.870 に答える