Ich habe kürzlich Firefox zum Debuggen von Webseiten verwendet und festgestellt, dass einige Javascript-XSLT-Anweisungen zur Verarbeitung von XML nur IE-Browser unterstützen. Einige Artikel im Internet, die JavaScript XSLT zur Verarbeitung von XML vorstellen, basieren grundsätzlich auf AJAX.
In meiner Verzweiflung habe ich eine kleine Funktion von Javascript XSLT geschrieben, um die XML-Anzeigeseite zu verarbeiten. Jetzt veröffentliche ich es, um es mit allen zu teilen, und ich hoffe, dass Sie mir einige Verbesserungsvorschläge machen können.
Verwenden Sie das XSLTProcessor-Objekt, um XML in Firefox zu verarbeiten, und verwenden Sie dabei hauptsächlich die beiden Methoden dieses Objekts:
1. transformToFragment().
2. transformToDocument().
Der folgende Code verwendet nur die Methode transformToFragment() zum Verarbeiten von XML-Dateien. Wenn Sie daran interessiert sind, Javascript XSLT zum Verarbeiten von XML-Dateien in Firefox zu verwenden, können Sie auch versuchen, den folgenden Code umzuschreiben, um die Methode transformToDocument() zu verwenden . Verarbeitungsfunktionen.
Der Javascript-Code lautet wie folgt:
// 判断浏览器的类型
if(document.implementation && document.implementation.createDocument)
{
// 支持Mozilla浏览器
versuche es
{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;
xmlDoc.load("guestbook/guestbook.xml");
}
fangen(e)
{
alarm("error:001");
}
versuche es
{
xslDoc = document.implementation.createDocument("", "", null);
xslDoc.async = false;
xslDoc.load("guestbook/guestbook.xsl");
}
fangen(e)
{
alarm("error:002");
}
versuche es
{
// 定义XSLTProcessor对象
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslDoc);
var oResultFragment = xsltProcessor.transformToFragment(xmlDoc,document);
// 将解析过的文本输出到页面
var oDiv = document.getElementById("guestbookPanel");
oDiv.appendChild(oResultFragment);
}
fangen(e)
{
alarm("error:003");
}
}
sonst if(typeof window.ActiveXObject != 'undefiniert')
{
//var xmlDoc=Server.CreateObject("Msxml2.DOMDocument.4.0");
// 支持IE浏览器
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xslDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xslDoc.async = false;
xmlDoc.load("guestbook/guestbook.xml");
xslDoc.load("guestbook/guestbook.xsl");
guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc);
}
sonst
{
alarm("Browser unbekannt!");
}
}
Javascript Dom ist die zweite Möglichkeit, XSL-Anzeigedaten zu verarbeiten.
Der Hauptcode lautet wie folgt: