0

我的一个视图中有一个 FB 发送按钮。

我环顾四周,有一个关于 SO 的问题,说用于FB.XML.parse();重新渲染页面上的所有按钮。

我试着把它放在我的渲染函数中,但仍然没有运气:

render: function() {
      var created_at = this.model.pretty_created_at();
      var share_url = this.model.share_url();
      var html = this.template({model:this.model.toJSON(), created_at: created_at, share_url: share_url});
      Galleria.configure({
          initialTransition: false,
          clicknext: true,
      });
      Galleria.run('#galleria', {wait: true});
      $(this.el).html(html);
      this.$('abbr.timeago').timeago();
      FB.XML.parse();
      return this;
},

另外,请评论我的渲染功能,我应该把这些东西移到初始化吗?

4

1 回答 1

0

如果它没有抛出像'FB is undefined'这样的错误,如果你的脚本在'FB'加载之前执行,这可能会发生 - 你可能会调用错误的脚本,或者在将Like按钮占位符插入DOM之前调用它。

在此页面http://www.vitalmtb.com FB 之类的按钮是异步创建的,并使用FB.XFBML.parse(document.getElementById("sp-a"));它进行解析,并且可以正常工作。

于 2012-09-03T07:05:43.260 回答