Lors de l'intégration d'une page ASPX dans un iFrame, la hauteur de l'iFrame peut ne pas s'adapter correctement à son contenu, ce qui entraîne des barres de défilement indésirables. Pour résoudre ce problème, explorons une solution multi-navigateurs.
L'approche jQuery fournie ajuste avec succès la hauteur de l'iFrame dans Chrome, mais rencontre un problème dans Firefox. Cet écart résulte de variations dans la manière dont les différents navigateurs gèrent les restrictions de script intersite (XSS).
Pour déterminer la hauteur du contenu de l'iFrame, nous exploitons contentWindow.document. corps.scrollHeight. Une fois l'iFrame chargé, nous le redimensionnons dynamiquement à l'aide du JavaScript suivant :
function iframeLoaded() { var iFrameID = document.getElementById('idIframe'); if(iFrameID) { iFrameID.height = ""; iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + "px"; } }
Incorporez ce JavaScript dans la page où vous avez intégré l'iFrame et connectez le gestionnaire d'événements à l'attribut onLoad de la balise iFrame :
<iframe>
Dans les scénarios où les mises à jour de contenu dans l'iFrame nécessitent le déclenchement manuel du redimensionneur, vous pouvez appeler iframeLoaded() à partir des scripts de contenu de l'iFrame :
parent.iframeLoaded();
Cette solution complète fournit des fonctionnalités multi-navigateurs compatibilité pour redimensionner dynamiquement la hauteur de l'iFrame en fonction de son contenu, éliminant ainsi les barres de défilement indésirables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!