http://developer.mozilla.org/en/docs/Using_XML_Data_Islands_in_Mozilla
這篇文章的名字就叫做《Using XML Data Islands in Mozilla》,曾經(jīng)讓我很長(zhǎng)的一段時(shí)間里面以為Mozilla(以及firefox)是支持xml數(shù)據(jù)島的,只是支持的方式有所不同。今天再次重讀的時(shí)候才突然注意到,其實(shí)第一段已經(jīng)講明白了,這只是個(gè)mimic
對(duì)節(jié)點(diǎn)的一致性操作請(qǐng)參考 http://www.aygfsteel.com/emu/articles/32699.html
這篇文章的名字就叫做《Using XML Data Islands in Mozilla》,曾經(jīng)讓我很長(zhǎng)的一段時(shí)間里面以為Mozilla(以及firefox)是支持xml數(shù)據(jù)島的,只是支持的方式有所不同。今天再次重讀的時(shí)候才突然注意到,其實(shí)第一段已經(jīng)講明白了,這只是個(gè)mimic
One handy feature of Internet Explorer is the ability to use data islands to link data to html controls on a page. This feature is not readily built into Mozilla, but one can easily mimic this behaviour to build cross-browser web applications.
(emu譯)IE的一個(gè)很好用的特性是可以用把數(shù)據(jù)島把數(shù)據(jù)和html連接起來(lái)(自動(dòng)展現(xiàn)數(shù)據(jù))。Mozilla還沒(méi)有準(zhǔn)備為這個(gè)特性提供內(nèi)建的支持,但是我們可以輕易的模仿IE這個(gè)特性來(lái)構(gòu)建跨瀏覽器的網(wǎng)絡(luò)應(yīng)用。
假的就是假的,所以有些特性是模仿不出來(lái)的,你可以用nodeValue來(lái)代替Text屬性,可以用innerHTML來(lái)代替xml屬性,但是你怎么處理這個(gè)數(shù)據(jù)呢: <![CDATA[ abc ]]> 。html沒(méi)有提供CDATA這樣的xml支持。
還好Mozilla提供了另一種解決方案 DOMPaser 。我們可以通過(guò)這樣的方式來(lái)提供對(duì)頁(yè)面內(nèi)xml代碼的一致性的解析和使用:
function parseXML(st){
if(isIE){
var result = new ActiveXObject("microsoft.XMLDOM");
result.loadXML(st);
}else{
var parser = new DOMParser();
var result = parser.parseFromString(st, "text/xml");
}
return result;
}
if(isIE){
var result = new ActiveXObject("microsoft.XMLDOM");
result.loadXML(st);
}else{
var parser = new DOMParser();
var result = parser.parseFromString(st, "text/xml");
}
return result;
}
對(duì)節(jié)點(diǎn)的一致性操作請(qǐng)參考 http://www.aygfsteel.com/emu/articles/32699.html