Jquery iframe crossdomain dynamique de la hauteur
Est-ce même possible avec jquery, sans encombrants plugins?
Je sais qu'il y a beaucoup de plugins et des solutions de rechange, je suis à la recherche de la plus courte, robustest & plus la plus propre (de préférence en s'appuyant sur jquery)
Ici de base jsfiddle essai vos pensées:
http://jsfiddle.net/3vPJd/
qu'entendez-vous par la dynamique de la hauteur? comme redimensionne la fenêtre ou quoi exactement?
depuis la page parent n'a pas accès au contenu de l'iframe (c'est à partir d'un autre domaine), la page parent ne peut pas comprendre ce que la hauteur du contenu de l'iframe est.
Je veux avoir l'iframe copie de la hauteur de la 3ème partie de la page.
oui, mais comment allez-vous pour obtenir la hauteur de la 3ème partie de la page? la page parent n'a pas accès à cette information.
Voici un exemple: css-tricks.com/examples/iFrameResize/...
depuis la page parent n'a pas accès au contenu de l'iframe (c'est à partir d'un autre domaine), la page parent ne peut pas comprendre ce que la hauteur du contenu de l'iframe est.
Je veux avoir l'iframe copie de la hauteur de la 3ème partie de la page.
oui, mais comment allez-vous pour obtenir la hauteur de la 3ème partie de la page? la page parent n'a pas accès à cette information.
Voici un exemple: css-tricks.com/examples/iFrameResize/...
OriginalL'auteur Writecoder | 2011-09-15
Vous devez vous connecter pour publier un commentaire.
Je dois aller avec "C'est pas possible" en raison du fait que la page parent ne peut pas obtenir la hauteur de la 3ème partie de la page, puisque c'est à partir d'un domaine différent de celui de la page parent.
Edit: Il est possible de faire cela si vous avez un certain contrôle de la 3ème partie de la page.
Personnellement, je voudrais juste utiliser la méthode qu'ils ont déjà mis en œuvre, il ne nécessite pas de jQuery, il suffit d'inclure le frame.js.
À ce stade, tout ce que vous avez besoin est une méthode sur la page parent qui écoute lorsque les modifications de hachage et redimensionne l'iframe en conséquence, ce qui est déjà écrit par le site lié. il est très propre solution déjà, pas de réel besoin de la modifier. Il peut être trouvé ici.
voir mon commentaire ci-dessus. ce site utilise un script inclus dans la 3ème partie du site, cela signifie que vous devez avoir le contrôle de la 3ème partie du site. Si c'est le cas, alors oui c'est possible, il suffit d'ajouter un hachage de la fenêtre.haut.l'emplacement et l'écouter pour le hachage de changement sur la page parent. Si c'est le cas, je peux vous donner des code très simple qui permettra de le faire.
il aurait besoin d'un gestionnaire d'événement pour la fenêtre.redimensionner, cela devrait être possible sans jQuery. la page parent aurait juste besoin d'écouter de la hashChange de l'événement(et de mettre en œuvre une méthode pour faire de même dans les navigateurs qui ne soutien à cet événement) et de les redimensionner l'iframe à chaque fois que le hachage des changements à la valeur prédéterminée.
Je ne le pense pas, puisque la barre de défilement est la partie de la fenêtre que vous n'avez pas accès.
Si c'est d'un autre domaine, qui va lancer une
same-origin
et/ouaccess denied
erreur.OriginalL'auteur Kevin B
Cette petite bibliothèque à faire ce que vous voulez. Il utilise
postMessage
en parler entre l'iFrame et le parent, de sorte que les œuvres de la croix de domaine. Il utilise égalementMutationObserver
etEventListeners
pour détecter les changements de contenu et de garder l'iFrame correctement dimensionné.https://github.com/davidjbradshaw/iframe-resizer
OriginalL'auteur David Bradshaw