Javascript在IE和FF里的兼容问题

2016-02-20 00:45 7 1 收藏

下面是个简单易学的Javascript在IE和FF里的兼容问题教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - Web开发 】

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

1. document.form.item 问题

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

现有问题
现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在 MF 下运行

解决方法
改用 document.formName.elements["elementName"]

其它
参见 2

2. 集合类对象问题

现有问题
现有代码中许多集合类对象取用时使用 (),IE 能接受,MF 不能。

解决方法
改用 [] 作为下标运算。如:document.forms("formName") 改为 document.forms["formName"]。
又如:document.getElementsByName("inputName")(1) 改为 document.getElementsByName("inputName")[1]

3. window.event

现有问题
使用 window.event 无法在 MF 上运行

解决方法
MF 的 event 只能在事件发生的现场使用,此问题暂无法解决。可以这样变通:
原代码(可在IE中运行):

            input type="button" name="someButton" value="提交" onclick="javascript:gotoSubmit()"/
            ...
            script language="javascript"
                function gotoSubmit() {
                    ...
                    alert(window.event);    // use window.event
                    ...
                }
            /script

新代码(可在IE和MF中运行):

            input type="button" name="someButton" value="提交" onclick="javascript:gotoSubmit(event)"/
            ...
            script language="javascript"
                function gotoSubmit(evt) {
                    evt = evt ? evt : (window.event ? window.event : null);
                    ...
                    alert(evt);             // use evt
                    ...
                }
            /script

此外,如果新代码中第一行不改,与老代码一样的话(即 gotoSubmit 调用没有给参数),则仍然只能在IE中运行,但不会出错。所以,这种方案 tpl 部分仍与老代码兼容。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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

现有问题:
在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能。

解决方法:
用 getElementById("idName") 代替 idName 作为对象变量使用。

来源:http://www.tulaoshi.com/n/20160220/1632480.html

延伸阅读
标签: Web开发
网上很多,这类的兼容问题的汇总,但是个人不经常hack。IE8的hack用的更少。贴出来以备以后查阅。    程序代码 #box{ color:red; /* 所有浏览器都支持 */ color:red !important;/* Firefox、IE7支持 */ _color:red; /* IE6支持 */ *color:red; /* IE6、IE7支持 */ *+color:red; /* IE7支持 */ color:red\9; /* IE6、IE7、IE8支持 ...
标签: Web开发
发帖时无法插入可运行代码? 以下为程序代码: 这个是可以拖动的层 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
标签: Web开发
这段程序的设为首页自动获取当前文档URL的域名,加入收藏的描述取自当前文档的标题。 代码:  程序代码 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/htm...
标签: Web开发
程序代码 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8" / title鼠标在焦点时移动位置/title style type="text/css" /* Reset style */ * {...
标签: Web开发
1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width 5.FF: 支...

经验教程

483

收藏

42
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部