web-dev-qa-db-fra.com

FancyBox se ferme depuis iframe et prend la page parent vers le lien

J'ai trouvé que l'application de la fonction suivante à un lien onclose fonctionne pour fermer Fancybox à partir d'un iFrame: parent.$.fancybox.close();

Je veux aller plus loin et demander au lien de rediriger la page parent vers une nouvelle URL. J'ai essayé ce qui suit mais cela ne fonctionne pas:

<a onclick="location.href='http://www.domain.com/page/';parent.$.fancybox.close();"> Close and go to page</a>

en utilisant a href ne fonctionne pas non plus car onclose a priorité.

23
Mr Jonny Wood

Solution très simple ... je ne peux pas croire que je n'y ai pas pensé !!!

<a href="http://www.domain.com/page/" target="_parent"> Close and go to page</a>

Parfois, je jure que j'essaie de rendre les choses plus difficiles qu'elles ne le sont en réalité!

34
Mr Jonny Wood

pas besoin de fermer la boîte de fantaisie simplement utiliser

function name(){
    self.parent.location.href='pageg.php';
}
17
tarshi

Vous pouvez également le faire en écrivant une fonction sur la page parent:

function closeFancyboxAndRedirectToUrl(url){
    $.fancybox.close();
    window.location = url;
}

Ensuite, sur le lien dans l'iframe, vous pouvez le faire:

<a onclick="parent.closeFancyboxAndRedirectToUrl('http://www.domain.com/page/');">Close and go to page</a>
17
Ryan Kohn