2010-08-19 7 views

Répondre

3

Le IFRAME besoin d'envoyer à la page principale de sa taille corporelle.

Pour les navigateurs modernes, vous pouvez utiliser parent.postMessage à partir de l'IFRAME et avoir un écouteur dans la page principale pour recevoir la valeur et redimensionner l'IFRAME.

Pour les navigateurs plus anciens, vous pouvez utiliser des astuces comme les données passant par windows.name dire ou window.location.hash Mais avec ces trucs que vous aurez au sondage avec un setInterval pour vérifier les modifications.

+0

Merci beaucoup pour les détails –

+1

voici un exemple d'article et de code de raffinements à cette méthode de hachage: http://www.onlineaspect.com/2010/01/15/backwards-compatible- postmessage/ – Kyle

+0

Et voici un exemple facile sur stackoverflow: http://stackoverflow.com/questions/5606920/cross-domain-iframe-resizer/6940531#6940531 – thomax

-2

essayer d'appeler une fonction de fenêtre parent de votre iframe

+3

Cela ne fonctionne pas domaine croisé – Mic

0

@Rohit Je vous suggère de jeter un oeil sur ce site. Cela devrait résoudre votre problème http://benalman.com/projects/jquery-postmessage-plugin/

Une démo fonctionnelle est disponible ici: http://benalman.com/code/projects/jquery-postmessage/examples/iframe/

Je prévois d'utiliser cette technique pour un projet de mine après que j'ai vu que je suis en mesure de calculer la hauteur dans le domaine en utilisant query et postmessage. Ce qui est bien, c'est que ce sera par défaut document.location.hash pour les navigateurs plus anciens.

Questions connexes