亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

js腳本:ie和firefox的兼容

admin
2013年7月5日 8:12 本文熱度 6080
1、Select列表控件

刪除列表項(xiàng)。在IE下工作正常的代碼:


obj.options.remove(i);

需要修改為:



obj.remove(i);

添加列表項(xiàng)。在IE下工作正常的代碼:



var oOption = document.createElement('option');
oOption.text = text;
oOption.value = value;
targetArea.options.add(oOption);

為了提供更好的瀏覽器兼容性,更符合W3C DOM Level 2 HTML標(biāo)準(zhǔn),建議改為如下代碼:



var oOption = document.createElement('option');
oOption.text = text;
oOption.value = value;
targetArea.options[targetArea.options.length]=new Option(text,value);

另外,selectObj.options(i),需要改為selectObj.options[i]。

2、XmlDom對(duì)象

IE下一般這樣做:



var xmlDom = new ActiveXObject("Microsoft.XMLDOM");

為了兼容Firefox,需要修改為:



if (window.ActiveXObject){
var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
}
else{
if (document.implementation && document.implementation.createDocument){
var xmlDom = document.implementation.createDocument("","",null);
}
}

3、對(duì)于childNodes的循環(huán)處理



var nodes=xmlDom.documentElement;
var sName; //標(biāo)簽文本
var sValue; //標(biāo)簽值

if (nodes.childNodes.length != 0) {
for (var i=0;ioItem = nodes.childNodes.item(i);
sName = oItem.text;
sValue = oItem.getAttribute("id"); // 這里會(huì)報(bào)錯(cuò)
addOption(targetArea,sName,sValue);
}
}

上面這段代碼,在IE下完全沒(méi)有問(wèn)題,但是在Firefox下就毫無(wú)反應(yīng),F(xiàn)irefox下的錯(cuò)誤控制臺(tái)報(bào)告:oItem沒(méi)有 getAttribute方法,百思不得其解,經(jīng)調(diào)試,發(fā)現(xiàn)oItem的節(jié)點(diǎn)類型竟然是3,也就是文本,進(jìn)一步調(diào)試得知,oItem的節(jié)點(diǎn)類型分別是3、 1、3、1....(1是節(jié)點(diǎn)對(duì)象),使用Firefox的Dom查看器一看,恍然大悟!其中,Xml數(shù)據(jù)字符串為:

驗(yàn)房服務(wù)
家裝設(shè)計(jì)
建筑工程
家裝監(jiān)理
檢測(cè)(環(huán)境質(zhì)量)
風(fēng)水

在Dom查看器中看到:

可以看到,#text節(jié)點(diǎn)和節(jié)點(diǎn)對(duì)象交替排列(id列有數(shù)據(jù)的為正常節(jié)點(diǎn),例如“驗(yàn)房服務(wù)”、“家裝設(shè)計(jì)”等等),造成當(dāng)oItem為#text類型的時(shí)候調(diào)用getAttribute()方法失敗,因?yàn)槲谋竟?jié)點(diǎn)沒(méi)有此方法。

那么,修改后的代碼是:

var nodes=xmlDom.documentElement;
var sName; //標(biāo)簽文本
var sValue; //標(biāo)簽值
var oItem,sName,sValue,oOption;
if (nodes.childNodes.length != 0) {
for (var i=0;ivar oItem = nodes.childNodes[i];
if(oItem.nodeType == 1){ //判斷是否是Element類型
sName = oItem.childNodes[0].nodeValue; //這里需要注意下
sValue = oItem.getAttribute("id");
var oOption = document.createElement('option');
oOption.text = sName;
oOption.value = sValue;
objType.options.add(oOption);
}
}
}

還有一點(diǎn)需要注意的是oItem.text無(wú)法在Firefox中取得節(jié)點(diǎn)的值,取而代之的是:

oItem.childNodes[0].nodeValue;

至此,真相大白!

附錄1:幫助我解決問(wèn)題的兩篇關(guān)鍵文章:

1、http://www.sitepoint.com/forums/showthread.php?t=307056&goto=nextnewest

2、http://www.thescripts.com/forum/thread471907.html


該文章在 2013/7/5 8:13:58 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved