不過一開始我必須先說明,我非常不建議使用 E4X 來開發網頁服務。
原因與用法如下:
瀏覽器支援
這也就是我不建議使用 E4X 的原因。目前僅有 Firefox 支援 E4X,Opera、Chrome、Safari、和 IE 皆不支援。因此就算 EX4 再怎麼簡便好用,我們也絕不能用來開發出大多數使用者都無法使用的服務。
以下還是會簡單介紹 EX4 的用法,大家看看就好,除非未來有更多瀏覽器支援,否則實務上不太可能使用。
E4X 用法
(以下程式碼請皆在 Firefox 中測試)例1:輸出 32
<html>
<body>
<p>This example works in Firefox only.</p>
<script>
var employees=
<employees>
<person>
<name>Tove</name>
<age>32</age>
</person>
<person>
<name>Jani</name>
<age>26</age>
</person>
</employees>;
document.write(employees.person.(name == "Tove").age);
</script>
</body>
</html>
例2:
note.xml
<note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>以下為使用
HTTPRequest 物件來載入、parse、輸出 note.xml 中 <body>
的內容if (window.XMLHttpRequest)
{// IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","note.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.write(xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue);
將上段 JavaScript 改寫為使用 E4Xvar xmlDoc=new XML();
xmlDoc.load("note.xml");
document.write(xmlDoc.body);
變得很簡單吧!不過要記得除了 Firefox 之外,目前其他瀏覽器皆未支援喔。
沒有留言:
張貼留言