※IE未対応
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="ja" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="imagetoolbar" content="no" /> <title>設置サンプル</title> <link rel="stylesheet" type="text/css" href="/content/lib/global.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" ></script> <script type="text/javascript"> $(function() { $.getJSON( "http://gdata.youtube.com/feeds/api/videos/9YEEl52u8XE/related", { v:2, alt:"json" }, function(xml) { $('#load').fadeOut(); var feed = xml.feed; $.each(feed.entry, function(i,item){ var tmp=item.id.$t.split("video:"); var vid=tmp[tmp.length-1]; var s=''; s+='<dt><img src="'+item.media$group.media$thumbnail[0].url+'" /></dt>'; s+='<dd>'; s+='<div class="title"><a href="'+item.link[0].href+'">'+item.title.$t+'</a></div>'; s+='<p>'; s+='作成者:<a href="http://www.youtube.com/user/'+item.author[0].name.$t+'">'+item.author[0].name.$t+'</a>|'; s+='公開日:'+formatDate(item.published.$t)+''; s+='<br>'; s+='お気に入り登録数:'+addFigure(item.yt$statistics.favoriteCount)+'|' s+='再生回数:'+addFigure(item.yt$statistics.viewCount)+'回'; s+='</p>'; $.getJSON( item.link[2].href, { v:2, alt:"json" }, function(xml2){ var feed2 = xml2.feed; s+="▼関連動画<ul>"; $.each(feed2.entry, function(ii,item2){ s+='<li><a href="'+item2.link[0].href+'"><img src="'+item2.media$group.media$thumbnail[0].url+'" alt="'+item2.title.$t+'" /></a></li>'; }); s+="</ul>"; s+='</dd>'; $("#demo").append('<dl class="video cf">'+s+'</dl>'); $(".video").fadeIn(1000); } ); }); } ); }); /* 日付フォーマット */ var formatDate = function(dateString) { var d = new Date(dateString); var day = d.getDate(); var month = d.getMonth()+1; var year = d.getFullYear(); return year+"年"+month+"月"+day+"日"; } /* 3桁区切り */ function addFigure(str) { var num = new String(str).replace(/,/g, ""); while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2"))); return num; } </script> <!-- CSS --> <style type="text/css"> #demo { margin:0; padding:0; } #demo dl { margin:5px 0; padding:0; clear:both; } #demo dt { margin:0; padding:3px; width:120px; height:90px; -webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px; border:1px solid #ccc; float:left; clear:both; overflow:hidden; } #demo dt img { overflow:hidden; width:120px; height:90px; } #demo dd { margin:0 0 0 140px; padding:0; } #demo dd div.title { font-size:110%; font-weight:bold; } #demo dd span { color:#ff6699; font-weight:bold; } #demo dd ul { margin:0; padding:0; list-style:none; } #demo dd li { margin:0; padding:0; list-style:none; display:inline; width:60px; height:45px; } #demo dd li img { width:60px; height:45px; overflow:hidden; } </style> <link rel="stylesheet" type="text/css" href="/common/css/example.css"></head> <body id='example3' class='example'><div class="ads" style="margin:32px auto;text-align:center;"></div><h1 class='h'><a href='/'>PHP & JavaScript Room</a> :: 設置サンプル</h1> <h3 class='h'>実行結果</h3> <div id="wrap"> <h1>設置サンプル</h1> <h2>指定したYouTube動画(9YEEl52u8XE)の関連動画リストを取得し、さらに各動画の関連動画を取得して表示。</h2> <p>※IE未対応</p> <!-- CODE --> <div id="load"><img src='/content/img/ajax/loadingIcon.gif'></div> <div id="demo"></div> <!-- / CODE --> </div> </body> </html>