1

我在 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);
4

1 回答 1

2

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

FB.XFBML.parse - 此函数动态解析和呈现文档中的 XFBML 标记...

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

要重新解析整个页面,您可以按原样调用此函数 -

  FB.XFBML.parse();

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

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

参考 -

于 2012-08-20T10:59:52.137 回答