栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

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

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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进制的。我也整理了一个很笨的转换方法再上面望打击拍砖!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/115639.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号