comment le recharger tout en haut de la fenêtre de l'iframe?
Je suis l'élaboration d'un facebook app qui a la suivante "structure":
Browser window (facebook.com/page/xxxx)
-- My app's iframe
-- Like button's iframe
Je suis à l'aide d'un bouton j'Aime dans mon application, de sorte que c'est une iframe dans un iframe, lorsque l'utilisateur clique sur le bouton "like", j'aimerais vous montrer le contenu de sorte que la page actuellement ressemble à quelque chose comme ceci:
if ( is_fan() ) {
//show content
} else {
//show like button plus other text
}
La logique réelle de vérifier si l'utilisateur est déjà un ventilateur fonctionne comme prévu, le problème est que lorsque je clique sur le bouton j'aime j'ai besoin de toute la page se recharge, afin de montrer le "fan de contenu", si je fais ceci:
FB.Event.subscribe('edge.create', function(href, widget) {
top.location.reload();
});
La page semble pour recharger mais tout reste le même, mais si je clique sur "j'Aime" et cliquez sur le bouton actualiser dans mon navigateur, tout s'affiche très bien.
Quelqu'un peut m'aider à comprendre cela?
Merci d'avance!
OriginalL'auteur Javier Villanueva | 2011-05-10
Vous devez vous connecter pour publier un commentaire.
Nous de référence le facebook de la page parent comme
top
.utilisation
top.location.href="";
outop.location.reload();
Se il avait à utiliser:
top.location.href="http://www.myappsurl.com";
Ne fonctionne pas sur Chrome...
Le problème avec cette approche est qu'il va demander à l'utilisateur s'il veut soumettre à nouveau le formulaire.
c'est si vous êtes en utilisant .reload(). Facebook messages signed_requests de l'iframe à l'aide d'un formulaire. par conséquent, si l'iframe de la recharge, le POST_DATA envoyé de nouveau et demande confirmation. Si vous utilisez .href="YOUR_URL"; vous ne verrez pas cette
OriginalL'auteur dragonjet
Ni
top.location.href="";
outop.location.reload();
a fonctionné pour moi.J'ai eu à utiliser
top.location.href="http://www.facebook.com/appurl";
OriginalL'auteur Scott Joudry
Essayer
top.location.reload(true);
au lieu detop.location.reload();
Extrait de http://www.w3schools.com/jsref/met_loc_reload.asp:
OriginalL'auteur Gerard Torrent
Pour recharger vous pouvez utiliser
top.location.href = top.location.href;
OriginalL'auteur spaark