作家
登录

firefox火狐浏览器与与ie兼容的2个问题总结

作者: 来源:www.28hudong.com 2013-03-30 01:25:26 阅读 我要评论

1:rules与cssRules区别: 复制代码 代码如下: function addCSSRule(css,key,value){ //var css = document.styleSheets[document.styleSheets.length-1]; if(navigator.userAgent.indexOf("Firefox")>0 ) { css.insertRule(key+"{"+value+"}", css.cssRules.length) } else { css.addRules(key,value); } } function removeCSSRule(key){ for(var i = 0; i < document.styleSheets.length; i++){ var css = document.styleSheets[i]; navigator.userAgent.indexOf("Firefox")>0 ? (function(){ for(var j = 0; j < css.cssRules.length; j++){ if(css.cssRules[j].selectorText==key){ css.deleteRule(j); } } })() : (css.removeRule(key)) ; } } 我是这样加了一个方法解决这个问题的。。 2:火狐和ie中获得背景色问题(getComputedStyle与currentStyle的区别) 复制代码 代码如下: function getCurrentStyle(oElement) { if(navigator.userAgent.indexOf("Firefox")>0 ){ var rgbstr=document.defaultView.getComputedStyle(oElement,null).backgroundColor; var strR; if(rgbstr.toString().indexOf('(')>0 && rgbstr.toString().indexOf(')')>0) { strR= rgbstr.toString().substring(parseInt(rgbstr.toString().indexOf('(')+1),rgbstr.toString().indexOf(')')).split(','); } return toHexColor(strR[0],strR[1],strR[2]).substring(1); } else{ return oElement.currentStyle.backgroundColor.trim().substring(1); } } 复制代码 代码如下: function toHexColor(r,g,b){ var hex='#'; var hexStr = '0123456789ABCDEF'; low = r % 16; high = (r - low)/16; hex+=hexStr.charAt(high) + hexStr.charAt(low); low = g % 16; high = (g - low)/16; hex+=hexStr.charAt(high) + hexStr.charAt(low); low = b % 16; high = (b - low)/16; hex+=hexStr.charAt(high) + hexStr.charAt(low); return hex; } 记住 火狐获得的rgbstr是rgb的因此我还要转成16进制的。我也整理了一个很笨的转换方法再上面望打击拍砖!

  推荐阅读

  js下利用控制器载入对应脚本

我的思路是,在编写独立模块的时候,注意将这些方法集成到$.tools对象中,接下来,在页面中,调用控制器载入模块,并在载入完成后判断$.tools中对象的个数与预定义载入的模块数是否相等,如不等继续等待,如相等执>>>详细阅读


本文标题:firefox火狐浏览器与与ie兼容的2个问题总结

地址:http://www.17bianji.com/kaifa2/JS/25967.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)