J'ai besoin d'autoheight un iframe avec un src de domaine croisé, j'ai essayé avec javascript, mais j'obtiens un "accès refusé" quand j'essaye d'obtenir la taille de iframe contentWindow. quelqu'un connaît une méthode?Iframe avec autoheight
Répondre
ItzWarty a raison: la page parente ne peut pas communiquer avec le document enfant, même pour connaître sa hauteur. En 2008, Michael Mahemoff a posté une vue d'ensemble détaillée de Cross-Domain Communication with IFrames qui peut vous fournir quelques conseils. L'espoir est sur le chemin, cependant - HTML5 inclut une amélioration à cette situation appelée "Cross-document messaging" qui est prise en charge dans Firefox 3, Safari 4, Chrome 2, Opera 9.2 et même IE ... 8. Si vos utilisateurs sont en utilisant seulement les navigateurs supportés, vous pouvez l'utiliser. Peut-être que vous pourriez définir l'attribut "scrolling" sur l'élément IFRAME sur "auto" par défaut et tester pour window.postMessage - s'il réussit, mettez "scrolling" à "no" et utilisez une fonction pour dimensionner l'IFRAME en conséquence.
J'ai récemment traité un problème similaire (page parent de domain.tld encadrant une page sur blog.domain.tld) mais j'ai été capable d'utiliser "le vieux document.domain hack" décrit par Mahemoff, bien qu'il ne soit pas supporté dans Opera.
Bonne chance.
Si vous avez créé un proxy sur votre serveur qui a récupéré le contenu, JavaScript n'aurait pas cette restriction.
Le problème de domaine est seulement un problème que vous rencontrez - IE8 est l'autre. Même si vous pouvez accéder à l'iframe, IE8 ne peut pas récupérer correctement les informations body.clientHeight. Firefox fonctionne bien ...
- 1. DataGroup TileLayout autoheight
- 2. Winforms zone de texte autoheight
- 3. TableLayoutPanel Rangs AutoHeight Autour du texte?
- 4. Iframe avec jquery
- 5. Masquer div avec iframe
- 6. accès iframe avec DOM
- 7. Remplacer IFrame avec div
- 8. iframe dans iframe
- 9. get $ _SERVER ['HTTP_X_REQUESTED_WITH'] avec iframe
- 10. Simplemodal avec IE et Iframe
- 11. J'ai un problème avec IFrame
- 12. Application Facebook IFrame avec httpS
- 13. Problème avec Doctype et iFrame
- 14. Contenu UIWebView avec iframe déroulant
- 15. MVC iframe avec ASPX classique
- 16. Redimensionnement iFrame avec jQuery UI
- 17. Rails3 télécharger ajax avec Iframe
- 18. Problème avec iframe le lisant
- 19. IFrame ciblant un autre IFrame
- 20. Problème P3P avec IE et iframe
- 21. charge iframe en html, seulement avec jquery
- 22. Obtenir des données de iframe avec JavaScript
- 23. CSS/HTML: Comment simuler IFRAME avec CSS?
- 24. Comment gérer avec élégance le disjoncteur iframe?
- 25. Google chrome onbeforeunload comportement incorrect avec iframe
- 26. Boîte de dialogue modale Jquery avec iframe
- 27. Ciblage d'un iFrame une fois avec jQuery
- 28. Iframe avec le centre de l'image parent
- 29. Iframe Problème Cookie Avec Internet Explorer
- 30. iframe redimensionner avec scrollheight dans chrome/safari
Vous ne pouvez pas obtenir le contenu de l'iframe probablement parce que l'iframe cible se trouve sur un domaine/port/protocole différent. Qu'est-ce que tu colle dans l'iframe? parce qu'il pourrait y avoir une approche pour votre situation. – Warty
Je colle une page de sous-domaine dans l'iframe, et je trouve un moyen de la faire fonctionner, je ne fais que définir le même domaine dans les deux pages, et ainsi obtenir le iframe contentWindow sans le message "Accès refusé". c'est le script document.domain = "votredomaine.com;" Avec ceci, vous pouvez utiliser le sous-domaine croisé javascript scripting. Merci! P.D. Désolé pour mon anglais! : S –
eos87