2010-01-04 4 views
3

J'ai le code suivant.Le résultat Javascript ne fonctionne pas dans IE

function rgb2hex(rgb) { 
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); 
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]); 
} 

Semble fonctionner correctement dans FF et Chrome. IE arrive avec '1' est nul ou pas un objet. La valeur rgb ne semble pas correspondre au rgb.match.

Des idées?

Thx

+0

Les valeurs que vous transmettez cette fonction ressemblent à "rgb (12, 34, 56)"? –

+0

Je passe une couleur RVB et essaye de la convertir en hex – jason

Répondre

3

Essayez d'imprimer ce rgb est avant d'exécuter la regex. Il se peut que l'entrée soit différente.

Je suppose que vous vérifiez une propriété dom_element.style. Peut-être que IE ne convertit jamais cette propriété au format rgb(r, g, b) en premier lieu.

+0

J'ai ajouté une alerte() avant le match et elle a une valeur de couleur hexadécimale donc cela semble correct. – jason

+0

oui vous avez raison, il est déjà converti où FF et Chorme ne le font pas. THX – jason

Questions connexes