【问题标题】:Initiate facebook like script several times多次启动 facebook like script
【发布时间】:2012-08-20 10:54:00
【问题描述】:

我在 tumblr 上使用无限滚动,在运行时加载的元素内部,我有一个类似 facebook 的按钮。我第一次调用脚本时一切正常,但是,似乎我不能多次加载它,因此滚动时创建的元素不会有一个工作的 facebook 按钮,因为加载脚本时不存在。如果我在加载更多内容后执行此操作,则不会发生任何事情。

查看脚本(http://connect.facebook.net/en_GB/all.js),该脚本似乎每页只运行一次,有什么办法解决这个问题吗?

我的代码:

var js, fjs = d.getElementsByTagName(s)[0];   
js = d.createElement(s); js.id = id;
js.async=true;  
js.src = "http://connect.facebook.net/en_GB/all.js#xfbml=1&appId=484534104905547";
fjs.parentNode.insertBefore(js, fjs);

【问题讨论】:

标签: javascript facebook facebook-like tumblr


【解决方案1】:

这里有一个简单的解决方案。 JavaScript SDK 为我们提供了一个名为 FB.XFBML.parse 的函数。

FB.XFBML.parse - 此函数在运行中解析和呈现文档中的 XFBML 标记...

调用无限滚动函数并加载更多数据后,只需再次调用此函数即可呈现新插件。

要重新解析整个页面,你可以直接调用这个函数 -

  FB.XFBML.parse();

如果要解析页面上的特定元素,可以将其传递给函数-

  FB.XFBML.parse(document.getElementById('foo'));

参考-

【讨论】:

  • 亲爱的,现在一切都运行了!你拯救了我的一天 Lix
  • 没问题@aug... 乐于助人 :) 如果您觉得我的解决方案有帮助,请不要忘记投票/接受 - 这是在Stack Overflow 上表示感谢的最佳方式@ :) - meta.stackexchange.com/questions/16721/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-29
  • 2020-03-08
  • 2017-11-23
相关资源
最近更新 更多