MozTW 討論區
https://forum.moztw.org/

xml在ff與ie的相容性問題
https://forum.moztw.org/viewtopic.php?f=13&t=23436
1 頁 (共 1 頁)

發表人:  qqking [ 2008-07-14, 22:50 ]
文章主題 :  xml在ff與ie的相容性問題

各位大大們好...
小弟想請教關於xml在ff底下的操作。
事情是這樣,小弟在做動態多階下拉選單時,搜尋到這一篇
http://www.knowsky.com/3162.html
,是應用xml而來的,小弟覺得比起'array"那種實用多了,但我在ff底下卻無法正常顯示,又爬了不少文,比較受用的是
http://huacn.blogbus.com/logs/19643916.html
,但依然無法達成ff下正常顯示!

想請教大大們我該怎麼做呢?
小弟留下目前所能做到部分
http://www.badongo.com/file/10386866
幾乎使不上力的....一天
---------------------------

發表人:  qqking [ 2008-07-15, 19:07 ]
文章主題 : 

哪位大大有想出如何使其在FF底下正常操作嗎?
從"IE專屬技術在Gecko引擎中的對等實現探討"裡,小弟還是不知道該如何著手!
還是這範例是IE ONLY呢!不太可能吧!
這麼好的應用................................

發表人:  qqking [ 2008-07-17, 11:53 ]
文章主題 : 

不好意思..是不是我問題發問的不好,還是問題寫的不夠詳細,
能不能請哪問大大說明一下,小弟非常希望有哪位大大能跟小弟
做各討論,這問題...小弟算是無從著手,十分困擾= =

發表人:  風痕影 [ 2008-07-18, 18:24 ]
文章主題 : 

在第一個範例裡頭...
代碼:
var source = new ActiveXObject('Microsoft.XMLDOM');

不知道是不是這個造成的...
ActiveX 是 IE only 的東西 @@"

第二個我就不太清楚了 XD

發表人:  訪客 [ 2008-07-18, 23:35 ]
文章主題 : 

風大你好...
這是因為ie讀xml必須先宣告如此,不過在FF底下也有各宣告方式,所以這並不是只要造成FF底下無法OK的原因,你可以下載我提供的檔案看看,裡面有區分瀏覽器的宣告方式。
-------------------------------------------
風痕影 寫:
在第一個範例裡頭...
代碼:
var source = new ActiveXObject('Microsoft.XMLDOM');

不知道是不是這個造成的...
ActiveX 是 IE only 的東西 @@"

第二個我就不太清楚了 XD

發表人:  aackcanis [ 2008-07-19, 04:15 ]
文章主題 : 

這幾行改完就能動
代碼:
37    oOption.text = " "+sortField[i].text+" ";
更正   sortField[i].value

38    oOption.value = sortField[i].text;
同上

47    sortField=root.selectNodes("//State[@name='"+y+"']//");
更正 "//State[@name='"+y+"']//City"

50    document.form1.SelCity.options.remove(i)
更正    document.form1.SelCity.remove(i);
建議  document.getElementById("SelCity").remove(i);

55    oOption.text = " "+sortField[i].text+" ";
更正    sortField[i].childNodes[0].data

56    oOption.value = sortField[i].text;   
同上



你可以參考下面的網頁
http://www.w3schools.com/DOM/default.asp
http://www.w3schools.com/DOM/dom_text.asp
http://www.w3schools.com/DOM/dom_element.asp
http://www.w3schools.com/DOM/dom_attribute.asp
http://www.w3schools.com/htmldom/dom_reference.asp
http://www.w3schools.com/htmldom/dom_obj_select.asp
http://www.w3schools.com/htmldom/dom_obj_option.asp

發表人:  訪客 [ 2008-07-19, 11:03 ]
文章主題 : 

感謝aackcanis大的指導...
不過這還是要有引用那個js檔才OK!
雖然覺得問題感覺是解決了,但實際上我看還是得好好看看那個js檔的原理了!目前還是得好好習慣這幾解決語法的用法= =
再次感謝大大了.... :D
---------------------------------------------------
aackcanis 寫:
這幾行改完就能動
代碼:
37    oOption.text = " "+sortField[i].text+" ";
更正   sortField[i].value

38    oOption.value = sortField[i].text;
同上

47    sortField=root.selectNodes("//State[@name='"+y+"']//");
更正 "//State[@name='"+y+"']//City"

50    document.form1.SelCity.options.remove(i)
更正    document.form1.SelCity.remove(i);
建議  document.getElementById("SelCity").remove(i);

55    oOption.text = " "+sortField[i].text+" ";
更正    sortField[i].childNodes[0].data

56    oOption.value = sortField[i].text;   
同上



你可以參考下面的網頁
http://www.w3schools.com/DOM/default.asp
http://www.w3schools.com/DOM/dom_text.asp
http://www.w3schools.com/DOM/dom_element.asp
http://www.w3schools.com/DOM/dom_attribute.asp
http://www.w3schools.com/htmldom/dom_reference.asp
http://www.w3schools.com/htmldom/dom_obj_select.asp
http://www.w3schools.com/htmldom/dom_obj_option.asp

發表人:  qqking [ 2008-07-19, 11:18 ]
文章主題 : 

....我的回覆怎麼變訪客= =
兩位大大....感謝感謝!

發表人:  aackcanis [ 2008-07-19, 15:28 ]
文章主題 : 

Anonymous 寫:
感謝aackcanis大的指導...
不過這還是要有引用那個js檔才OK!
雖然覺得問題感覺是解決了,但實際上我看還是得好好看看那個js檔的原理了!


哪裡有甚麼原理= =
只不過IE和FireFox處理Selecting Nodes方式不太一樣,你可以看一下這個網頁
    Selecting Nodes
    Select nodes for Internet Explorer based browsers
    Select nodes for other browsers

這三個粗體標題的地方

那個js檔所做的只是替其他瀏覽器增加selectNodes()和selectSingleNode 這個function,然後實地是去使用evaluate()來Selecting Nodes

如果不想要引用此js檔的話
根據你所提供的xml檔和你想要的功能
其實是可以將selectNodes()改成以下的方法來實現

代碼:
33   改成 var sortField=root.getElementsByTagName("State"); 

37 38 改成 sortField[i].getAttribute("name")

47  var bbbbbb=root.getElementsByTagName("State");
   var sortField=bbbbbb[x].getElementsByTagName("City");


發表人:  qqking [ 2008-07-19, 16:32 ]
文章主題 : 

再次感謝aackcanis大的指導...
小弟忘了還有getAttribute("name") 這個可以用= =
一直想取name而觸礁= =,這下通了...通了!

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/