最近、Firefox を使用して Web ページをデバッグしましたが、XML を処理するための一部の Javascript XSLT ステートメントは IE ブラウザのみをサポートしていることがわかりました。 XML を処理するための JavaScript XSLT を紹介するインターネット上の一部の記事は、基本的に AJAX に基づいています。
苦し紛れに、XML 表示ページを処理する Javascript XSLT の小さな関数を書きました。今、皆さんと共有するために投稿しています。改善のための提案をいただければ幸いです。
XSLTProcessor オブジェクトを使用して、Firefox で XML を処理します。主に、このオブジェクトの 2 つのメソッドを使用します。
1.transformToFragment()。
2.transformToDocument()。
次のコードは、XML ファイルを処理するために、transformToFragment() メソッドのみを使用します。JavaScript XSLT を使用して Firefox で XML ファイルを処理することに興味がある場合は、transformToDocument() メソッドを使用するように次のコードを書き換えてみることもできます。 . 処理機能。
Javascript コードは次のとおりです:
// 判断浏览器の種類
if(document.implementation && document.implementation.createDocument)
{
// Mozilla 浏览器をサポート
試してみてください
{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;
xmlDoc.load("ゲストブック/ゲストブック.xml");
}
キャッチ(e)
{
アラート("エラー:001");
}
試してみてください
{
xslDoc = document.implementation.createDocument("", "", null);
xslDoc.async = false;
xslDoc.load("ゲストブック/ゲストブック.xsl");
}
キャッチ(e)
{
アラート("エラー:002");
}
試してみてください
{
// 定义XSLTProcessor对オブジェクト
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslDoc);
var oResultFragment = xsltProcessor.transformToFragment(xmlDoc,document);
// 将解析过の文本を页面に出力します
var oDiv = document.getElementById("guestbookPanel");
oDiv.appendChild(oResultFragment);
}
キャッチ(e)
{
アラート("エラー:003");
}
}
else if(window.ActiveXObject の種類 != '未定義')
{
//var xmlDoc=Server.CreateObject("Msxml2.DOMDocument.4.0");
// サポートIE浏览器
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xslDoc = 新しい ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xslDoc.async = false;
xmlDoc.load("ゲストブック/ゲストブック.xml");
xslDoc.load("ゲストブック/ゲストブック.xsl");
guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc);
}
それ以外
{
alert("ブラウザが不明です!");
}
}
javascript dom は、XSL 表示データを処理する 2 番目の方法です。
メインコードは次のとおりです: