我正在尝试检索用户的YouTube视频列表,并使用jQuery将它们嵌入到页面中。我的代码看起来像这样:
$(document).ready(function() {
//some variables
var fl_obj_template = $('<object width="260" height="140">' +
'<param name="movie" value=""></param>' +
'<param name="allowFullScreen" value="true"></param>' +
'<param name="allowscriptaccess" value="always"></param>' +
'<embed src="" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="260" height="140"></embed>' +
'</object>');
var video_elm_arr = $('.video');
//hide videos until ready
$('.video').addClass('hidden');
//pull video data from youtube
$.ajax({
url: 'http://gdata.youtube.com/feeds/api/users/username/uploads?alt=json',
dataType: 'jsonp',
success: function(data) {
$.each(data.feed.entry, function(i,item){
//only take the first 7 videos
if(i > 6)
return;
//give the video element a flash object
var cur_flash_obj = fl_obj_template;
//assign title
$(video_elm_arr[i]).find('.video_title').html(item.title.$t);
//clean url
var video_url = item.media$group.media$content[0].url;
var index = video_url.indexOf("?");
if (index > 0)
video_url = video_url.substring(0, index);
//and asign it to the player's parameters
$(cur_flash_obj).find('object param[name="movie"]').attr('value', video_url);
$(cur_flash_obj).find('object embed').attr('src', video_url);
//alert(cur_flash_obj);
//insert flash object in video element
$(video_elm_arr[i]).append(cur_flash_obj);
//and show
$(video_elm_arr[i]).removeClass('hidden');
});
}
});
});
(当然'username'是实际的用户名)。
视频标题显示正确,但没有视频显示。是什么给了什么?
目标html如下:
<div id="top_row_center" class="video_center video">
<p class="video_title"></p>
</div>
答案 0 :(得分:2)
试试这个
变化:
var fl_obj_template = $('<object width="260" height="140">' +
'<param name="movie" value=""></param>' +
'<param name="allowFullScreen" value="true"></param>' +
'<param name="allowscriptaccess" value="always"></param>' +
'<embed src="" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="260" height="140"></embed>' +
'</object>');
To This:
var fl_obj_template = '<object width="260" height="140">' +
'<param name="movie" value=""></param>' +
'<param name="allowFullScreen" value="true"></param>' +
'<param name="allowscriptaccess" value="always"></param>' +
'<embed src="" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="260" height="140"></embed>' +
'</object>';
我认为youtube代码被用作seletor