Iframes.. IE/Firefox

davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 - 3 févr. 2005 à 15:04
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007 - 4 févr. 2005 à 10:45
Voila, j'ai un petit probleme :


j'ai une page avec un iframe.


voici mon code javascript pour recupérer le premier item de mon iframe.


Code:, ----
var lframe = root.frames (sframe);

var ldiv = root.all(sdiv);

var lbody = lframe.document.all.tags ('BODY').item(0);






ce code fonctionne..sous Internet Explorer.


Sous Firefox, le script n'est pas lu.


je suis obligé de passer par le "getElementById()".


donc voilà ce que ça donne:


Code:, ----
if (document.frames) //IE

{

var lframe = root.frames (sframe);

var ldiv = root.all(sdiv);

var lbody = lframe.document.all.tags ('BODY').item(0);

}

else //Firefox

{

var lframe = root.getElementById(sframe);

var ldiv = root.getElementById(sdiv);

}



dans la partie "Firefox" je ne sais pas comment aller chercher le tage Body, et comment aller chercher son premier item.





QQ'un a-til déjà dû faire face à ce genre de pb?


merci !
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]

1 réponse

cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
4 févr. 2005 à 10:45
Bonjour

L'objet all étant spécifique à internet explorer, il était normal que ton code (le premier) ne marche que ... sous IE. Le fait d'être "obligé" de passer par le getElementById n'est pas une contrainte, bien au contraire, puisque IE est compatible DOM. En utilisant cette syntaxe, tu crée un code "tous navigateurs", donc tu évite la detection du navigateur, etc ...
pour faire référence au body, utilise document.getElementsByTagName("body")[0]
Je sais, c'est lourd à taper, mais là encore tu évites de devoir detecter le navigateur, faire du code pour chaque, etc ... et puis ça entraîne à la frappe au clavier !
Dernière précision : je ne connaîs pas l'objet root

Cordialement
Roro webDev
0
Rejoignez-nous