ie和firefox浏览器在网页编程方面的区别及解决方法
function.window.onload(){
}
改为用:
window.onload = fnShow;
function fnShow(){
}
或直接写为:
window.onload = function (){
}
//-------
2.flash,要设置embed的src属性才能正常显示;如:<embed src="../images/easewe.swf";
--------
所以flash要同时设置这两个属性;
3.制作细线表格:
4.在IE中11px和12px显示的大小是一样的,但在firefox中11px会比12px小,导致字在firefox中比ie中小;
5.集合类对象问题
IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象.
解决方法:统一使用[]获取集合类对象.
6.自定义属性问题
IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义属性.
解决方法:统一通过getAttribute()获取自定义属性.
7.event.x与event.y问题
IE下,even对象有x,y属性,但是没有pageX,pageY属性;Firefox下,even对象有pageX,pageY属性,但是没有x,y属性.
解决方法:使用mX(mX = event.x ? event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX.
8.event.srcElement问题
IE下,even对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性.
解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.
9.window.location.href问题
IE或者Firefox2.0.x下,可以使用window.location或window.location.href;Firefox1.5.x下,只能使用window.location.
解决方法:使用window.location来代替window.location.href.
10.访问frame对象:
IE:使用window.frameId或者window.frameName来访问这个frame对象.
Firefox:只能使用window.frameName来访问这个frame对象.
另外,在IE和Firefox中都可以使用window.document.getElementByIdx("frameId")来访问这个frame对象.
11.window.event问题
window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用.
解决方法:
IE:
<input name="Button8_1" type="button" value="IE" onclick="javascript:gotoSubmit8_1()"/>
...
<script language="javascript">
function gotoSubmit8_1() {
...
alert(window.event); //use window.event
...
}
</script>
IE&Firefox:
<input name="Button8_2" type="button" value="IE" onclick="javascript:gotoSubmit8_2(event)"/>
...
<script language="javascript">
function gotoSubmit8_2(evt) {
...
evt=evt?evt:(window.event?window.event:null);
alert(evt); //use evt
...
}
</script>
下面还有个通用的得到event的方法
function getEvent() //同时兼容ie和ff的写法
{
}
到别的方法去直接调用就好了
function move()
{
}
<script language="javascript"> function testInnerText(){ if(navigator.appName.indexOf("Explorer") > -1){ document.getElementByIdx('element').innerText = "my text"; } else{ document.getElementByIdx('element').textContent = "my text"; } } </script> |