ajax - 使用 Backbone.js 获取 YouTube 观看次数

标签 ajax events youtube backbone.js

我一直在使用 Backbone.js 充当 Wordpress(使用 super rad JSON API 插件)和我的前端之间的中间人。

我的每个 Wordpress 帖子都附有一个 YouTube 视频 ID,当我获取集合时,该 ID 会被撤回。

我正在尝试找出应用程序中的最佳点,并解析视频 ID 以获得总视频观看次数。

这是获取集合模型的代码:

parse: function(response) {
  return response.posts;
}

然后以下代码将渲染适当的 View 。

this.getCollection().each(function(model) {
  var view = new App.Thumbnail.View({model: model});
  var item = $(view.render().el);
  this.container.append(item);
});

在此过程中的某个时刻,我需要缩略图来为自己分配视频计数。这是我用于获取 YouTube 观看次数的代码:

function getYoutubeViewCount(videoID) {
  $.ajax({
    url: "http://gdata.youtube.com/feeds/api/videos/" + videoID + "?v=2&alt=json",
    dataType: "jsonp",
    success: function (data) { console.log(data.entry.yt$statistics.viewCount); }
  });
}

所以我的问题是,您认为获取观看次数的最佳位置在哪里?我应该创建一个获取计数的子模型吗?或者在backbone.js 之外进行?

任何帮助将不胜感激!

提前致谢, 查理。

最佳答案

viewCount 应该是您的 Video 模型子类的一个属性。您可以在实例化模型之前并行加载视频的 WordPress 数据和 YouTube 计数,也可以在获取并稍后应用 YouTube 数据时使用 WordPress 中的数据实例化模型。从 youtube 获取观看次数后,将其设置到相​​应的模型实例上。让您的 View 绑定(bind)到模型上的 change:viewCount 事件,并在加载此数据后重新渲染自身(或者至少将 View 计数推送到 DOM 中的适当元素中)。

至于何时执行此操作,您可能应该在创建基本视频模型实例并使用 WordPress 数据源中的基本属性填充后立即开始在后台获取观看次数。或者,您可以选择稍后在视频播放或滚动到视口(viewport)中或将鼠标悬停在上面或其他任何情况时延迟加载观看次数。

关于ajax - 使用 Backbone.js 获取 YouTube 观看次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9883116/

相关文章:

jquery - 多个 $http.get 调用必须更新行

javascript - 如何在页面加载前禁用 jQuery Mobile 中的 Ajax?

events - 搜索VB6代码

java - java 如何知道 mousePressed() 事件何时发生?

angularjs - 如何在 angularjs 中的特定时间引发事件?

ios - 如何暂停在应用程序内播放的youtubevideo?

python - Webkit/Python/GTK 应用程序中的 Youtube

javascript - Ajax 调用以消耗本地主机上的剩余服务

java - Google YouTube API - 无人值守上传

Javascript:多个按钮,1 个类,不能使用 id。按 1 个按钮更改所有