注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

taijihome的博客

 
 
 

日志

 
 

FireFox&IE下javascript的7点差异  

2009-07-27 14:03:01|  分类: JS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  现在由于各种原因现在还是有很多用户依然钟爱IE6,感觉那一部分人并不喜欢改变浏览器使用习惯,IE7都出来这么久了也没见多少占有率,甚至IE8都要强行自动更新了也不见什么效果,可以理解的是有些用户是因为工作场合的要求而使用IE6,所以我们经常要做很多额外的代码工作来兼容各种主流的浏览器,不过当IE6的使用率在10%以下的时候也就没有这个必要了。

 IE&Firefox 在DOM、事件等上有很多自己的实现,下面这些是比较常见的语法上的区别:

1.CSS的float属性

由于float在javascript中是保留字,所以获取元素的float属性不能像其他属性一样el.style.jsCssProperty,为了获取id为container 的DIV的float属性:

IE 的做法:

?download.txt
< TD>
document.getElementById("container ").style.styleFloat ="left"

而Firefox是这样:

<><>).style.cssFloat = 

 2.获取元素的最终样式

    el.style.jsCssProperty可以轻松获取元素的CSS样式,不过经过javascript修改样式后,这样获取的样式属性并不是元素最终变现的样式 ,要获取一个id为container 的div的最终背景颜色:

IE的语法:

  1. var
 myObject = document.getElementById(container );   

  • var myStyle = myObject.currentStyle.backgroundColor;
  • Firefox下:

    1. var myObject = document.getElementById(“header”);   
    2. var myComputedStyle = document.defaultView.getComputedStyle(myObject, null);   
    3. var myStyle = myComputedStyle.backgroundColor;  

    <>

    1. var myObject = document.getElementById(“header”);   
    2. var myAttribute = myObject.getAttribute(“className”); 、

    Firefox:

    1. var myObject = document.getElementById(“header”);   
    2. var myAttribute = myObject.getAttribute(“class”);

    1. var myObject = document.getElementById(“myLabel”);   
    2. var myAttribute = myObject.getAttribute(“htmlFor”);  

    Firefox:

    1. var myCursorPosition = [0, 0];   
    2. myCursorPosition[0] = event.clientX;   
      1. var myCursorPosition = [0, 0];   
  • myCursorPosition[0] = event.pageX;   
  •  IE:

    1. var myBrowserSize = [0, 0];   
    2. myBrowserSize[0] = document.documentElement.clientWidth;   
      1. var myBrowserSize = [0, 0];   
    3. myBrowserSize[0] = window.innerWidth;   
    4. <>

      1.     filter: alpha(opacity=50);   
    5. <> 

      1. <>
      2.     opacity: 0.5;   
      3. IE:

        1. var myObject = document.getElementById(“myElement”);   
        2. myObject.style.filter = “alpha(opacity=80)”;  

        Firefox:

        1. var
        2.  myObject = document.getElementById(“myElement”);   
      4. myObject.style.opacity = “0.5″;   
      5.  

         

         

         

         

         

       当然IE和Firefox在javascript中还有非常多的语法差别,实现机制也不一样,这几个仅供参考。

  •   评论这张
     
    阅读(580)| 评论(0)
    推荐 转载

    历史上的今天

    评论

    <#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    页脚

    网易公司版权所有 ©1997-2017