使用带有查询字符串的facebook like按钮 - 就像按钮不起作用

时间:2012-10-06 13:32:07

标签: php javascript facebook

我将facebook Like按钮和评论API合并到我的网站中(最后)。现在,在我的网站上,我有一个页面使用查询字符串来确定正确的内容(我的网站有超过4000个条目,我们这个查询字符串)。因此,对于用户来说,这一页看起来像很多,想到这样......

productPage.php?productID=1234

现在我可以添加注释API而没有任何问题,它可以区分URL /查询字符串中的差异,这很好。然而,Like按钮不起作用。你点击它然后它闪烁并返回它是如何(它没有注册喜欢)。我正确编码了URL(见下文)

<?php
   $fbUrl = urlencode("https://" . $_SERVER["HTTP_HOST"] . $_SERVER['REQUEST_URI']);
   // echo "this page is " .  $fbUrl;
?>

<script>

 window.fbAsyncInit = function() {
        FB.init({
          appId      : 'XXXXXXXXXXXXXXXXX', // App ID
          channelUrl : '//www.myURL.co.uk/channel.php', // Channel File
          status     : true, // check login status
          cookie     : true, // enable cookies to allow the server to access the session
          xfbml      : true  // parse XFBML
        });

        // Additional initialization code here
      };

</script>

Oh I love this content....
<br><br>

<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&appId=205472122918257";
    fjs.parentNode.insertBefore(js, fjs);
 }(document, 'script', 'facebook-jssdk'));
</script>

<div class="fb-like" data-href="<?php echo $fbUrl; ?>" data-send="true" data-width="450" data-show-faces="false"></div>
<br><br>
and add a comment...
<br><br>
<div class="fb-comments" data-href="<?php echo $fbUrl; ?>" data-num-posts="2" data-width="470" data-colorscheme="dark"></div>

我已经花了几个小时在这上面,并注意到其他人也受此影响,但似乎没有人有解决方案。虽然我正在网上搜索试图寻找解决方案,但是有人找到了解决这个问题的方法吗?

2 个答案:

答案 0 :(得分:0)

您是否使用开放图调试器检查了您的页面?

https://developers.facebook.com/tools/debug

答案 1 :(得分:0)

引用:

https://developers.facebook.com/docs/reference/plugins/like/(在赞按钮上)

https://developers.facebook.com/docs/reference/javascript/(在FB JavascriptSDK上)

这里的不同之处在于脚本的重新排序。此外,XFBML包含在此示例中(作为您使用的HTML5方法的替代方法)。

<html xmlns:fb="http://ogp.me/ns/fb#">
<head>....</head>
<body>
    <div id="fb-root"></div>
    <script>
      window.fbAsyncInit = function() {
        // init the FB JS SDK
        FB.init({
          appId      : 'YOUR_APP_ID',                        // App ID from the app dashboard
          channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel file for x-domain comms
          status     : true,                                 // Check Facebook Login status
          xfbml      : true                                  // Look for social plugins on the page
        });

        // Additional initialization code such as adding Event Listeners goes here
      };

      // Load the SDK asynchronously
      (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&appId='YOUR APP ID'";
         fjs.parentNode.insertBefore(js, fjs);
       }(document, 'script', 'facebook-jssdk'));
    </script>

    <fb:like href="<?php echo $fbUrl; ?>" send="true" width="450" show_faces="true"></fb:like>
</body>
</html>