`
strugglesMen
  • 浏览: 116960 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

JavaScript代码在IE和Firefox间的区别

阅读更多

1. HTML 对象的 id 作为对象名的问题

  IE:HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用

  FF:不支持

  解决方法:使用document.getElementById替代document.all

  2. 如果控件只有name,没有id, 用getElementById时:

  IE:可以找到对象

  FF:返回NULL

  解决方法:所有控件必须设置ID属性

  3. Evel:

  IE:支持,利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象

  FF:不支持。

  解决方法:统一使用getElementById(idName) 代替 eval(idName)。

  4. Event:

  IE:用全局对象window.event

  FF:event只能在事件发生的现场使用,在调用函数时传入event对象

  解决方法:使用之前做一下浏览器类型判断,各用各的。

  5. 对象名称中美元符号‘$’改为使用下划线‘_’

  6. 集合类对象问题

  IE:可以使用()或[]获取集合类对象

  FF:只能使用[]获取集合类对象

  现有代码中存在许多,不能在 FF 下运行

  解决方法:统一使用[]获取集合类对象。document.form.item("itemName") 这样的语句改为document.form.elements["elementName"]

  7. 变量名与某 HTML 对象 id 相同的问题

  IE:不能使用与 HTML 对象 id 相同的变量名

  FF:可以使用

  解决方法:在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行。

  此外,最好不要取与 HTML 对象 id 相同的变量名,以减少错误。

  8. Event定位问题

  IE:支持event.x 和event.y

  FF:支持event.pageX和event.pageY

  解决方法,统一使用event.clientX和event.clientY,但是在FF中event.clientX 与 event.pageX 有微妙的差别(当整个页面有滚动条的时候),不过大多数时候是等效的。如果要完全一样,可以判断浏览器类型后对应使用。

  9. 父结点的问题

  IE:parentElement parentElement.children

  FF:parentNode parentNode.childNodes

  childNodes的下标的含义在IE和FF中不同,FF使用DOM规范,childNodes中会插入空白文本节点。一般可以通过node.getElementsByTagName()来回避这个问题。

  当html中节点缺失时,IE和FF对parentNode的解释不同,例如

 


 <form> 
<table
  <input/> 
</table> 
</form>

 

  IE:input.parentNode的值为空节点

  FF:input.parentNode的值为form

  FF中节点没有removeNode方法,必须使用如下方法 node.parentNode.removeChild(node)

  10. const 问题

  现有问题:

  IE:不支持 const 关键字。如 const constVar = 32; 在IE中这是语法错误。

  FF:支持

  解决方法:不使用 const ,以 var 代替。

  11. body 对象

  IE:在body标签完全被读入之后才存在

  FF:在body标签没有被浏览器完全读入之前就存在

  12. 自定义属性问题

  IE:可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性

  FF:只能使用getAttribute()获取自定义属性.

  解决方法:统一通过getAttribute()获取自定义属性

  13. event.srcElement问题

  IE:even.srcElement

  FF:even.target

  解决方法:使用时判断浏览器类型,各用各的。

  14. 模态和非模态窗口

  IE:支持模态和非模态窗口

  FF:不支持

  解决方法:直接使用window.open(pageURL,name,parameters)方式打开新窗口。如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口。

  15. innerText

  IE:innerText

  FF:textContent

  16. 类似 obj.style.height = imgObj.height 的语句

  IE:有效

  FF:无效

  解决方法:统一使用obj.style.height = imgObj.height + 'px';

 

分享到:
评论

相关推荐

    JavaScript在IE和Firefox(火狐)的不兼容问题解决

    标题与描述均聚焦于“JavaScript在IE和Firefox(火狐)的不兼容问题解决”,这表明文章旨在探讨并提供解决方案来处理在不同浏览器环境下的JavaScript兼容性问题,尤其是在Internet Explorer(IE)和Mozilla Firefox...

    javascript在IE和Firefox中兼容性问题

    本篇将主要探讨JavaScript在Internet Explorer (IE) 和Firefox之间的兼容性挑战,并通过给出的文件名列表解析这些测试用例所涉及的知识点。 1. **createDocument测试.html** 在IE和Firefox中,创建XML文档的方法...

    Javascript的IE和Firefox(火狐)兼容性

    ### Javascript的IE与Firefox(火狐)兼容性解决方案 在Web开发过程中,浏览器兼容性问题一直是开发者们关注的重点之一。由于不同的浏览器对于Web标准的支持程度存在差异,这导致了同样的代码在不同浏览器中的表现...

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

    以下是一些常见的JavaScript在IE和Firefox上的兼容性问题及其解决策略: 1. **事件处理**:IE使用attachEvent方法添加事件监听器,而Firefox则使用addEventListener。为确保兼容,可以创建一个跨浏览器的事件处理...

    js在IE和fireFox的区别

    ### JavaScript在Internet Explorer (IE) 和 Firefox 中的区别与解决方案 #### 一、获取HTML元素的方式差异 1. **通过ID获取元素**: - **IE**:支持`document.getElementById`和`document.all`两种方式。 - ...

    IE和Firefox对JavaScript的兼容

    然而,由于不同的浏览器对其解析和执行的方式存在差异,尤其是IE(Internet Explorer)和Firefox,这导致了JavaScript在不同浏览器间的兼容性问题。这份文档“IE火狐的JavaScript兼容.doc”深入探讨了这些差异,并...

    Javascript在IE和FireFox中的兼容处理

    以上只是JavaScript在IE与Firefox中兼容性问题的一部分,实际开发中可能遇到更多细节。解决这些问题需要对两种浏览器的特性有深入理解,并使用条件注释、polyfills和现代JavaScript库(如jQuery)来确保代码在各种...

    Javascript的IE和Firefox兼容性参考

    JavaScript是一种广泛应用于网页开发的脚本语言,但在不同的浏览器中,其执行方式可能存在差异,特别是老版本的Internet Explorer(IE)和Firefox。由于历史原因,IE对某些特性有着独特的实现,而Firefox则遵循更...

    IE和Firefox的鼠标滚轮事件JavaScript代码

    本文将详细介绍如何编写能够在IE和Firefox上同时工作的鼠标滚轮事件JavaScript代码。 #### 核心知识点 1. **事件对象的差异**:IE和Firefox中,用于获取鼠标滚轮滚动方向的属性不同。 - 在IE中,使用 `event....

    Javascript在IE和FireFox中的不同表现

    JavaScript是一种广泛应用于Web开发的脚本语言,它在不同的浏览器中可能会有不同的行为和表现,尤其是在老版本的Internet Explorer(IE)和Firefox之间。这两个浏览器在处理JavaScript语法、DOM操作、CSS渲染等方面...

    css和javascript在IE和Firefox中二十三个不同点

    CSS和JavaScript在Internet Explorer(IE)和Firefox这两个浏览器中存在诸多差异,这些差异主要体现在DOM操作、属性访问、事件处理等方面。以下是一些关键的不同点: 1. **文档对象模型(DOM)操作** - **form元素...

    javascript在firefox与ie下的兼容性总结

    JavaScript在Firefox和IE之间的兼容性问题一直是前端开发者面临的一大挑战。由于这两个浏览器内核的不同,导致在处理某些JavaScript特性时存在差异。以下是一些常见的兼容性问题及其解决方案: 1. **Document.form....

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

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

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

    以下是对标题和描述中涉及的知识点的详细说明,以及如何在IE和Firefox中进行JavaScript调试。 **一、JavaScript调试的重要性** JavaScript调试是开发过程中不可或缺的环节,它可以帮助开发者找出代码中的错误、性能...

    JavaScript实现的适合做娱乐频道的焦点图代码,兼容IE和Firefox.zip

    在这个"JavaScript实现的适合做娱乐频道的焦点图代码,兼容IE和Firefox.zip"压缩包中,包含了一个JavaScript实现的焦点图代码,该代码特别强调了对Internet Explorer(IE)和Firefox浏览器的兼容性,这在早期的Web...

    IE和Firefox在css,JavaScript方面的兼容性

    标题与描述均聚焦于“IE和Firefox在css,JavaScript方面的兼容性”,这涉及到网页开发中一个重要的议题:浏览器兼容性。在web开发中,确保代码能在不同浏览器上正常运行是至关重要的,因为用户可能使用各种不同的...

    javascript和css在IE和Firefox中的不同点

    JavaScript 和 CSS 在不同的浏览器上,特别是 Internet Explorer (IE) 和 Mozilla Firefox 之间存在一些差异,这些差异主要体现在解析规则、实现细节以及某些功能的支持上。理解这些差异对于编写跨浏览器兼容的代码...

    IE和firefox调试插件

    调试JavaScript是网页开发中的重要环节,无论是在IE还是Firefox中,这些插件都提供了强大的JS调试功能。你可以设置断点,查看变量值,跟踪调用栈,这极大地提高了调试效率。对于CSS和HTML,开发者可以直接在页面上...

    ie 和 firefox 的javascript 兼容问题(网上下载的).doc

    在处理表单元素时,IE 和 Firefox 对 `document.formName.item("itemName")` 的支持存在差异。 **说明:** - **IE环境下**,可以通过 `document.formName.item("itemName")` 或 `document.formName.elements[...

Global site tag (gtag.js) - Google Analytics