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 相关文章推荐
javascript实现点击单选按钮链接转向对应网址的方法
Aug 12 Javascript
延时加载JavaScript代码提高速度
Dec 27 Javascript
详解vue渲染从后台获取的json数据
Jul 06 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
Jul 24 Javascript
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
JavaScript实现为事件句柄绑定监听函数的方法分析
Nov 14 Javascript
vue使用xe-utils函数库的具体方法
Mar 06 Javascript
vue.js计算属性computed用法实例分析
Jul 06 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
Dec 03 Javascript
微信小程序扫描二维码获取信息实例详解
May 07 Javascript
js实现单元格拖拽效果
Feb 10 Javascript
JS实现滑动拼图验证功能完整示例
Mar 29 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 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
PHP Session机制简介及用法
2014/08/19 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
Nodejs调用WebService的示例代码
2017/09/29 NodeJs
浅谈Vue.js组件(二)
2019/04/09 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
简单介绍Python中的JSON使用
2015/04/28 Python
基于python时间处理方法(详解)
2017/08/14 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
Python Cookie 读取和保存方法
2018/12/28 Python
Django 用户认证组件使用详解
2019/07/23 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
PHP开发工程师面试问题集锦
2012/11/01 面试题
医药工作岗位求职信分享
2013/12/31 职场文书
先进集体获奖感言
2014/02/13 职场文书
初中新生军训方案
2014/05/13 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书