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!