Le bouton Facebook Like semble parfois parfois pas

J'ai un problème étrange avec des boutons similaires sur mon site. Lorsque j'entre dans une page, elle s'affiche correctement, qu'après l'actualisation, elle n'apparaît pas et j'ai une erreur javascript

FB.provide is not a function [Break on this error] FB.provide('Array',{indexOf:function(a...|c.hasOwnProperty(d))a(c[d],d,c);}}); 

L'initialisation et l'inclusion asynchrone de js ressemblent à ceci

 <body> <div id="fb-root"></div> <script type="text/javascript"> window.fbAsyncInit = function() { FB.init({appId: 'fffffffffffffffffffffffffffffff', status: true, cookie: true, xfbml: true}); }; (function() { var e = document.createElement('script'); e.type = 'text/javascript'; e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; e.async = true; document.getElementById('fb-root').appendChild(e); }()); </script> 

Et voici le code d'entrée des boutons similaires et partage:

 <fb:like href="<%= link -%>" layout="button_count" font="arial"></fb:like> <a title="Share" name="fb_share" type="button_count" share_url="<%= link -%>" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script> 

Des idées ?

J'ai trouvé que l'ordre est également important, alors lorsque vous chargez les fichiers de manière dynamique, tous les jj devraient être chargés avant FB.share js

 <script type="text/javascript"> window.fbAsyncInit = function() { FB.init({appId: 'xxxxxxxxxxxxxxxxxxxxxxx', status: true, cookie: true, xfbml: true}); }; (function() { var e = document.createElement('script'); e.type = 'text/javascript'; e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; e.async = true; document.getElementById('fb-root').appendChild(e); }()); $(document).ready(function(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = 'http://static.ak.fbcdn.net/connect.php/js/FB.Share'; s.async = true; document.getElementById('fb-root').appendChild(s); }); </script> 

Je pense que j'ai trouvé la solution.

Lorsque j'ai chargé le fichier all.js comme vous l'avez fait, j'ai également eu un problème, mais quand j'ai téléchargé all.js manuellement et l'ai copié quelque part sur le site. Après cela, le chargement à travers l'étiquette du script a permis de résoudre ce problème.