최근 Firefox를 사용하여 웹페이지를 디버깅했는데 XML 처리를 위한 일부 Javascript XSLT 문이 IE 브라우저만 지원한다는 사실을 발견했습니다. XML을 처리하기 위해 JavaScript XSLT를 소개하는 인터넷 기사 중 일부는 기본적으로 AJAX를 기반으로 합니다.
절박한 마음에 XML 표시 페이지를 처리하기 위한 Javascript XSLT의 작은 함수를 작성했습니다. 이제 모든 사람과 공유하기 위해 게시합니다. 개선을 위한 몇 가지 제안을 해주실 수 있기를 바랍니다.
XSLTProcessor 개체를 사용하면 주로 이 개체의 두 가지 메서드를 사용하여 Firefox에서 XML을 처리할 수 있습니다.
1. 변환으로Fragment().
2.문서로 변환().
자바스크립트 코드는 다음과 같습니다. // 判断浏览器的类型
if(document.implementation && document.implementation.createDocument)
{
// 支持Mozilla浏览器
시도해 보세요
{
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;
xmlDoc.load("guestbook/guestbook.xml");
}
잡기(e)
{
경고("오류:001");
}
시도해 보세요
{
xslDoc = document.implementation.createDocument("", "", null);
xslDoc.async = 거짓;
xslDoc.load("guestbook/guestbook.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 = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xslDoc.async = 거짓;
xmlDoc.load("guestbook/guestbook.xml");
xslDoc.load("guestbook/guestbook.xsl");
guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc);
}
그 외
{
Alert("알 수 없는 브라우저입니다!");
}
}
javascript dom은 XSL 표시 데이터를 처리하는 두 번째 방법입니다.
주요 코드는 다음과 같습니다.