Bonjour,
Pour le travail, je dois convertir une chaîne xml en html à l'aide de jquery, sous firefox, aucun problème mais pour Internet Explorer c'est autre chose.
Ma chaine xml:
Le bout de code qui pose problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <slide theme_url="" theme_color="red"> <text top="10px" left="10px" height="100px" width="200px" align="left">Contenu <b>de</b> la <i>zone</i> de <u>texte.</u></text> <img src="http://www.google.com/intl/en_ALL/images/logo.gif" top="10px" left="220px" /> </slide>
Dans cette fonction, je récupère le textarea qui contient la chaîne xml que je souhaite parser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 function xmlToHtml(textarea){ var slide = $(textarea.val()); var theme_url = slide.attr('theme_url'); var theme_color = slide.attr('theme_color');; content = $('<div></div>'); slide.children().each(function(){ var nodeName = $(this).get(0).nodeName.toLowerCase(); switch(nodeName){ case 'text': var text = $('<div></div>'); text.css({ position: 'absolute', left: $(this).attr('left'), top:$(this).attr('top'), height:$(this).attr('height'), width:$(this).attr('width'), align:$(this).attr('align') }); text.append($(this).html()); content.append(text); break; case 'img': var img = $('<img>'); img.css({ position: 'absolute', left: $(this).attr('left'), top:$(this).attr('top'), height:$(this).attr('height'), width:$(this).attr('width') }); img.attr('src',$(this).attr('src')); content.append(img); break; default: alert('erreur'); break; } }); return content.html(); }
Sous Internet Explorer je reçois une chaine vide
et Sous Firefox je reçois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <div style="position: absolute; left: 10px; top: 10px; height: 100px; width: 200px;">Contenu <b>de</b> la <i>zone</i> de <u>texte.</u></div><img src="http://www.google.com/intl/en_ALL/images/logo.gif" style="position: absolute; left: 220px; top: 10px;">
Je viens de passer 2h sur ce problème et je ne sais toujours pas d'où peut venir cet erreur (je n'ai pas de message d'erreur qui s'affiche et j'ai testé sous IE6 et 7)
Partager