|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 3 ![]() |
Bonjour,
lorsqu'on utilise un objet xmlhttprequest, responseXML renvoie null si la page demandée n'est pas du XML, peut-ont forcer javascript a interpréter une page (du xhtml notamment) comme du xml ? L'idée est de pouvoir manipuler avec le DOM une page web récupérée via l'objet xhr. merci |
|
|
00
|
|
|
#2 |
![]() Développeur Web Inscription : juin 2004 Messages : 2 148 ![]() |
Salut et bienvenue à toi sur les forums de developpez.com,
Peut-être cela suffirait-il que ton serveur renvoie les entêtes adéquates pour du xml (type mime:application/xhtml+xml) avec la réponse. Ou alors, je pense que les frameworks javascript les plus courants sont capables de transformer un texte représentant du xhtml en représentation DOM...
__________________
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ N'oubliez pas de cliquer sur quand votre question à trouvé une solution.Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais! |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : janvier 2007 Messages : 9 315 ![]() |
Bonjour,
il suffit de récupérer la réponse dans responseText au lieu de responseXML A+ |
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : février 2008 Messages : 3 ![]() |
tout d'abord merci pour vos réponses rapides mais si on utilise responseText, on obtient une chaine de caractère et non pas un objet xml (donc impossible à manipuler avec les méthdes DOM). A défaut de pouvoir changer les en-têtes sur le serveur, on peut utiliser la méthode "overrideMimeType" (http://www.xulplanet.com/references/...errideMimeType) sous Mozilla pour forcer le type côté client. Cela donne quelque chose comme:
Code :
http://robert.accettura.com/archives...metype-in-ie7/ Cette méthode fonctionne mais elle nécessite que la page appelée sous soit parfaitement formée. Or la page que je récupère contient un script sans [CDATA, donc le parser genère une erreur lorqu'il rencontre document.write('<balise'+... J'ai pensé à une autre solution: charger avec responseText, éliminer les scripts avec des expressions régulières et créer un document XML (document.implementation.createDocument) avec la variable épurée. Mais je n'ai pas trouvé de méthode permetant de charger une variable , la méthode load ne gère que les fichiers distants. Existerait-il une fonction pour charger une variable ? |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com