AngularJs-facebook-sdk仅在刷新页面时有效

时间:2014-04-22 06:01:12

标签: facebook angularjs facebook-like facebook-javascript-sdk facebook-sdk-3.1

我尝试将facebook share和like按钮集成到我的单页应用程序中。他们已经提到过,通过将这些代码放在body标签中,它可以正常工作,并且当我手动刷新页面时它工作正常。因此我搜索了一下并尝试了angularjs-facebook-sdk。但问题仍然是相同的,它仅在手动刷新页面时才有效。

这是我在配置部分使用的代码部分。

.config(function facebookConfig (facebookConfigProvider) {
    facebookConfigProvider.setAppId(285290671625269);
    facebookConfigProvider.setLanguage('en-US');
    facebookConfigProvider.setDebug(true);
    facebookConfigProvider.autoInit(true);
    facebookConfigProvider.setOptions({
        status: true
    });
})

这是我在页面上使用的html部分。

<afb:like href="http://www.linkedin.com/in/pranjutgogoi" layout="button_count" action="like" show-faces="true" share="false" on-edge-created="onEdgeCreated(url);" on-edge-removed="onEdgeRemoved(url);"></afb:like>

如果可能,请说明问题是什么,我该如何解决?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,而对我有用的修复只是添加:

        scope.$watch('href',function(){
            facebookService.ready.then(function () {
                FB.XFBML.parse();
            });
        })

指向其中一个Facebook指令(在我的情况下为'share'),因为我认为FB.XBML.parse()应解析范围内的所有Facebook元素。