ホームページ  >  記事  >  ウェブフロントエンド  >  Firefox と IE の互換性_JavaScript スキル間の 2 つの問題の概要

Firefox と IE の互換性_JavaScript スキル間の 2 つの問題の概要

WBOY
WBOYオリジナル
2016-05-16 18:22:46836ブラウズ
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 (キー,値) ;
}
}
function RemoveCSSRule(key){
for(var i = 0; i
var css = document.styleSheets[ i];
navigator.userAgent.indexOf("Firefox")>0 ?
(function(){
for(var j = 0; j < css.cssRules.長さ; j ){
if(css.cssRules[j].selectorText==key){
css.deleteRule(j);
}
})() :
(css.removeRule(key)) ;
}
}

この問題を解決するメソッドを追加しました。 。

2: Firefox および 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('(')>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);
{
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); g % 16;
high = (g - low)/16;
hex = hexStr.charAt(high) hexStr.charAt(low); b - low)/16;
hex =hexStr.charAt(high) hexStr.charAt(low);
return hex>}


次のように取得されることを思い出してください。 Firefox は rgb なので、16 進数に変換する必要もあります。すごくアホな変換方法もまとめてみたので見て打ってみました!
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。