【问题标题】:Facebook Open Graph get shares - reload cache issueFacebook Open Graph 获取共享 - 重新加载缓存问题
【发布时间】:2016-12-27 14:51:55
【问题描述】:

我已经使用 Facebook Open Graph Shares 实现了一个共享计数器,代码如下:

        <script>
          function GetShareTargetCMS(){
            var token = 'XXXXXXXXXXXXXXX|YYYYYYYYYYYYYYYYYYYY';
             $.ajax({
               url: 'https://graph.facebook.com/',
                 dataType: 'jsonp',
                 type: 'POST',
                 cache: false,
                 data: {access_token: token, id: "http://url-to-share", scrape:true  },
                 success: function(data){
                   console.log(data.share);
                     if(typeof data.share != 'undefined'){
                       $('.results_share').empty().html('<span>'+data.share.share_count+'</span>');
                     }else{
                       $('.results_share').empty().html('<span>0</span>');
                     }//else
                 }//success
             });
          }//GetShareTargetCMS
          //Get Condivisioni
          $(document).ready(function() {
              GetShareTargetCMS();
           });
           //Get Condivisioni


    //Share trigger dialog
    document.getElementById('shareBtn').onclick = function() {
              FB.ui({
                method: 'share',
                mobile_iframe: true,
                href: "http://url-to-share",
              }, function(response){ GetShareTargetCMS(); });
            }

</script>

默认情况下,在文档就绪中调用的函数会打印潜水内当前页面的共享计数器。如果用户单击 .shareBtn,我会打开一个共享对话框。当共享成功时,我会重新调用共享函数以重新加载和更新共享计数。我不知道原因,但柜台不刷新。刷新计数器的唯一方法是重新加载页面。有什么建议吗?

我试过了:

  • 使用 GET 代替 POST
  • 试图在数据参数中省略“scrape: true”。
  • 在没有函数的情况下“直接”使用代码

【问题讨论】:

    标签: javascript jquery facebook facebook-javascript-sdk facebook-opengraph


    【解决方案1】:

    尝试在刷新您的共享计数之前设置一个超时

    document.getElementById('shareBtn').onclick = function() {
              FB.ui({
                method: 'share',
                mobile_iframe: true,
                href: "http://url-to-share",
          }, function(){setTimeout(function(){GetShareTargetCMS()},1000) });
    }
    

    【讨论】:

      猜你喜欢
      • 2015-09-28
      • 2016-03-25
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多