Appel de fonctions JavaScript dans une Iframe à partir de la page parent
Lorsqu'une iframe est intégrée dans une page Web, elle crée un environnement sandbox qui isole le code qu'il contient à partir de la page parent. Cependant, il peut y avoir des scénarios dans lesquels vous devez accéder et invoquer des fonctions JavaScript définies dans l'iframe à partir de la page parent.
Comprendre le défi
L'approche standard, appelant parent.functionName() depuis l'iframe, ne fonctionne pas dans ce cas. En effet, la page parent n'est pas le parent immédiat de l'iframe, mais plutôt l'environnement virtuel sandbox de l'iframe.
Accès à la fenêtre de contenu de l'iframe
Pour accéder et invoquer Fonctions JavaScript dans l'iframe, vous devez obtenir une référence à sa propriété contentWindow. Cette propriété représente l'objet window de l'iframe, vous donnant accès à ses variables globales, ses fonctions et son DOM.
Invocation de fonctions JavaScript
Une fois que vous avez le contentWindow référence, vous pouvez appeler des fonctions JavaScript dans l'iframe en utilisant la syntaxe suivante :
document.getElementById('iframeID').contentWindow.functionName();
où iframeID est l'attribut id du iframe.
Accès aux cadres à l'aide de window.frames
Vous pouvez également utiliser window.frames pour accéder à votre iframe. Lorsque vous utilisez cette méthode, vous devez noter qu’elle n’est peut-être pas prise en charge par tous les navigateurs modernes. La syntaxe de cette approche est :
window.frames[0].frameElement.contentWindow.functionName();
Exemple
Supposons que votre iframe ait un identifiant de "targetFrame" et que la fonction que vous souhaitez appeler s'appelle "targetFunction ()":
document.getElementById('targetFrame').contentWindow.targetFunction();
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!