4

Est-il possible via n'importe quelle option de configuration de dire à XMLSerializer de JavaScript de ne pas réduire les balises vides en balises à fermeture automatique? J'alimente une chaîne xml dans l'analyseur xml, puis je la resérialise après avoir apporté des modifications à l'arborescence, mais lorsque j'ai une balise de fermeture explicite dans l'entrée, elle est réduite à une balise à fermeture automatique qui cause des problèmes.Forcer XMLSerializer à ne pas réduire les balises vides?

+0

Avait tellement d'espoir sur cette question. Même problème ici, textarea effondré (Ajax4JSF) utilisé dans outerHTML = "xxxx" est complètement déconner tout. –

+0

Problème similaire lors de la conversion d'un objet XHR response.responseXML en chaîne à l'aide de XMLSerializer dans IE11. Renvoie des balises de script auto-fermées qui ne s'affichent pas dans IE. Vous envisagez d'utiliser regex pour résoudre ce problème, tout le monde a une autre solution – gusaindpk

Répondre

0

bien n'a pas pu trouver quoi que ce soit, mais depuis que j'utilisais JQuery j'utilisé ceci:

$('<div>').append($(mynode).clone()).html(); 

au lieu de

new XMLSerializer().serializeToString(mynode); 

la version JQuery ne va pas avec des étiquettes auto-fermeture.

Note: Mon problème est seulement avec IE11 donc j'utilisé:

if (Object.hasOwnProperty.call(window, "ActiveXObject") && !window.ActiveXObject && window.jQuery) { 
    // is IE11 && Jquery 
    $('<div>').append($(newnode).clone()).html(); 
} else { 
    oldnode.outerHTML = new XMLSerializer().serializeToString(newnode); 
} 
0

Si vous n'avez pas jquery disponible et voulait seulement passer par voie xmlserialzer, vous pouvez également utiliser package NPM « xmldom ».

var serializer = require('xmldom').XMLSerializer; 
var str = serializer.serializeToString('your node'); 

Il prend en charge les étiquettes à fermeture automatique (par exemple, les étiquettes de script). NPM xmldom Fonctionne bien dans IE11.

+0

Vous pouvez prendre référence à partir du lien git hub ci-dessous qui utilise le xmldom pour IE. https://github.com/futurepress/epub.js/blob/v0.3/src/section.js#L96 – gusaindpk

Questions connexes