2010-10-04 3 views
0

J'ai créé une application qui publie sur le mur de l'utilisateur. Le problème est, la première fois que l'utilisateur accède à la page, le FB.ui n'apparaît pas. Après un rechargement, cela fonctionne parfaitement. La première fois, je veux dire quand l'utilisateur donne des autorisations à l'application, OU quand il a déjà donné des autorisations. Dans les deux scénarios, le problème se produit. Des idées, des gens?FB.ui ne fonctionne pas la première fois. Aidez-moi!

FB.init({ 
    appId : "XXXX", 
    status : true, 
    xfbml : true, 
    cookie : true 
}); 
FB.ui(
{ 
method: 'stream.publish', 
message: 'test message' 
     } 
); 

Répondre

0

Commentaire # 70 par Will Kessler à: http://bugs.developers.facebook.net/show_bug.cgi?id=12849 fixé mon problème. C'est un hack, mais ça fonctionne parfaitement :) J'ai eu un autre bug lié à cela (FB.ui does not work inside FB canvas. HELP!), et il a également été corrigé en utilisant ceci. FB API est sérieusement buggé! : |

+0

http://bugs.developers.facebook.net/show_bug.cgi?id=12849 ne fonctionne plus. Pouvez-vous fournir un lien mis à jour ou des détails de la solution? – Curt

0

C'est un problème fréquent dans JS, avec des choses comme essayer de calculer dans quelle mesure un élément a été déplacé, et il ne commence à compter après la première itération.

You need to wrap your js in window.onload = function() { 

} 

Bien que ce soit buggy cross-navigateur, et ne peut pas résoudre le problème. Avez-vous entendu parler de jQuery, son:

$(document).ready(function() { 
} 

Si une solution très robuste pour ths problème

+0

J'ai déjà essayé jQuery, et essayé d'encapsuler le code dans $ (document) .ready ainsi que $ (window) .load, mais sans effet. Le problème se produit toujours. –

+0

Tout le code js brut dans la tête de la page sera chargé avant le chargement de la page. Pouvez-vous l'implémenter de cette manière? –

Questions connexes