Maison > interface Web > js tutoriel > Comment puis-je redimensionner dynamiquement la hauteur d'un iFrame pour adapter son contenu à tous les navigateurs ?

Comment puis-je redimensionner dynamiquement la hauteur d'un iFrame pour adapter son contenu à tous les navigateurs ?

Mary-Kate Olsen
Libérer: 2024-11-29 18:40:10
original
672 Les gens l'ont consulté

How Can I Dynamically Resize an iFrame's Height to Fit its Content Across Browsers?

Redimensionnement dynamique de la hauteur de l'iFrame pour correspondre au contenu

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.

Comprendre le défi 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).

La solution optimale

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";
    }   
}
Copier après la connexion

Implémentation

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>
Copier après la connexion

Utilisation étendue Cas

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();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal