我在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);
答案 0 :(得分:2)
这是一个简单的解决方案。 JavaScript SDK为我们提供了一个名为FB.XFBML.parse
的函数。
FB.XFBML.parse - 此函数动态解析并呈现文档中的XFBML标记......
调用无限滚动函数并加载更多数据后,只需再次调用此函数即可渲染新插件。
要重新整理整个页面,您可以按原样调用此函数 -
FB.XFBML.parse();
如果要解析页面上的特定元素,可以将其传递给函数 -
FB.XFBML.parse(document.getElementById('foo'));