用户名: 密   码:
   飞诺网 加入收藏
飞诺网 软件编程 C C++ Java VB Delphi Foxpro 汇编语言 游戏开发 移动开发 软件工程师 软工与管理 VC shell编程 C#
Java系列教程 Java实例 Java技术文档 lucene J2ME

您当前的位置:飞诺网 >> java >> Java实例

关于javascript在IE和Firefox上的区别

www.diybl.com    时间 : 2008-09-09  作者:佚名   编辑:本站 点击:   [ 评论 ]


通过一天的排错,终于解决了问题,这里跟大家分享下成果。
    1.本来在IE下面网页多运行正常,可是在firefox下一点击apply控件之后,html前面的很多代码就会别网页无缘无故的吃掉,结果过来一堆代码。后来就是不知道是什么原因,干脆在代码行前面空了N个空行,结果OK啦
   
    2.IE下,一切也运行正常,可发现SELECT控件在firefox下一点作用都起不了,感觉很是纳闷,只有跟踪代码,发现根本都没有下下去,发现在代码的属性里支持的差异啦
本来的代码是
       else if (data_type == T_SELECT) {
    var select_index = document.getElementById(name).selectedIndex;
    form_data = name + "=" + document.getElementById(name).options(select_index).value;
  }

改正过之后
       else if (data_type == T_SELECT) {
    var select_index = document.getElementsByName(name)[0].selectedIndex;
    form_data = name + "=" + document.getElementsByName(name)[0].options【select_index】.value;
  }
主要的区别就是一个是用的getElementById(name)。另一个getElementsByName(name)[0]。
另外一个重要点就是options(select_index).value,改为options【select_index】.value。

3.html中的字符比较
    var aa=“my_name”
    if (aa == "my")这个语句返回的是真,它其实只比较到他的某一个字符串结束就结束了,
    这个一点要注意

4. HTML 对象的 id 作为对象名的问题
    (1)现有问题
        在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能。
    (2)解决方法
        用 getElementById("idName") 代替 idName 作为对象变量使用。

5. 用idName字符串取得对象的问题
    (1)现有问题
        在IE中,利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象,在MF 中不能。
    (2)解决方法
        用 getElementById(idName) 代替 eval(idName)。

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

 参考:http://www.hxblog.net/article.asp?id=983
如果图片或页面不能正常显示请点击这里
Java实例推荐文章

文章评论