2017-05-31 2 views
0

J'essaie de mettre un message facebook 'envoyer à messenger' sur mon site. Jusqu'à présent, j'ai fait des changements, et le bouton apparaît de temps en temps, mais la plupart du temps ce n'est pas le cas.Facebook Messenger Opt In bouton n'apparaît parfois

Le code que je dois le charger est ici:

<body> 
    <div id="fb-root"></div> 
    <script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
     appId: Meteor.settings.public.FacebookAppId, 
     xfbml: true, 
     version: "v2.6" 
     }); 
     console.log('something in the fb init worked') 
    FB.Event.subscribe('send_to_messenger', function(e) { 
     console.log("messenger_checkbox event"); 
     console.log(e); 
     if (e.event == 'rendered') { 
      console.log("Plugin was rendered"); 
     } else if (e.event == 'not_you') { 
      console.log("User clicked 'not you'"); 
     } else if (e.event == 'hidden') { 
      console.log("Plugin was hidden"); 
     } 
    }); 
    if (typeof (FB) != 'undefined'&& FB != null) { FB.XFBML.parse(); } 
    console.log('This then worked as well') 
    }; 
    (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/sdk.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
    </script> 
    <div class='react' id="react-root"></div> 
</body> 

Il semble que la fonction FB.Event.subscribe n'est pas appelé soit à chaque fois que le bouton ne se charge pas.

Le code pour charger le bouton réelle est ici:

 <div className="fb-send-to-messenger" 
      data-messenger_app_id={Meteor.settings.public.FacebookAppId} 
      data-page_id={Meteor.settings.public.FacebookPageId} 
      data-ref="PASS_THROUGH_PARAM" 
      data-color="blue" 
      data-size="standard"> 
      </div> 

Répondre