Envoyé par : vinz
Date : 29/03/2011 02:06
Bonjour,
Pour mon extension, j'ai un .js rassemblant toutes mes fonctions. J'ai aussi 2 .xul correspondant à des window. L'un d'eux contient : <window id="list_window" .......>
Quand je fais dans mon .js : list_window = document.getElementById("list_window"), une erreur est levée, list_window est null
Comment accéder à ma window pour ensuite y insérer ou modifier des elements ?
Merci
Envoyé par : mistervince
Date : 29/03/2011 09:27
salut
tu peux récupérer directement l'élément window du document sans utiliser d'id avec
var win = document.documentElement;
Envoyé par : vinz
Date : 29/03/2011 09:44
Comment mon code peut alors deviner que je parle de ma window "list_window" et pas de mon autre fenêtre ?
Au niveau du lancement de ma fonction, elle est exécuté à partir d'une autre qui elle, ouvre la window (et fait tout un tas de choses)...
Envoyé par : mistervince
Date : 29/03/2011 14:06
Je pense qu'il s'agit d'un problème de contexte javascript.
Si tu ouvres ta fenêtre avec window.open(), c'est normal que document.getElementById('list_window') ne retourne rien puisque 'document' est dans ce cas le document de départ (sans list_window mais avec un autre élément window) et pas celui que tu viens d'ouvrir (dans lequel list_window existe).
Par contre, je crois que window.open() retourne une référence vers la window ouverte. A partir de là, tu peux récupérer le document de la fenêtre qui vient de s'ouvrir et manipuler le DOM comme d'habitude.
Ca donne quelque chose comme ça :
var win = window.open(...); //la nouvelle fenêtre s'ouvre var list_window = win.document.documentElement; //ou var list_window2 = win.document.getElementByid('list_window');
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.