2009-10-11 2 views
1

Il existe des emplacements pour obtenir des listes de HTML ou X11 colour names et leurs équivalents RVB. Par exemple, nous pouvons trouver que "Aquamarine" est "# 70DB93". On peut supposer que les navigateurs connaissent les correspondances. Y at-il un moyen d'utiliser javascript pour interroger le navigateur et obtenir une liste des noms de couleurs qu'il prend en charge (avec le RVB que le navigateur prévoit d'utiliser)?Extraire la liste des noms de couleurs HTML ou X11 pris en charge et leurs valeurs RVB à l'aide de javascript

+0

Rétablir votre dernière modification. Les couleurs X11 et les couleurs HTML sont en désaccord dans trois cas auxquels je peux penser, peut-être plus. Voir mon commentaire à ce répondeur. –

Répondre

1

Ce sont des meta à Javascript (ils sont utilisés en CSS, entre autres choses), et par conséquent je doute qu'ils soient interrogeables sous cette forme.

Voici une liste des plus tous les navigateurs devraient savoir: CSS Color Names

A partir de cette page:

The W3C HTML and CSS standards have listed only 16 valid color names: 
aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, 
purple, red, silver, teal, white, and yellow. 

EDIT: Depuis que vous avez demandé, j'ai vérifié si cela est faisable avec Safari à moins. J'ai pu le faire (I threw this together in minutes, bear with it):

<html> 
<head> 
    <title>Color Test</title> 
    <script type="text/javascript"> 
     function $(id) { return document.getElementById(id); } 
     function do_chocolate() { 
      $("foo").style.color = "chocolate"; 
      alert($("foo").style.color); 
     } 
    </script> 
</head> 
<body> 
    <div id="foo"> 
     This should change when you click below 
    </div> 
    <a href="#" onclick="do_chocolate();">Click me</a> 
</body> 

Safari me montre cette alerte lorsque je clique:

rgb(210, 105, 30) 

Je ne suis pas assez familier avec Javascript pour sonder cette couleur, mais il semble que cela puisse être fait. Si j'étais pressé sur ce projet, je serais juste en train de resserrer la couleur (comme l'a fait Safari pour afficher cette alerte) et d'attraper chaque partie. Puisque c'est Javascript/DOM, cependant, je sais qu'il y a un moyen d'entrer et d'obtenir chaque composant de couleur, mais je ne sais pas ce que c'est. Au moins, je t'ai mis sur le chemin, non?

+1

Et si je connaissais le nom de la couleur - je pourrais utiliser Javascript pour appliquer cette couleur via css à un objet. Pourrais-je alors trouver le RGB que le navigateur utilisait pour le rendre? – Andrew

+0

Oui. Je vais réviser la réponse. –

+0

Je ne pense pas qu'ils soient interrogeables sur la base de ce que je n'ai pas trouvé en utilisant Google, mais j'ai pensé que peut-être quelqu'un sait quelque chose que je ne sais pas. – Andrew

0

Ces noms de couleurs que les navigateurs comme Firefox prennent en charge ne sont pas des noms de couleurs HTML mais X11 color names.

Wikipédia possède une liste de ces couleurs avec des exemples, ce qui vous permet de déterminer si un navigateur les prend en charge.

Je ferai quelques recherches pour voir à quel point Firefox (à titre d'exemple) ajoute ce support pour voir si vous pouvez faire une requête via js.

+0

Il y a des cas où les noms X11 sont en désaccord avec le navigateur, donc vous ne devriez pas penser à eux de cette façon. Ce sont en effet des noms de couleurs HTML/CSS. –

+0

J'ai modifié la question pour couvrir les bases HTML et X11. Le Wikipédia indique que X11 était source mais il y a quelques désaccords mineurs entre les couleurs HTML et X11 qui, dans un monde idéal, n'existeraient pas. – Andrew

+0

Je voulais dire dans les cas où ils ne sont pas définis dans la norme CSS. Et les noms, autant que je sache, sont X11, même si le navigateur n'utilise pas les standards. – Anthony

Questions connexes