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实现在状态栏显示打字效果完整实例
Nov 02 Javascript
jquery+ajax实现注册实时验证实例详解
Dec 08 Javascript
理解javascript闭包
Dec 15 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
Jan 18 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
深入理解Vuex 模块化(module)
Sep 26 Javascript
详解swiper在vue中的应用(以3.0为例)
Sep 20 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
Nov 13 Javascript
js前端面试之同步与异步问题详解
Apr 03 Javascript
laravel-admin 与 vue 结合使用实例代码详解
Jun 04 Javascript
JS实现的简单tab切换功能完整示例
Jun 20 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
Aug 05 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
DOTA2 6.87版本后新眼位详解攻略
2020/04/20 DOTA
php基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
php开启安全模式后禁用的函数集合
2011/06/26 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
JavaScript结合HTML DOM实现联动菜单
2017/04/05 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
js如何验证密码强度
2020/03/18 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
vue 页面跳转的实现方式
2021/01/12 Vue.js
python中xrange和range的区别
2014/05/13 Python
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
css3实现图片遮罩效果鼠标hover以后出现文字
2013/11/05 HTML / CSS
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
体育专业个人求职信范文
2013/12/27 职场文书
大学生职业生涯规划范文
2014/01/22 职场文书
小学老师寄语大全
2014/04/04 职场文书
2014年教师业务工作总结
2014/12/19 职场文书
庆六一开幕词
2015/01/29 职场文书
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
详解nginx location指令
2022/01/18 Servers