最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IE與firefox下Dhtml的一些區(qū)別小結(jié)

 更新時(shí)間:2009年12月02日 01:13:27   作者:  
IE與Mozilla下Dhtml的一些區(qū)別小結(jié)
1.DOM上的接口基本上還是一致的,但經(jīng)測(cè)試發(fā)現(xiàn)mozilla下的DOM更標(biāo)準(zhǔn)些,就算些法一樣,IE下會(huì)有一些微小的區(qū)別,但無關(guān)要緊
2.事件模型上,這方面區(qū)別算比較大.
mozilla下的e.target 相當(dāng)于 ie下的event.srcElement,但細(xì)節(jié)上有區(qū)別,后者是返回一個(gè)html element
而e.target返回的是個(gè)節(jié)點(diǎn),也就是說包括文本節(jié)點(diǎn),方法可以這樣
var trg = e.target;
while(trg.nodeType!=1)trg=trg.parentNode;
mozilla下的e.which與ie下的event.keyCode相當(dāng)
相對(duì)應(yīng)的還有e.layerX,e.layerY,e.pageX,e.pageY...
可以看看http://fason.nease.net/mozilla/dom/ event部份
事件綁定上mozilla用addEventListener,removeEventListener,對(duì)應(yīng)ie的attachEvent,detatchEvent
3.對(duì)象引用上就直接document.getElementById就行了,如果還要兼容ie4,可以再加上document.all判斷
form element的引用要標(biāo)準(zhǔn)些var oInput = document.formName.elements["input1"]
4.XML的應(yīng)用上區(qū)別更大些,因?yàn)镮E下是通過activex來創(chuàng)建,而mozilla已經(jīng)是有這些對(duì)象的(需要dom2支持)
Xmldomdocument: var doc = document.inplementation.createDocument("","",null)
xmlhttp: var req = new XMLHttpRequest()
5.innerText就在mozilla不支持了,需要用些range的技巧來取得它的text
6.insertAdjacentHTML是個(gè)比較好用的方法,mozilla可以用DOM的方法insertBefore來兼容
7.更細(xì)微的,如Array,Date的一些方法ie和mozilla也會(huì)有一些微小的區(qū)別,具體不提到了。。。
寫了兩個(gè)例子:
1. 對(duì)于通過ID取對(duì)象
function getObjectById(id)
{
if (typeof(id) != "string" || id == "") return null;
if (document.all) return document.all(id);
if (document.getElementById) return document.getElementById(id);
try {return eval(id);} catch(e){ return null;}
}
2. 對(duì)事件附加處理函數(shù)
if(document.attachEvent)
window.attachEvent("onresize", function(){reinsert();});
else
window.addEventListener('resize', function(){reinsert();}, false);
注意在IE里是 onclick 而在firefox NS 里則是 click
用腳本提交
document.formName.action = "...";
document.formName.submit();
好像在mozilla下不能用
處理XML的方法
復(fù)制代碼 代碼如下:

var FCKXml = function()
{}
FCKXml.prototype.GetHttpRequest = function()
{
if ( window.XMLHttpRequest )// Gecko
return new XMLHttpRequest() ;
else if ( window.ActiveXObject )// IE
return new ActiveXObject("MsXml2.XmlHttp") ;
}
FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
{
var oFCKXml = this ;
var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
var oXmlHttp = this.GetHttpRequest() ;
oXmlHttp.open( "GET", urlToCall, bAsync ) ;
if ( bAsync )
{
oXmlHttp.onreadystatechange = function()
{
if ( oXmlHttp.readyState == 4 )
{
oFCKXml.DOMDocument = oXmlHttp.responseXML ;
asyncFunctionPointer( oFCKXml ) ;
}
}
}
oXmlHttp.send( null ) ;
if ( ! bAsync && oXmlHttp.status && oXmlHttp.status == 200 )
this.DOMDocument = oXmlHttp.responseXML ;
else
throw( 'Error loading "' + urlToCall + '"' ) ;
}
FCKXml.prototype.SelectNodes = function( xpath, contextNode )
{
if ( document.all )// IE
{
if ( contextNode )
return contextNode.selectNodes( xpath ) ;
else
return this.DOMDocument.selectNodes( xpath ) ;
}
else// Gecko
{
var aNodeArray = new Array();
var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument,
this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
if ( xPathResult )
{
var oNode = xPathResult.iterateNext() ;
while( oNode )
{
aNodeArray[aNodeArray.length] = oNode ;
oNode = xPathResult.iterateNext();
}
}
return aNodeArray ;
}
}
FCKXml.prototype.SelectSingleNode = function( xpath, contextNode )
{
if ( document.all )// IE
{
if ( contextNode )
return contextNode.selectSingleNode( xpath ) ;
else
return this.DOMDocument.selectSingleNode( xpath ) ;
}
else// Gecko
{
var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument,
this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);
if ( xPathResult && xPathResult.singleNodeValue )
return xPathResult.singleNodeValue ;
else
return null ;
}
}

相關(guān)文章

最新評(píng)論

句容市| 时尚| 双桥区| 安陆市| 专栏| 桐庐县| 广昌县| 思南县| 平乡县| 山阳县| 镇坪县| 西和县| 琼结县| 贵州省| 峨山| 甘泉县| 嘉峪关市| 怀化市| 利辛县| 吉隆县| 始兴县| 介休市| 重庆市| 安图县| 玉溪市| 诸城市| 泽库县| 灵石县| 汨罗市| 平利县| 普兰店市| 昂仁县| 清原| 慈溪市| 浦江县| 西贡区| 滦平县| 法库县| 孙吴县| 黄浦区| 昌乐县|