Manipulation des iframes

Parent Previous Next


Manipulation des iframes



Les iframes

Peut-être connaissez-vous l'élément HTML <iframe> ? Pour ceux qui ne le connaissent pas, c'est un élément qui permet d'insérer une page Web dans une autre. Voici un petit rappel de la syntaxe d'une iframe :

<iframe src="file.html" name="myFrame" id="myFrame"></iframe>


Accéder au contenu


Pour accéder au contenu de l'iframe, il faut d'abord accéder à l'iframe elle-même et ensuite passer par la propriété contentDocument :

var frame = document.getElementById('myFrame').contentDocument


Cela dit, pour les anciennes version d'Internet Explorer qui ne prennent pas en charge contentDocument, il suffit de passer par une propriété document. Voici donc le script que nous allons utiliser, qui fonctionne pour tous les navigateurs :

var frame = document.getElementById('myFrame');

 

frame = frame.contentDocument || frame.document;


Une fois que l'on a accédé au contenu de l'iframe, c'est-à-dire à son document, on peut naviguer dans le DOM comme s'il s'agissait d'un document « normal » :

var frame_links = frame.getElementsByTagName('a').length;


Vous souvenez-vous de la règle de sécurité same origin policy ? Eh bien figurez-vous que cette règle s'applique aussi aux iframes ! Cela veut dire que si vous êtes sur une page d'un domaine A et que vous appelez une page d'un domaine B par le biais d'une iframe, alors vous ne pourrez pas accéder au contenu de la page B depuis la page A.

Créé avec HelpNDoc Personal Edition: Créer des documents d'aide HTML facilement

Site à deux balles