เมื่อเร็ว ๆ นี้ฉันใช้ Firefox เพื่อแก้ไขปัญหาหน้าเว็บและพบว่าคำสั่ง JavaScript XSLT บางตัวที่ประมวลผล XML รองรับเฉพาะเบราว์เซอร์ IE บางบทความบนอินเทอร์เน็ตที่แนะนำ JavaScript XSLT ในการประมวลผล XML นั้นขึ้นอยู่กับ AJAX
อย่างไร้ประโยชน์ฉันเขียนฟังก์ชั่นเล็ก ๆ ของการประมวลผล JavaScript XSLT หน้าจอแสดงผล XML ตอนนี้ฉันกำลังโพสต์เพื่อแบ่งปันกับคุณฉันหวังว่าคุณจะให้คำแนะนำบางอย่างสำหรับการปรับปรุง
ใน Firefox การใช้วัตถุ XSLTProcessor เพื่อประมวลผล XML ส่วนใหญ่ใช้สองวิธีของวัตถุนี้:
1. Transformtofragment ()
2. TransformTodocument ()
รหัสต่อไปนี้ใช้เมธอด transfertofragment () เท่านั้นเพื่อใช้การประมวลผลไฟล์ XML หากคุณสนใจที่จะใช้ JavaScript XSLT เพื่อประมวลผลไฟล์ XML ใน Firefox คุณอาจลองเขียนโค้ดต่อไปนี้ลงในฟังก์ชั่นการประมวลผลที่ใช้งานโดยใช้วิธีการ TRAFFTODOCUMENT ()
รหัส JavaScript มีดังนี้:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นเริ่มต้น () {
var xmldoc;
var xsldoc;
// กำหนดประเภทเบราว์เซอร์
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 = false;
xsldoc.load ("Guestbook/Guestbook.xsl");
-
จับ (e)
-
การแจ้งเตือน ("ข้อผิดพลาด: 002");
-
พยายาม
-
// กำหนดวัตถุ XSLTProcessor
var xsltProcessor = ใหม่ XSLTProcessor ();
XsltProcessor.importstylesheet (XSLDOC);
var OresultFragment = xsltProcessor.transformTofragment (Xmldoc, เอกสาร);
// เอาต์พุตข้อความที่แยกวิเคราะห์ไปยังหน้า
var odiv = document.getElementById ("GuestbookPanel");
Odiv.AppendChild (OresultFragment);
-
จับ (e)
-
การแจ้งเตือน ("ข้อผิดพลาด: 003");
-
-
อื่นถ้า (typeof window.activexobject! = 'undefined')
-
// 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 ("guestbook/guestbook.xml");
xsldoc.load ("Guestbook/Guestbook.xsl");
guestbookpanel.innerhtml = xmldoc.documentelement.transformNode (XSLDOC);
-
อื่น
-
การแจ้งเตือน ("ไม่ทราบเบราว์เซอร์!");
-
-
JavaScript DOM วิธีที่สองในการประมวลผลข้อมูลการแสดงผล XSL
รหัสหลักมีดังนี้:
การคัดลอกรหัสมีดังนี้:
var xmldoc;
var xsldoc;
// กำหนดประเภทเบราว์เซอร์
if (document.implementation && document.implementation.createdocument)
-
// สนับสนุนเบราว์เซอร์ Mozilla
พยายาม
-
xmldoc = document.implementation.createdocument ("", "", null);
xmldoc.async = false;
xmldoc.load ("guestbook/guestbook.xml");
xsldoc = document.implementation.createdocument ("", "", null);
xsldoc.async = false;
xsldoc.load ("Guestbook/Guestbook.xsl");
// กำหนดวัตถุ XSLTProcessor
var xsltProcessor = ใหม่ XSLTProcessor ();
XsltProcessor.importstylesheet (XSLDOC);
// วิธีการแปลงร่าง
var result = xsltProcessor.transformTodocument (xmldoc);
var xmls = ใหม่ xmlserializer ();
document.getElementById ("GuestbookPanel"). innerHtml = xmls.serializetoString (ผลลัพธ์);
-
จับ (e)
-
การแจ้งเตือน ("ไม่สามารถทำการประมวลผล XML/XSL");
-
-
อื่นถ้า (typeof window.activexobject! = 'undefined')
-
พยายาม
-
// สนับสนุน IE เบราว์เซอร์
xmldoc = new ActiveXObject ('msxml2.domDocument');
XSLDOC = ใหม่ ActiveXObject ('msxml2.domDocument');
xmldoc.async = false;
xsldoc.async = false;
xmldoc.load ("guestbook/guestbook.xml");
xsldoc.load ("Guestbook/Guestbook.xsl");
guestbookpanel.innerhtml = xmldoc.documentelement.transformNode (XSLDOC);
-
จับ (e)
-
การแจ้งเตือน ("ไม่สามารถทำการประมวลผล XML/XSL");
-
-
อื่น
-
การแจ้งเตือน ("ไม่ทราบเบราว์เซอร์!");
-