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


Posted in Javascript onJuly 20, 2010

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进制的。我也整理了一个很笨的转换方法再上面望打击拍砖!
Javascript 相关文章推荐
js固定DIV高度,超出部分自动添加滚动条的简单方法
Jul 10 Javascript
javascript简单事件处理和with用法介绍
Sep 16 Javascript
基于ajax实现文件上传并显示进度条
Aug 03 Javascript
javascript日期格式化方法汇总
Oct 04 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
Jun 21 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
Aug 11 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
Aug 08 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
微信小程序时间轴实现方法示例
Jan 14 Javascript
浅谈Vue中render中的h箭头函数
Nov 07 Javascript
Vue监听滚动实现锚点定位(双向)示例
Nov 13 Javascript
原生JavaScript实现弹幕组件的示例代码
Oct 12 Javascript
Javascript实现CheckBox的全选与取消全选的代码
Jul 20 #Javascript
js下写一个事件队列操作函数
Jul 19 #Javascript
js+css在交互上的应用
Jul 18 #Javascript
基于jQuery试卷自动排版系统
Jul 18 #Javascript
Date对象格式化函数代码
Jul 17 #Javascript
js下利用控制器载入对应脚本
Jul 17 #Javascript
js 纯数字不重复排列的另类方法
Jul 17 #Javascript
You might like
php中的动态调用实例分析
2015/01/07 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
PHP让数组中有相同值的组成新的数组实例
2017/12/31 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
浅谈jquery高级方法描述与应用
2016/10/04 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
linux系统使用python监控apache服务器进程脚本分享
2014/01/15 Python
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
Python如何使用BeautifulSoup爬取网页信息
2019/11/26 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
罗技美国官网:Logitech美国
2020/01/22 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
音乐器材管理制度
2014/01/31 职场文书
青春励志演讲稿
2014/04/29 职场文书
公司投资建议书
2014/05/16 职场文书
人事任命书范文
2014/06/04 职场文书
趣味运动会简讯
2015/07/20 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
装修安全责任协议书
2016/03/22 职场文书
2019新员工心得体会
2019/06/25 职场文书
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
mysq启动失败问题及场景分析
2021/07/15 MySQL
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL