こんにちは私はsongsと呼ばれるjavaScriptファイルに次のコードを持っています:
var marchMD = new Array();
marchMD[0] = ["Save the Best for Last - Vanessa Williams"];
marchMD[1] = ["Informer - Snow"];
marchMD[2] = ["The Sign - Ace of Base"];
for (var i=0;i<marchMD.length; i++) {
songList = songList + '<p><a href="#" id="songtext">' + marchMD[i] + '</a></p>';
}
$('#songs').html(songList);
これがロードされると、ファイルyoutubeの次のjavaScriptが上記のコードに反応します。
$(document).ready(function() {
$('#songs p').click(function(e) {
var $el = $(e.currentTarget);
var search = $el.html();
//alert(search);
//return;
var keyword = encodeURIComponent(search);
var yt_url = 'http://gdata.youtube.com/feeds/api/videos?q=' + keyword + '&format=5&max-results=1&v=2&alt=jsonc';
$.ajax({
type:"GET",
url: yt_url,
dataType: "jsonp",
success: function(response) {
if(response.data.items) {
$.each(response.data.items, function(i, data) {
var video_id = data.id;
var video_frame = "<iframe width='420' height='315' src='http://www.youtube.com/embed/" + video_id + "' frameborder='0' type='text/html'></iframe>";
$("#ytVid").html(video_frame);
});
} else {
$("#ytVid").hmtl("<div id='no'> No Video</div>");
}
}
});
});
});
上記のコードにあるアラートは、何かが返されるかどうかを確認するためのテストでしたが、返されません。ただし、コードからhref htmlタグを削除すると、これは機能します。私が持っている理由は、誰かが曲の1つをクリックすると、ページの上部に移動してその曲をYouTubeで表示するためです。
ありがとう