JS:firefox 兼容性问题
发布时间:2009-08-01 16:20:00
JS在firefox中的兼容性问题,自己也经常遇到.此文是网上资料,不过时间较久不记得原址了...
1. document.form.item 问题
(1)现有问题:现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在 FF下运行
(2)解决方法:改用 document.formName.elements["elementName"]
(3)其它:参见 2
2. 集合类对象问题
(1)现有问题:现有代码中许多集合类对象取用时使用 (),IE 能接受,FF不能。
(2)解决方法:改用 [] 作为下标运算。
如:document.forms("formName") 改为 document.forms["formName"]。
又如:document.getElementsByName("inputName")(1) 改为 document.getElementsByName("inputName")[1]
(3)其它
3. window.event
(1)现有问题:使用 window.event 无法在 FF上运行
(2)解决方法:FF的 event 只能在事件发生的现场使用,此问题暂无法解决。可以这样变通:
原代码(可在IE中运行):
<input type="button" value="提交" />
...
<script language="javascript">
function gotoSubmit() {
...
alert(window.event); // use window.event
...
}
</script>
新代码(可在IE和FF中运行):
<input type="button" value="提交" />
...
<script language="javascript">
function gotoSubmit(evt) {
evt = evt ? evt : (window.event ? window.event : null);
...
alert(evt); // use evt
...
}
</script>
此外,如果新代码中第一行不改,与老代码一样的话(即 gotoSubmit 调用没有给参数),则仍然只能在IE中运行,但不会出错。所以,这种方案 tpl 部分仍与老代码兼容。
4. HTML 对象的 id 作为对象名的问题
(1)现有问题:在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 FF中不能。
(2)解决方法:用 getElementById("idName") 代替 idName 作为对象变量使用。
5. 用idName字符串取得对象的问题
(1)现有问题:在IE中,利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象,在FF中不能。
(2)解决方法:用 getElementById(idName) 代替 eval(idName)。
6. 变量名与某 HTML 对象 id 相同的问题
(1)现有问题:在 FF中,因为对象 id 不作为 HTML 对象的名称,所以可以使用与 HTML 对象 id 相同的变量名,IE 中不能。
(2)解决方法:在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行。
此外,最好不要取与 HTML 对象 id 相同的变量名,以减少错误。
(3)其它:参见 问题4
猜你喜欢
- 因为他的简单实用和数量庞大的插件,所以我们喜欢和使用jQuery,在jQuery数量庞大的插件中有很大的一部分是关于图片的,所以今天我们就整
- 刚看到吴磊同学的一些关于购物车的想法,正巧本人丁学对电子商务这方面比较熟悉,跳出来献丑了,希望对一些同行有些用处。本来想回复到下面的,结果发
- 本文实例讲述了Python操作多维数组输出和矩阵运算。分享给大家供大家参考,具体如下:在许多编程语言中(Java,COBOL,BASIC),
- having的用法having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和havi
- 如下所示:# u [32,30,200]# u_logits [400,32,30]q_j_400 = [] for j in range(
- 项目开发中文件的读写是必不可少的下面来简单介绍一下文件的读读文件,首先我们要有文件那我首先自己创建了一个文本文件password.txt内容
- 本文实例讲述了js比较日期大小的方法。分享给大家供大家参考。具体如下:function DateDiff(d1,d2){ var resul
- declare @tt varchar(20) set @tt = 'monisubbouns' declare @int
- 视图是一种常用的数据库对象,它将查询的结果以虚拟表的形式存储在数据中。因为视图有非常多的优点:1,可以简化操作,2,可以建立前台和后台的缓冲
- 题:取表table中100条-200条之间数据 方法1:临时表 select top 200 * into #aa from table o
- PHP get_html_translation_table() 函数实例输出 htmlspecialchars 函数使用的翻译表:<
- 在setup()钩子函数中调用父组件<template><div> &nb
- 以下面这个例子作为教程,实现功能是element-wise add;(pytorch中想调用cuda模块,还是用另外使用C编写接口脚本)第一
- 听说firefox是史上最好用的浏览器,便下载下来体验一番,将体验感受与大家分享一下,并和我一直使用的the world浏览器做一个对比!首
- Python 登录网站详解及实例对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看。这是因为 HTTP 协议是一个无状态
- 参考项目描述Python 标准库DougHellmann 著 / 刘炽 等 译搜索引擎BingPyt
- 一、安装plotly库因为这部分内容主要是用plotly库进行数据动态展示,所以要先安装plotly库pip install plotly除
- 前言: 上一篇讲了Python排序问题中比较经典的三个方法,(链接:关于Python排
- 最近在研究品牌如何演绎,当然,看的时候没有忘记本行,分析了一下他们的交互设计~~路易威登LV上图采用胶片展示多组信息——大片展示品牌渲染。利
- python实现四舍五入""" 四舍五入 :param