J'ai récemment utilisé Firefox pour déboguer des pages Web et j'ai découvert que certaines instructions Javascript XSLT pour le traitement du XML ne prennent en charge que les navigateurs IE. Certains articles sur Internet qui présentent JavaScript XSLT pour traiter XML sont essentiellement basés sur AJAX.
En désespoir de cause, j'ai écrit une petite fonction de Javascript XSLT pour traiter la page d'affichage XML. Maintenant, je le publie pour le partager avec tout le monde et j'espère que vous pourrez me donner quelques suggestions d'amélioration.
Utilisez l'objet XSLTProcessor pour traiter le XML dans Firefox, principalement en utilisant les deux méthodes de cet objet :
1. transformToFragment().
2. transformToDocument().
Le code suivant utilise uniquement la méthode transformToFragment() pour traiter les fichiers XML. Si vous souhaitez utiliser Javascript XSLT pour traiter les fichiers XML dans Firefox, vous pouvez également essayer de réécrire le code suivant pour utiliser la méthode transformToDocument(). .fonctions de traitement.
Le code Javascript est le suivant :
// 判断浏览器的类型
if(document.implementation && document.implementation.createDocument)
{
// 支持Mozilla浏览器
essayez
{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;
xmlDoc.load("livre d'or/livre d'or.xml");
>
attraper(e)
{
alert("erreur:001");
>
essayez
{
xslDoc = document.implementation.createDocument("", "", null);
xslDoc.async = faux ;
xslDoc.load("livre d'or/livre d'or.xsl");
>
attraper(e)
{
alert("erreur:002");
>
essayez
{
// 定义XSLTProcessor对象
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslDoc);
var oResultFragment = xsltProcessor.transformToFragment(xmlDoc,document);
// 将解析过的文本输出到页面
var oDiv = document.getElementById("guestbookPanel");
oDiv.appendChild(oResultFragment);
>
attraper(e)
{
alert("erreur:003");
}
>
else if(typeof window.ActiveXObject != 'undefined')
{
//var xmlDoc=Server.CreateObject("Msxml2.DOMDocument.4.0");
// 支持IE浏览器
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xslDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xslDoc.async = faux ;
xmlDoc.load("livre d'or/livre d'or.xml");
xslDoc.load("livre d'or/livre d'or.xsl");
guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc);
>
d'autre
{
alert("Navigateur inconnu!");
>
>
javascript dom est la deuxième façon de traiter les données d'affichage XSL.
Le code principal est le suivant :