2011-06-29 2 views
4

je me suis coincé dans un problème. J'ai un fancybox à l'intérieur d'un iFrame, et ça fonctionne normalement, mais j'en ai besoin pour s'étendre en dehors de l'iFrame afin qu'il puisse remplir tout l'écran (je veux dire étendre à son parent).Fancybox l'intérieur d'un iFrame à l'extérieur

Est-ce que quelqu'un sait comment faire cela?

Répondre

8

Si la page et l'iframe sont dans le même domaine, vous pouvez ouvrir la fenêtre fancybox dans le parent de l'intérieur du iframe. Découvrez the demo.

Parent fenêtre (contient le script fancybox, css et iframe)

<iframe src="child-page.htm" height="250" width="500"></iframe> 

enfants Page (contient le script d'appeler fancybox dans le parent)

$('a').click(function() { 
    // target the parent window (same domain only) 
    // then call fancybox in the parent 
    // You can add any HTML you want inside the fancybox call 
    window.parent.$.fancybox('<img src="http://farm5.static.flickr.com/4058/4252054277_f0fa91e026.jpg" height="333" width="500">'); 
}); 
+0

Bien que j'ai supprimé l'iFrame, la solution que j'ai utilisée avant de retirer l'iFrame était similaire à la réponse de @fudgey! Merci encore =) –

+0

Comment pouvez-vous styler une telle fancybox? Par exemple: ''showCloseButton': false'? –

+0

@Drejon La feuille de style pour fancybox doit être chargée dans la fenêtre parent avec le script. – Mottie

0

Il est impossible. Les Iframes sont des pages indépendantes et ne peuvent interagir avec le parent que via JavaScript, et même dans ce cas, c'est un comportement loufoque.

Votre fancybox ne peut pas étendre hors de l'iframe, peu importe ce que vous faites, mais avec un peu de travail vous pouvez appeler à un sur la page parent via JavaScript.

Ce poste répondra à votre question dans les deux directions (parent -> iframe, iframe -> parent): Invoking JavaScript code in an iframe from the parent page

Comme une note de côté, iframes est tombé de la mode il y a environ 5 ans. Je les éviterais dans toute nouvelle production.

Vive. :)

+0

Merci beaucoup Adam! Je connais ce vieux problème sur l'iFrame, mais le client m'a demandé de l'utiliser, donc, j'ai utilisé! Il était nécessaire sur l'entreprise ...: D Je vais vérifier le lien, et vous nourrir! –

+0

Nous connaissons tous cette chanson. Si vous avez trouvé ma réponse exacte, cochez la case en cochant la case à gauche. Merci. –

+1

Les iframes sont toujours très utiles. YouTube et Vimeo (et j'en suis sûr) utilisent maintenant des iframes au lieu de vidéos intégrées pour que vous puissiez les regarder sur un iPad. – Mottie