注意的一些问题:
(一)尽量使用javascript/DOM标准
(二)标准有时也不能跨浏览器
1)要面对跨浏览器的时候经常会遇到一些ie特有的函数?
可以这样解决:
做一个判断把ie和firefox的javascript代码分开写
if (typeof window.ActiveXObject != 'undefined') { // 支持IE浏览器
//do some thing here
}
else if((typeof document.implementation != 'undefined')&&(typeof document.implementation.createDocument!='undefined')) { // 支持Firefox浏览器
//do some thing here
}
2)如果遇到 window.event时在函数中就要特别处理:
e.g.
页面中:
< input type="button" value="test" onclick="javasctipt:testOnclick(event)" >
javasctipt中的代码
function testOnclick(evt){
evt = evt ? evt : (window.event ? window.event : null);
}
//获得点击对象的id
var elem = evt.srcElement ? evt.srcElement : evt.target;//这样可以事件的元素 相当于document.getelementById("xx")拿元素一样
idOfInputElement=elem.getAttribute("id");//如果有id属性的话就会拿到属性的值
3)关于Array的indexOf方法问题
Array是object对象,有些浏览器不支持idsArray.indexOf(..),这个方法也不是javascript标准,用循环可以拿到最正确的值
4)页面调用框架中的方法问题
比如有个 A.html,他包含了B.html; B.html有个 test()方法,有个button,按button就触发test方法
写法:<input type="button" value="test" onclick="top.B.test()"/>
如果用<input type="button" value="test" onclick="test()"/>在firefox上会不起作用
5)window.top.BB.document.getElementById("BFrame") 和window.top.BB.BFrame的不同 BB,BFrame是frame的name的value
window.top.frames["BB"].document.getElementById("BFrame")==window.top.BB.document.getElementById("BFrame") 结果是true,他们是同一对象
window.top.frames["BB"].document.getElementById("BFrame")==window.top.BB.BFrame 结果是 false,说明他们是不同的对象
window.top.BB.BFrame 是object window
window.top.frames["BB"].document.getElementById("BFrame")和window.top.BB.document.getElementById("BFrame")是objectHTMLFrameElement
他们在删除的时候也不一样,
object window拿到的是window对象,要删除两次才可以删掉,有时还会报错
objectHTMLFrameElement是页面中的frame元素,删一次就可以完全删除了,注意这样的删除只是指向了null,而objectHTMLFrameElement元素还是存在的
(三)初始化问题
在使用对象的时候,尽可能在使用前初始化,这样可以避免一些加载问题
(四)其他问题:
下面的代码用于屏蔽firefox鼠标右键
<script type="text/javascript">
document.oncontextmenu=function(e){return false;}
</script>
关于禁止选择:
在IE下,禁止用户选择内容,用脚本可以实现:
<script>
document.onselectstart = function(){return false;}
</script>
或
<body onselectstart="return false">
在firefox,这样子的写法没法实现相同的功能,不过可能用css实现:
在页面加上
<style>
html *{-moz-user-select: none;}
</style>
例子:
<style>
html *{-moz-user-select: none;}
</style>
<body>
试试看能否选择这些文字?
</body>
把 document.all["XX"] 改为 document.getElementById("XX");
分享到:
相关推荐
其次,DOM(Document Object Model)操作是JavaScript中常见的任务,IE和Firefox的DOM API实现也存在差异。IE倾向于使用其特有的ActiveXObject,而Firefox遵循W3C标准。例如,创建XMLHttpRequest对象,IE可能使用`...
本篇将主要探讨JavaScript在Internet Explorer (IE) 和Firefox之间的兼容性挑战,并通过给出的文件名列表解析这些测试用例所涉及的知识点。 1. **createDocument测试.html** 在IE和Firefox中,创建XML文档的方法...
由于`class`是JavaScript的保留字,访问和设置元素的CSS类在IE和Firefox中也有区别。IE使用`className`,Firefox同样如此,所以这个差异较小,但仍然需要注意: ```javascript var element = document....
标题与描述均聚焦于“JavaScript在IE和Firefox(火狐)的不兼容问题解决”,这表明文章旨在探讨并提供解决方案来处理在不同浏览器环境下的JavaScript兼容性问题,尤其是在Internet Explorer(IE)和Mozilla Firefox...
### Javascript的IE与Firefox(火狐)兼容性解决方案 在Web开发过程中,浏览器兼容性问题一直是开发者们关注的重点之一。由于不同的浏览器对于Web标准的支持程度存在差异,这导致了同样的代码在不同浏览器中的表现...
以上只是JavaScript在IE与Firefox中兼容性问题的一部分,实际开发中可能遇到更多细节。解决这些问题需要对两种浏览器的特性有深入理解,并使用条件注释、polyfills和现代JavaScript库(如jQuery)来确保代码在各种...
JavaScript兼容性问题一直以来都是Web开发中的重要议题,尤其是在IE与Firefox之间。这两个浏览器对JavaScript的实现存在诸多差异,导致开发者需要进行额外的工作以确保代码在各个浏览器上的表现一致。以下是一些关键...
在Web开发中,JavaScript的兼容性是至关重要的,尤其是在IE(Internet Explorer)和Firefox这两个浏览器之间。由于它们对JavaScript的实现存在显著差异,开发者需要掌握这些差异并采取适当的兼容处理措施。以下是...
JavaScript兼容性问题一直是Web开发中的一个痛点,尤其是在处理IE与Firefox之间差异时。本文将深入探讨两者在JavaScript函数和方法、样式访问和设置、DOM操作、事件处理以及其他方面的兼容性处理,帮助开发者解决跨...
以下是一些常见的JavaScript在IE和Firefox中的兼容性问题及解决方案: 1. **document.form.item问题** - 在IE中,可以通过`document.formName.item("itemName")`来访问表单元素,但在Firefox中不支持。推荐使用...
以上只是JavaScript在IE和Firefox之间兼容性问题的一部分,实际开发中可能还会遇到更多细节问题。解决这些问题通常需要深入理解各浏览器的差异,并结合条件判断、库或框架等技术手段来实现跨浏览器的代码。在编写...
### IE和Firefox的JavaScript兼容性问题详解 #### 1. `document.formName.item("itemName")` 问题 在处理表单元素时,IE 和 Firefox 对 `document.formName.item("itemName")` 的支持存在差异。 **说明:** - **...
除了以上列举的问题,还有一些其他需要注意的点,比如CSS样式在Firefox和IE中的表现可能不同,需要特别关注。在编写JavaScript代码时,为了确保跨浏览器兼容性,推荐使用DOM标准方法,避免依赖特定浏览器的行为。...
标题与描述均聚焦于“IE和Firefox在css,JavaScript方面的兼容性”,这涉及到网页开发中一个重要的议题:浏览器兼容性。在web开发中,确保代码能在不同浏览器上正常运行是至关重要的,因为用户可能使用各种不同的...
JavaScript是一种广泛应用于Web开发的脚本语言,它在不同的浏览器中可能会有不同的行为和表现,尤其是在老版本的Internet Explorer(IE)和Firefox之间。这两个浏览器在处理JavaScript语法、DOM操作、CSS渲染等方面...
调试JavaScript是网页开发中的重要环节,无论是在IE还是Firefox中,这些插件都提供了强大的JS调试功能。你可以设置断点,查看变量值,跟踪调用栈,这极大地提高了调试效率。对于CSS和HTML,开发者可以直接在页面上...
CSS和JavaScript在Internet Explorer(IE)和Firefox这两个浏览器中存在诸多差异,这些差异主要体现在DOM操作、属性访问、事件处理等方面。以下是一些关键的不同点: 1. **文档对象模型(DOM)操作** - **form元素...
以下是对标题和描述中涉及的知识点的详细说明,以及如何在IE和Firefox中进行JavaScript调试。 **一、JavaScript调试的重要性** JavaScript调试是开发过程中不可或缺的环节,它可以帮助开发者找出代码中的错误、性能...