`
hackbomb
  • 浏览: 216650 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

IE和firefox浏览器在网页编程方面的区别

    博客分类:
  • Web
阅读更多

1.firefox不支持对象加事件的函数名,如:以下代码在IE中能正常显示,但在firefox中则不能;

 
function.window.onload(){   
    alert("onload");   

function.window.onload(){
    alert("onload");
}


改为用:

 
window.onload = fnShow;   
function fnShow(){   
    alert("onload");   

window.onload = fnShow;
function fnShow(){
    alert("onload");
}


或直接写为:

 
window.onload = function (){   
    alert("onload");   
}   
//------- 
window.onload = function (){
    alert("onload");
}
//-------


2.flash,要设置embed的src属性才能正常显示;如:<embed src="../images/easewe.swf";
但在IE中要设置param name="src"的value值才能显示;如:<PARAM NAME="Src" VALUE="./images/easewe.swf"">
--------
所以flash要同时设置这两个属性;

3.制作细线表格:
在IE中可以用bordercolordark="网页背景色",使得表格看起来很细;
但在firefox中不起作用;需给表格增加样式:style="border-collapse:collapse;";
所以要在ie和firefox中都显示细表格,则应该给表格加上样式style="border-collapse:collapse;";

4.在IE中11px和12px显示的大小是一样的,但在firefox中11px会比12px小,导致字在firefox中比ie中小;
所以都需设置12px;

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.getElementById("frameId")来访问这个frame对象.

11.window.event问题

window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用.
解决方法:
IE:

 
<input name="Button8_1" type="button" value="IE" />   
...   
<script language="javascript">   
function gotoSubmit8_1() {   
...   
alert(window.event); //use window.event   
...   
}   
</script> 
<input name="Button8_1" type="button" value="IE" />
...
<script language="javascript">
function gotoSubmit8_1() {
...
alert(window.event); //use window.event
...
}
</script>

IE&Firefox:
<input name="Button8_2" type="button" value="IE" />   
...   
<script language="javascript">   
function gotoSubmit8_2(evt) {   
...   
evt=evt?evt:(window.event?window.event:null);   
alert(evt); //use evt   
...   
}   
</script> 
<input name="Button8_2" type="button" value="IE" />
...
<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的写法   
{     
    if(document.all)   return window.event;       
    func=getEvent.caller;           
    while(func!=null){     
        var arg0=func.arguments[0];   
        if(arg0)   
        {   
          if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))   
          {     
          return arg0;   
          }   
        }   
        func=func.caller;   
    }   
    return null;   

function getEvent() //同时兼容ie和ff的写法

    if(document.all)   return window.event;   
    func=getEvent.caller;       
    while(func!=null){ 
        var arg0=func.arguments[0];
        if(arg0)
        {
          if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
          { 
          return arg0;
          }
        }
        func=func.caller;
    }
    return null;
}

到别的方法去直接调用就好了
function move()   
{   
    var evt=getEvent();   
    ......         
}

分享到:
评论

相关推荐

    IE与Firefox的事件区别

    在不同的浏览器环境下,事件处理的实现机制有所差异,尤其是在Internet Explorer(IE)和Firefox之间。本文将深入探讨这些差异,以帮助开发者更好地理解和解决跨浏览器的兼容性问题。 首先,我们要了解事件流的概念...

    用于跨浏览器网页编程

    在进行网页开发时,由于不同的浏览器对于HTML、CSS及JavaScript的支持程度不一,开发者往往需要编写能够兼容多种浏览器的代码,即“跨浏览器编程”。本文将从一个具体的示例出发,深入探讨如何通过JavaScript来检测...

    设置IE和FireFox的主页-僵小鱼.rar_firefox_ie 浏览器_主页

    标题中的“设置IE和Firefox的主页-僵小鱼.rar”表明这是一个关于如何配置Internet Explorer(IE)和Mozilla Firefox这两款浏览器主页的教程或工具。在互联网使用中,浏览器的主页通常是我们打开浏览器时默认显示的...

    IE firefox chrome 浏览器驱动 三种都有

    本压缩包包含的是针对IE、Firefox和Chrome这三种主流浏览器的最新版本驱动,确保了对不同浏览器的兼容性测试或自动化流程能够顺利进行。 首先,我们来看IE浏览器的驱动。IE(Internet Explorer)驱动,也被称为...

    判断火狐(firefox)或ie浏览器

    ### 知识点详解:判断火狐(Firefox)或IE浏览器 在Web开发领域,浏览器兼容性一直是开发者面临的重要问题之一。不同的浏览器对Web标准的支持程度不同,这可能导致同样的网页在不同浏览器中的显示效果存在差异。为了...

    JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结

    为了在IE和Firefox中兼容地访问“float”值,应该在IE浏览器中使用“styleFloat”属性,在Firefox浏览器中使用“cssFloat”属性。 2. 元素的推算样式访问差异 JavaScript通过“object.style.property”句法只能获取...

    js在IE与firefox的差异集锦

    特别是在使用JavaScript编程语言时,IE和Firefox两个浏览器在很多方面的实现都存在差异。本文将详细介绍这些差异并提供相应的解决方法。 1. 关于innerText属性的支持: Firefox浏览器不支持innerText属性,而支持...

    JS弹出式QQ在线客服插件,支持浏览器IE、FireFox、Chrome、Safari等主流浏览器

    接着,我们来看Firefox、Chrome、Safari和IE这些浏览器。Firefox是由Mozilla开发的开源浏览器,以其对Web标准的严格支持和扩展功能的灵活性而闻名。Chrome是Google的产品,以其速度和稳定性受到用户喜爱,其内核基于...

    不用IE内核的浏览器.rar_delphi IE_delphi IE_浏览器_浏览器 delphi_浏览器 内核

    这意味着开发者可能已经使用了其他开源或自定义的渲染引擎,如Chromium或Firefox的Gecko,或者更现代的WebKit(如Blink)来提供浏览网页的能力。这种替代方法通常可以带来更好的性能、安全性和兼容性,因为IE内核在...

    javascript 调试工具/教程,支持浏览器IE firefox

    了解在IE和Firefox中的调试方法能帮助开发者确保代码在各浏览器中的兼容性和性能。 总结,JavaScript调试是提高代码质量和效率的关键步骤。无论是Firefox的开发者工具还是IE的Developer Tools,都提供了丰富的功能...

    Javascript的IE和Firefox兼容性问题集合

    JavaScript是一种广泛应用于网页和网络应用的编程语言,它在实现动态交互、页面更新以及与服务器通信等方面发挥着关键作用。然而,由于不同的浏览器对JavaScript的支持程度和实现方式存在差异,尤其是Internet ...

    使网页变灰,支持IE、FireFox、Opera、360浏览器等

    标题 "使网页变灰,支持IE、FireFox、Opera、360浏览器等" 提到的是一个关于实现网页变灰效果的技术,这个效果通常在网站上用于表示哀悼或者纪念活动,将整个页面调成灰色。这个技术涉及到浏览器兼容性和JavaScript...

    DOM文档和Javascript的IE和Firefox兼容性

    "Javascript的IE和Firefox兼容性"则涉及到JavaScript在不同浏览器中的行为一致性问题。Internet Explorer(IE)和Mozilla Firefox是两个历史悠久且具有广泛用户基础的浏览器,它们对JavaScript的支持存在差异,尤其...

    兼容IE和Firefox的JS日历

    标题中的“兼容IE和Firefox的JS日历”指的是一个JavaScript实现的日历插件,它能够同时在Internet Explorer(IE)和Mozilla Firefox这两种不同的浏览器上正常运行。在网页开发中,由于浏览器之间的兼容性问题,同一...

    兼容IE和Firefox获得keyBoardEvent对象

    IE和Firefox是两种最常用的浏览器,它们对keyBoardEvent对象的支持存在一定的差异。本文将讨论IE和Firefox中获得keyBoardEvent对象的方法,并提供相应的解决方案。 1. 获取表单元素 在IE中,可以使用document.form...

    WebDriver(Chrome、IE、Edge、FireFox)

    WebDriver支持多种浏览器,包括Chrome、IE(Internet Explorer)、Edge和Firefox,这些都是在标题和描述中提及的。 1. **Chrome WebDriver**,也称为ChromeDriver,是由Google开发的,用于与Chrome浏览器进行通信。...

    Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)

    DJnative-SWT 支持多种浏览器引擎,包括IE、Firefox、WebKit等。在本示例中,特别提到了WebKit,这是一款广泛使用的开源渲染引擎,许多现代浏览器如Chrome和Safari都基于它。 SWT(Standard Widget Toolkit)是...

    通用浏览器插件 适用于IE,FireFox,Safari等九款浏览器

    【标题】"通用浏览器插件 适用于IE,FireFox,Safari等九款浏览器" 描述了一种跨平台、多浏览器兼容的插件开发技术。这样的插件设计旨在提供一致的功能体验,无论用户使用的是Internet Explorer(IE)、Firefox、...

    IE.rar_IE_IE VC_VC 浏览器_ie 浏览器_ie浏览器

    IE浏览器在历史上占据过市场主导地位,但由于性能和安全性的问题,逐渐被其他现代浏览器如Chrome、Firefox等取代。尽管如此,了解其工作原理和开发技术对于理解早期Web技术以及与之相关的编程实践仍然很有价值。 ...

    JS获得鼠标位置(兼容多浏览器ie,firefox)

    本文将详细讲解如何在不同的浏览器环境下,包括IE和Firefox,获取鼠标的坐标位置,并提供相应的源码示例。 首先,我们需要理解在浏览器环境中,鼠标的坐标通常有两种表示方式:页面坐标和元素坐标。页面坐标是指...

Global site tag (gtag.js) - Google Analytics