Maison >interface Web >js tutoriel >Comment accéder aux éléments d'un iFrame à l'aide de JavaScript ?

Comment accéder aux éléments d'un iFrame à l'aide de JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-13 14:17:02198parcourir

How to Access Elements Inside an iFrame Using JavaScript?

Accès aux éléments iFrame à l'aide de JavaScript

Dans un scénario où vous avez une page Web avec un iFrame contenant une zone de texte, vous pouvez rencontrer des difficultés pour accéder à la valeur de la zone de texte à l'aide des techniques JavaScript standard . En règle générale, vous utiliserez window.parent.getElementById().value pour récupérer les valeurs dans la page parent. Cependant, cette approche échoue pour les iFrames en raison de leur nature isolée.

Pour résoudre cette limitation, une solution dynamique est requise, car les ID et les noms des iFrame peuvent changer pendant l'exécution. La clé réside dans l'accès au contenu iFrame sans se fier à son identifiant ou à son nom. Le code JavaScript suivant fournit une solution complète :

function iframeRef( frameRef ) {
    return frameRef.contentWindow
        ? frameRef.contentWindow.document
        : frameRef.contentDocument
}

var inside = iframeRef( document.getElementById('one') )

Ce code prend la référence iFrame et identifie dynamiquement si l'iFrame utilise un contentWindow ou un contentDocument. Il attribue ensuite la référence à la variable inside.

Avec la variable inside, vous pouvez désormais accéder aux éléments au sein de l'iFrame et, dans ce cas précis, à la zone de texte :

inside.getElementsByTagName('textarea')

Ceci une solution complète fournit un accès fiable aux éléments à l'intérieur des iFrames, quels que soient leurs identifiants ou noms qui changent au moment de l'exécution.

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!

Déclaration:
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