启动facebook喜欢脚本几次没有解析现有的喜欢按钮

Initiate facebook like script several times without parse-ing existing like buttons

本文关键字:喜欢 按钮 脚本 facebook 启动 几次      更新时间:2023-09-26

我使用无限滚动,并且在运行时加载的元素内部我有一个Facebook like按钮。一切工作的第一次我调用脚本,然而,它似乎好像我不能加载它不止一次,因此,滚动时创建的元素不会有一个工作的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=xxxxxxxxxxxxx";
fjs.parentNode.insertBefore(js, fjs);

我知道一个简单的解决方案是JavaScript SDK,它为我们提供了一个名为fb . xfbm .parse的函数。

FB.XFBML.parse

一旦调用了infinite scroll函数,我就可以通过再次调用这个函数来加载更多的数据来呈现新的插件。这个解析是页面上所有之前加载的like按钮。因此,如果我有现有的20个类似按钮,在滚动和调用Parse函数之后,将创建另外10个类似按钮,但前一个按钮也将被解析。

那么我如何解决这个问题呢?

根据文档,您可以对特定元素执行fb . xfxml .parse

  FB.XFBML.parse(document.getElementById('foo')); 
http://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse/