L'objet ne prend pas en charge la propriété ou de la méthode 'transformNode" dans Internet Explorer 10 (Windows 8)
Je vais avoir un peu de JavaScript qui semblent se produire uniquement dans Internet Explorer 10 sur Windows 8 (IE 7, 8, et 9 tous les beaux travaux). La base jist de ce que je suis en train de faire est d'obtenir XML et XSL, à partir d'un service web, puis de les transformer en JavaScript pour rendre sur la page à l'aide du Sys.Net.XMLDOM objet.
XMLDOM = Sys.Net.XMLDOM;
var xsl = //XSL gotten from somewhere else
var xmlString = //XML gotten from somewhere else as a string...
var xml = new XMLDOM(xmlString);
var content = xml.transformNode(xsl);
Lorsque j'utilise le code ci-dessus dans IE 10, j'obtiens:
Objet ne prend pas en charge la propriété ou de la méthode 'transformNode'
Toutes les idées sur pourquoi Internet Explorer 10 est en train de faire cela?
MODIFIER
J'ai aussi essayé ceci:
xmldoc = new ActiveXObject("Msxml2.DOMDocument");
xmldoc.async = false;
xmldoc.load(xml);
xsldoc = new ActiveXObject("Msxml2.DOMDocument");
xsldoc.async = false;
xsldoc.load(xsl);
var content = xmldoc.transformNode(xsldoc);
Qui fonctionne dans toutes les versions précédentes d'IE, mais sous IE 10-je obtenir:
De référence non déclarées préfixe d'espace de noms: 'atom'.
OriginalL'auteur John Chapman | 2012-08-27
Vous devez vous connecter pour publier un commentaire.
IE 9 et râpe ne le supporte pas, essayez cette fonction (trouver en ligne)
href="http://p2p.wrox.com/xslt/29978-confused-about-xml-namespaces.html" >Case, pourrait être utile.
BTW, ça fonctionne parfaitement dans IE9, je suis donc penser qu'il y a une nouvelle touche à tout dans IE10. Tout simplement pas sûr de ce que.
Moi aussi, peut-être vous pouvez google à ce sujet, merci!
Il a travaillé pour moi Win7+IE10. Je vous remercie.
OriginalL'auteur The Alpha
Trouvé la réponse: http://blogs.msdn.com/b/ie/archive/2012/07/19/xmlhttprequest-responsexml-in-ie10-release-preview.aspx
IE 10 nécessite l'utilisation d'un XMLHttpRequest avec le responseType définir comme "msxml-document". Une fois, j'ai changé le code pour que tout fonctionne parfaitement sur tous les navigateurs:
OriginalL'auteur John Chapman
J'ai eu le même problème avec IE 9 et aucune des réponses aidé jusqu'à ce que j'ai cessé d'essayer de charger le
xslt
fichier à l'aide dejQuery
. J'ai chargé le fichier avec un script comme indiqué dans: https://msdn.microsoft.com/en-us/library/ms762796%28v=vs.85%29.aspx.J'étais alors en mesure d'utiliser le
transformNode()
fonction. Voici le script qu'ils ont donné:OriginalL'auteur art guy
Tout d'abord de crédit à Roel van Lisdonk qui a publié la fonction de Cheikh Heera partagé.
J'ai trouvé cette fonction qu'il a n'a pas fonctionné en Chrome, en raison de GetXmlStringFromXmlDoc() j'ai donc utilisé le XMLSerializer:
Ainsi, par exemple:
La fonction révisée est maintenant:
OriginalL'auteur Anthony De Souza