0

I'v mis en place un compteur de partage avec Facebook Open Graph actions, ici le code:Facebook Open Graph se actions - reload problème de cache

 <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> 

Par défaut, les fonctions appelées dans le document prêt à imprimer le compteur part du page actuelle à l'intérieur d'une plongée. Si les utilisateurs cliquent sur .shareBtn, j'ouvre une boîte de dialogue de partage. Lorsque le partage est réussi, je ré-appelle la fonction de partage pour recharger et mettre à jour le nombre de partages. Je ne connais pas les raisons mais le compteur n'est pas rafraichissant. la seule façon de rafraîchir le compteur est de recharger la page. Aucun conseil?

J'ai essayé:

  • en utilisant GET à la place du test POST
  • Essayé d'omettre le "scrape: true" dans les données param.
  • En utilisant le code « directement » sans fonction

Répondre

0

Essayez de définir un délai d'attente avant que compter rafraîchir votre part

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