1

我有一个开发的单页网站,它通过 ajax 加载不同的页面(java-script+html)。我在页脚部分包含了类似 FB 的按钮,这对所有页面都是通用的。现在,问题是每当我从一个页面导航到另一个页面时,直到我刷新整个页面后,like 按钮才会出现。例如,最初,当主页加载时,FB like 按钮出现在页脚中。但是当导航到关于页面时,它不会出现。现在,当 ABOUT 页​​面被刷新时,like 按钮就会出现。在此之后,当我导航回主页时,按钮再次消失。这是我用来在我的页面中嵌入按钮的代码:

    //This is to be included in the html page at the start
    <div id="fb-root"></div>
    <script>(function(d, s, id) {
       var js, fjs = d.getElementsByTagName(s)[0];
       if (d.getElementById(id)) return;
       js = d.createElement(s); js.id = id;
       js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
       fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>

    //Below html block is included where you want to place the FB like button
    <div class="fb-like" data-href="https://www.facebook.com/yourPage" 
         data-colorscheme="light" data-layout="standard" data-action="like" 
         data-show-faces="true" data-send="true"></div>

请注意,页面(HOME 和 ABOUT)在单个父页面上异步加载。

4

1 回答 1

0

发生这种情况是因为 facebook 只初始化一次,并且只有在它初始化自己时,它才会显示您的 FB Like 按钮。

因此,如果您使用 AJAX 导航到另一个站点(顺便说一句,这对 seo 来说有点糟糕),facebook 仍处于初始化状态,并且不知道再次呈现您的 FB Like 按钮。因此,只有重新加载 facebook 才会再次初始化 facebook JS,然后您的 FB Like Button 就会出现。

于 2013-11-06T15:52:37.300 回答