Je crois que j'ai trouvé ce qui plante IE.
Si j'écris :
var comment = $(xml).find('album').find('common').find('comment').text();
IE ne plante pas. Par contre, si j'écris :
var comment = $(xml).find('album').find('common').find('comment').html();
IE plante.
Il semblerait que le tandem JQuery / IE ne sache pas ramener la valeur HMTL de la balise, mais seulement son contenu texte.
C'est très ennuyeux pour moi, car j'ai besoin de passer du HTML dans les valeurs, ne serait-ce que pour des retours à la ligne avec <br> ou du passage en gras ou en italique.
J'ai trouvé un moyen secours, c'est de générer du XML déjà préformaté en HTML : la fonction text() récupère le texte avec ses balises en clair, et j'injecte ça dans l'objet cible en tant que HTML. Exemple:
1 2 3 4 5 6
| Dans le fichier XML:
Ceci est un album réalisé entièrement en <em>JavaScript</em><br>Il utilise <strong>JQuery</strong> et WebAlbums
et dans le fichier JS:
var comment = $(xml).find('album').find('common').find('comment').text();
$('#comment').html(comment); |
ça fonctionne et ça donne:Ceci est un album realisé entièrement en JavaScript
Il utilise JQuery et WebAlbums.
Reste que Firefox me renvoie toujours les avertissements "mal formé" pour chaque ligne comprenant un appel à find(). Mais j'ai décidé de passer outre, j'ai déjà perdu trop de temps sur ce problème qui n'est pas bloquant. Heureusement que c'est un projet en freeware, sinon j'aurais mangé la grenouille sur cette affaire.
Si quelqu'un en trouve la raison, merci d'en faire part.
Partager