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兼容性问题,尤其是在Internet Explorer(IE)和Mozilla Firefox...
本篇将主要探讨JavaScript在Internet Explorer (IE) 和Firefox之间的兼容性挑战,并通过给出的文件名列表解析这些测试用例所涉及的知识点。 1. **createDocument测试.html** 在IE和Firefox中,创建XML文档的方法...
### Javascript的IE与Firefox(火狐)兼容性解决方案 在Web开发过程中,浏览器兼容性问题一直是开发者们关注的重点之一。由于不同的浏览器对于Web标准的支持程度存在差异,这导致了同样的代码在不同浏览器中的表现...
以下是一些常见的JavaScript在IE和Firefox上的兼容性问题及其解决策略: 1. **事件处理**:IE使用attachEvent方法添加事件监听器,而Firefox则使用addEventListener。为确保兼容,可以创建一个跨浏览器的事件处理...
### JavaScript在Internet Explorer (IE) 和 Firefox 中的区别与解决方案 #### 一、获取HTML元素的方式差异 1. **通过ID获取元素**: - **IE**:支持`document.getElementById`和`document.all`两种方式。 - ...
然而,由于不同的浏览器对其解析和执行的方式存在差异,尤其是IE(Internet Explorer)和Firefox,这导致了JavaScript在不同浏览器间的兼容性问题。这份文档“IE火狐的JavaScript兼容.doc”深入探讨了这些差异,并...
以上只是JavaScript在IE与Firefox中兼容性问题的一部分,实际开发中可能遇到更多细节。解决这些问题需要对两种浏览器的特性有深入理解,并使用条件注释、polyfills和现代JavaScript库(如jQuery)来确保代码在各种...
JavaScript是一种广泛应用于网页开发的脚本语言,但在不同的浏览器中,其执行方式可能存在差异,特别是老版本的Internet Explorer(IE)和Firefox。由于历史原因,IE对某些特性有着独特的实现,而Firefox则遵循更...
本文将详细介绍如何编写能够在IE和Firefox上同时工作的鼠标滚轮事件JavaScript代码。 #### 核心知识点 1. **事件对象的差异**:IE和Firefox中,用于获取鼠标滚轮滚动方向的属性不同。 - 在IE中,使用 `event....
JavaScript是一种广泛应用于Web开发的脚本语言,它在不同的浏览器中可能会有不同的行为和表现,尤其是在老版本的Internet Explorer(IE)和Firefox之间。这两个浏览器在处理JavaScript语法、DOM操作、CSS渲染等方面...
CSS和JavaScript在Internet Explorer(IE)和Firefox这两个浏览器中存在诸多差异,这些差异主要体现在DOM操作、属性访问、事件处理等方面。以下是一些关键的不同点: 1. **文档对象模型(DOM)操作** - **form元素...
JavaScript在Firefox和IE之间的兼容性问题一直是前端开发者面临的一大挑战。由于这两个浏览器内核的不同,导致在处理某些JavaScript特性时存在差异。以下是一些常见的兼容性问题及其解决方案: 1. **Document.form....
"Javascript的IE和Firefox兼容性"则涉及到JavaScript在不同浏览器中的行为一致性问题。Internet Explorer(IE)和Mozilla Firefox是两个历史悠久且具有广泛用户基础的浏览器,它们对JavaScript的支持存在差异,尤其...
以下是对标题和描述中涉及的知识点的详细说明,以及如何在IE和Firefox中进行JavaScript调试。 **一、JavaScript调试的重要性** JavaScript调试是开发过程中不可或缺的环节,它可以帮助开发者找出代码中的错误、性能...
在这个"JavaScript实现的适合做娱乐频道的焦点图代码,兼容IE和Firefox.zip"压缩包中,包含了一个JavaScript实现的焦点图代码,该代码特别强调了对Internet Explorer(IE)和Firefox浏览器的兼容性,这在早期的Web...
标题与描述均聚焦于“IE和Firefox在css,JavaScript方面的兼容性”,这涉及到网页开发中一个重要的议题:浏览器兼容性。在web开发中,确保代码能在不同浏览器上正常运行是至关重要的,因为用户可能使用各种不同的...
JavaScript 和 CSS 在不同的浏览器上,特别是 Internet Explorer (IE) 和 Mozilla Firefox 之间存在一些差异,这些差异主要体现在解析规则、实现细节以及某些功能的支持上。理解这些差异对于编写跨浏览器兼容的代码...
调试JavaScript是网页开发中的重要环节,无论是在IE还是Firefox中,这些插件都提供了强大的JS调试功能。你可以设置断点,查看变量值,跟踪调用栈,这极大地提高了调试效率。对于CSS和HTML,开发者可以直接在页面上...
在处理表单元素时,IE 和 Firefox 对 `document.formName.item("itemName")` 的支持存在差异。 **说明:** - **IE环境下**,可以通过 `document.formName.item("itemName")` 或 `document.formName.elements[...