`

JAVASCRIPT应用篇(4)--JS的IE和Firefox兼容性汇编

阅读更多

JS的IE和Firefox兼容性汇编

以下以 IE 代替 Internet Explorer,以 MF 代替 Mozzila Firefox

1. 对象问题
1.1 Form对象
现有问题:
现有代码这获得form对象通过document.forms("formName"),这样使用在IE 能接受,MF 不能。
解决方法:
改用 作为下标运算。改为document.forms["formName"]
备注
上述的改用 作为下标运算中的formName是id而name

1.2 HTML对象
现有问题:
在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能。
document.all("itemName")或者document.all("itemId")
解决方法:
使用对象ID作为对象变量名
document.getElementById("itemId")
备注
document.all是IE自定义的方法,所以请大家尽量不使用。
还有一种方式,在IE和MF都可以使用
var f = document.forms["formName "];
var o = f. itemId;

1.3 DIV对象
现有问题:
在 IE 中,DIV对象可以使用ID作为对象变量名直接使用。在 MF 中不能。
DivId.style.display = "none"
解决方法:
document.getElementById("DivId").style.display = "none"
备注
获得对象的方法不管是不是DIV对象,都使用getElementById方法。参见1.2


1.4 关于frame
现有问题
在 IE中 可以用window.testFrame取得该frame,mf中不行
解决方法
在frame的使用方面MF和IE的最主要的区别是:
如果在frame标签中书写了以下属性:

那么IE可以通过id或者name访问这个frame对应的window对象
而mf只可以通过name来访问这个frame对应的window对象
例如如果上述frame标签写在最上层的window里面的htm里面,那么可以这样访问
IE: window.top.frameId或者window.top.frameName来访问这个window对象
MF:只能这样window.top.frameName来访问这个window对象
另外,在mf和ie中都可以使用window.top.document.getElementById("frameId")来访问frame标签
并且可以通过window.top.document.getElementById("testFrame").src = 'xx.htm'来切换frame的内容
也都可以通过window.top.frameName.location = 'xx.htm'来切换frame的内容

1.5 窗口
现有问题
IE中可以通过showModalDialog和showModelessDialog打开模态和非模态窗口,但是MF不支持。
解决办法
直接使用window.open(pageURL,name,parameters)方式打开新窗口。
如果需要传递参数,可以使用frame或者iframe。

2. 总结
2.1 在JS中定义各种对象变量名时,尽量使用id,避免使用name。
在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能,所以在平常使用时请尽量使用id,避免只使用name,而不使用id。

2.2 变量名与某 HTML 对象 id 相同的问题
现有问题
在 MF 中,因为对象 id 不作为 HTML 对象的名称,所以可以使用与 HTML 对象 id 相同的变量名,IE 中不能。
解决方法
在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行。
此外,最好不要取与 HTML 对象 id 相同的变量名,以减少错误。

分享到:
评论

相关推荐

    Javascript的IE和Firefox兼容性汇编 .txt

    ### JavaScript的IE与Firefox兼容性问题详解 #### 引言 在Web开发中,确保脚本能在不同浏览器间正常运行是非常重要的。特别是对于早期版本的Internet Explorer (IE) 和 Firefox (MF),由于它们对JavaScript的支持...

    javascript的IE和Firefox兼容性汇编

    ### JavaScript的IE与Firefox兼容性解决方案 #### 一、`document.form.item` 问题 - **现有问题**:代码中存在大量使用 `document.formName.item("itemName")` 的语句,这种写法在 Mozilla Firefox(简称MF)...

    Javascript的IE和Firefox兼容性汇编(zz)

    ### JavaScript的IE与Firefox兼容性解决方案 #### 一、引言 随着Web技术的发展,JavaScript已成为前端开发不可或缺的一部分。然而,不同的浏览器对于JavaScript的支持程度各不相同,特别是Internet Explorer (IE) ...

    IE/FF兼容问题

    - "JavaScript常用浏览器对象.mht"和"JS的IE和Firefox兼容性汇编.mht"可能包含了针对不同浏览器的JavaScript对象和兼容性解决方案的详细信息,如navigator对象、window对象等。 - "Javascript document对象详解....

    Javascript的IE和Firefox兼容性汇编

    以下以 IE 代替 Internet Explorer,以 MF 代替 Mozzila Firefox 1. document.form.item 问题 (1)现有问题: 现有代码中存在许多 document.formName.item(“itemName”) 这样的语句,不能在 MF 下运行 (2)解决...

    JavaScript 实例 精粹 整理

    包括:11种用javascript做的刷新按钮的方法、40种Javascript中常用的使用小技巧、Javascript的IE和Firefox兼容性汇编、JavaScript函数大全、JavaScript实际应用:innerHTMl和确认提示的使用、 CSS的常用技巧、IP地址...

    WASM汇编开发工具包

    3. **兼容性**:WASM被所有主流浏览器支持,包括Chrome、Firefox、Safari和Edge,提供跨平台的兼容性。 **二、WASM与汇编语言** 1. **汇编语言**:汇编语言是一种低级编程语言,每个指令对应机器码的一个或几个字节...

    VE-SDK-1.2.3_jem.zip

    传统的JavaScript引擎如V8(Chrome内核)和SpiderMonkey(Firefox内核)通常运行在资源丰富的PC或服务器上,但jem被优化以在资源有限的硬件上运行,例如嵌入式设备和物联网节点。它实现了ECMAScript规范,使得开发者...

    AJAX面试题汇总[汇编].pdf

    创建方式在不同浏览器间略有差异,如IE使用`new ActiveXObject()`,Firefox等使用`new XMLHttpRequest()`。 **4. AJAX技术体系** - **HTML**:定义页面结构 - **CSS**:负责样式和布局 - **DOM**:处理页面内容,...

    2011主流浏览器半年综合横评单核篇[汇编].pdf

    1. **Trident内核**:由微软开发,主要用于Internet Explorer(IE),它与Windows系统深度集成,提供良好的兼容性和性能,但在Web标准支持方面相对较弱。 2. **Gecko内核**:由Mozilla基金会开发,是Firefox浏览器...

Global site tag (gtag.js) - Google Analytics