【发布时间】:2011-04-20 15:04:15
【问题描述】:
我知道这一定是完全的贫民窟,但我正试图弄清楚如何获取我的 youtube 链接的提要,以一种有点时尚的方式显示在我的主页上。我厌倦了不得不在 youtube 上发布一些东西,然后在我的网站上创建一个基本上是 youtube 帖子复制的帖子。也许已经有一些东西内置了这个功能,但到目前为止我还没有看到它。到目前为止,我有几个关于我要完成的工作的问题:
如何更新我的代码,以便我可以在必须引用变量名的 youTubeMe 对象中使用“this”。我很确定我明白为什么我现在无法使用它,但我不知道如何解决?
其次,google api 对我来说似乎有点奇怪。我对使用 iFrame 并不太感兴趣,为了得到 VideoId 而我必须做的拆分操作是不正确的。
我们将不胜感激任何建议。我将发布代码,但您也可以找到一个工作示例here
HTML:
<div id="pager">
</div>
<div id="player">
</div>
<script type="text/javascript">
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onYouTubePlayerAPIReady() {
youTubeMe.init();
}
</script>
JAVASCRIPT:
var youTubeMe = {
pageSize: 10,
player: null,
startIndex: 1,
username: 'google',
init: function() {
$.getJSON('http://gdata.youtube.com/feeds/users/' + this.username + '/uploads?alt=json&start-index=' + this.startIndex + '&max-results=' + youTubeMe.pageSize, youTubeMe.createYouTubePlayers);
},
createYouTubePlayers: function(data) {
$('#player').empty();
$('#pager').empty();
if (data.feed.entry.length < youTubeMe.pageSize) {
youTubeMe.createPreviousButton();
} else {
if (youTubeMe.startIndex !== 1) {
youTubeMe.createPreviousButton();
}
youTubeMe.createNextButton();
}
for (var i = 0; i < data.feed.entry.length; i++) {
player = new YT.Player('player', {
height: '195',
width: '320',
videoId: data.feed.entry[i].id.$t.split('/')[5]
});
}
},
createNextButton: function() {
$('<a id=\"next\" href=\"#\">next</a>').appendTo('#pager');
$('#next').click(function(e) {
e.preventDefault();
youTubeMe.startIndex += youTubeMe.pageSize;
youTubeMe.init();
});
},
createPreviousButton: function() {
$('<a id=\"prev\" href=\"#\">prev</a>').appendTo('#pager');
$('#prev').click(function(e) {
e.preventDefault();
youTubeMe.startIndex -= youTubeMe.pageSize;
youTubeMe.init();
});
}
};
CSS:
iframe { margin: 20px; }
#pager { background-color: #666; line-height: 3em; text-align: center; }
#pager a { color: #fff; font-size: 1.8em; margin: 0 15px; }
【问题讨论】:
标签: javascript jquery youtube youtube-api