最新文章专题视频专题关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
mac怎样缩小图片 电脑版wps怎么制作条形码 电脑系统如何安装防火墙 07版word怎么去掉背景色 海信冰箱启动声音大咋回事 用wps怎么制作条形码 win7电脑防火墙在哪里设置 为什么看微信头像模糊 打印机a4纸怎么放 wps里怎么制作条形码 绿豆汤怎么做简单 坚果手机滚动截屏怎么截 腌蒜瓣的做法 怎么在WPS制作一个条形码 自制绿豆汤怎么做 手机qq聊天怎么长截图 电脑怎么更新显示驱动 怎么在wps中制作条形码 在家怎么做绿豆汤 怎么关掉keep自动续费 电脑里的本地连接不见了怎么办 电脑里的防火墙在哪里 wps2016怎么制作条形码 mate305g版和4g区别 无法查找网络共享的打印机驱动 怎样做茶树菇 wps中条形码怎么制作 鲜的茶树菇怎么做好吃 ps下载了打不开怎么办啊 win10怎么格式化电脑 wps2019条形码怎么制作 联想扬天笔记本能加内存条吗 鲜茶树菇怎么做才好吃 鲍鱼螺什么地方不能吃 怎么用wps制作产品条形码 茶树菇湿的怎么做好吃 怎么恢复微信删除的图片 许多图片怎么做成视频 WPS文档怎么制作条形码 茶树菇怎么做比较好吃
当前位置: 首页 - 科技 - 知识百科 - 正文

浏览器兼容的JS写法总结_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 21:49:44
文档

浏览器兼容的JS写法总结_javascript技巧

浏览器兼容的JS写法总结_javascript技巧:一、元素查找问题 1. document.all[name] (1)现有问题:Firefox不支持document.all[name] (2)解决方法:使用getElementsByName(name),getElementById(id)等来替代。 2. 集合类对象问题 (1)现有问题:IE中对许多集合类对象取用时可以用 (),但在
推荐度:
导读浏览器兼容的JS写法总结_javascript技巧:一、元素查找问题 1. document.all[name] (1)现有问题:Firefox不支持document.all[name] (2)解决方法:使用getElementsByName(name),getElementById(id)等来替代。 2. 集合类对象问题 (1)现有问题:IE中对许多集合类对象取用时可以用 (),但在
一、元素查找问题
1. document.all[name]
(1)现有问题:Firefox不支持document.all[name]
(2)解决方法:使用getElementsByName(name),getElementById(id)等来替代。

2. 集合类对象问题
(1)现有问题:IE中对许多集合类对象取用时可以用 (),但在Firefox只能用[]。
如:IE中可以使用document.forms("formName")来返回名字为"formName"的Form,但在Firefox却行不通。
(2)解决方法:使用[],上例中可以改为document.forms["formName"]

3. HTML元素的ID在JavaScript可见
(1)现有问题:IE中HTML元素中的ID可以作为document的下属对象变量名直接使用。在Firefox中不能。
(2)解决方法:使用getElementById("idName")代替idName作为对象变量使用。

4. eval(idName)取得对象
(1)现有问题:在IE中,利用eval(idName)可以取得ID为idName的HTML对象,在Firefox中不能。
(2)解决方法:用 getElementById(idName) 代替 eval(idName)。

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

注:3、4和5都属于同一类的问题。

6. Frame
(1)现有问题:在IE中可以用window.top.frameId和window.top.frameName来得到该Frame所代表的Window,Firefox中只能用window.top.frameName。
(2)解决方法:将Frame的Id和Name设置成相同,使用window.top.frameName来访问Frame。

二、DOM操作
1. 设置元素的文本内容。
(1)现有问题:IE使用innerText,而Firefox使用textContent来设置元素文本内容。
(2)解决方法:如果文本内容不包含"<"和">"等特殊字符,可以使用innerHTML。否则,可以使用:

2. parentElement,parent.children
(1)现有问题:IE可以使用parentElement获得父结点,parent.children得到结点的所有孩子结点。Firefox不支持。
(2)解决方法:使用parentNode和parent.childNodes。

3. 对childNodes的解释。
(1)现有问题:IE和Firefox中对childNodes的解释不同,IE不会包含空白文本结点,而Firefox会包含。
(2)解决方法:使用childNodes过滤文本结点,如下:

4. 对document.getElementsByName的解释。
(1)现有问题:IE中getElementsByName只会检查元素,而在Firefox下会检查所有元素。
(2)解决方法:不要使用getElementsByName检查除之外的元素,如果要获得单个元素,尽量使用getElementById。

5. 对document.getElementById的解释。
(1)现有问题:IE中getElementById不仅检查Id属性,也会检查Name属性,当Name属性匹配参数时也会返回该元素。而在Firefox中只会检查Id属性。
(2)解决方法:尽量保持Id和Name相同,不要让一个元素name属性和另一个元素的id属性相同。

三、事件
1. event.x与event.y问题
(1)现有问题:在IE中,event对象有x,y 属性,Firefox中没有。
(2)解决方法:在Firefox中,与event.x 等效的是 event.pageX。可以使用:
mX = event.x ? event.x : event.pageX;

2. window.event
(1)现有问题:使用window.event无法在Firefox上运行
(2)解决方法:
原代码(可在IE中运行):

Firefox:

(2)解决方法:比较好的方法给Firefox的Element添加selectNodes方法。

这样在IE和Firefox中就都可以调用selectNodes方法了。

5. XSLT支持
(1)现有问题:IE中可以使用XmlDOM的transferNode方法将其转换成html,而Firefox需要使用XSLTProcessor。
IE:

Firefox:

(2)解决方法:比较好的方法给Firefox的Node添加transferNode方法。

这样在IE和Firefox中就都可以调用transferNode方法了。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:0731-84117792 E-MAIL:11247931@qq.com

文档

浏览器兼容的JS写法总结_javascript技巧

浏览器兼容的JS写法总结_javascript技巧:一、元素查找问题 1. document.all[name] (1)现有问题:Firefox不支持document.all[name] (2)解决方法:使用getElementsByName(name),getElementById(id)等来替代。 2. 集合类对象问题 (1)现有问题:IE中对许多集合类对象取用时可以用 (),但在
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题jquery程序专题js单点登录怎么实现专题js且怎么写专题js弹窗怎么写专题jquery网页入门专题js如何写专题js怎么和html结合专题word 转 html js专题js写方法专题用js写入html专题jquery兼容专题html js写法专题jquery 帮助文档专题如何用js写脚本专题html输入框内容专题html 里面写js专题jquery插件怎么写专题html节点专题html5 progress专题html 外部js专题
Top