Quiero poder determinar si un navegador admite colores HSL, si no es así, quiero recurrir a los colores RGB generados (ambos he generado). ¿Hay alguna manera de hacerlo sin verificar realmente qué navegador está usando el usuario?¿Cómo puedo verificar si mi navegador admite colores HSL en Javascript?
Respuesta
La respuesta fácil sería: http://www.modernizr.com/. Puede mirar el código fuente y modificarlo para usar solo la parte sobre HSL.
Básicamente sólo crea un nuevo elemento, establece sus background-color
utilizando valores HSLA, y luego busca la presencia de rgba
o hsla
en los atributos de estilo del objeto. Si está presente, entonces el navegador es compatible con HSLA. Muy inteligente:
function supportsHSLA() {
var style = createElement('a').style
style.cssText = 'background-color:hsla(120,40%,100%,.5)'
return style.backgroundColor.indexOf('rgba') > -1 ||
style.backgroundColor.indexOf('hsla') > -1
})
Tenga en cuenta que para el uso de CSS regulares metrobalderas answer a continuación es el camino a seguir, pero con el propósito de que la intención paulb, esta es una manera de hacerlo.
Detectando es agradable, pero la adición de un repliegue es aún mejor:
#element{
background: rgb(255, 10, 25);
background: hsl(240, 100%, 50%);
}
En primer lugar, se establece el repliegue, la propiedad que los navegadores en su mayoría va a entender, a continuación, establece la nueva propiedad. Si este no es compatible, no sobrescribirá el anterior.
Aunque, no sé para qué necesitaría HSL.
Este es un consejo excelente no funciona para mí, ya que estoy tratando de usar hsl para establecer el color de una polilínea en Google Maps (aunque eso ya lo mencioné antes). HSL es más fácil de trabajar en términos de generación de colores. – paullb
Si la preocupación es que trabajar con HSL es más fácil de generar colores pero le preocupa el soporte del navegador, puede considerar trabajar con HSL en su lógica comercial pero convirtiendo a RGB al aplicar los colores a los elementos DOM.
Véase también la siguiente pregunta:
HSL to RGB color conversion
- 1. PHP: ¿cómo determinar si el navegador admite javascript en PHP?
- 2. ¿Cómo puedo verificar si el navegador admite la carga de archivos HTML5 (objeto FormData)?
- 3. ¿Hay alguna forma de JavaScript para verificar si un navegador admite MP3 de forma nativa?
- 4. ¿Puede detectar JavaScript si el navegador del usuario admite gzip?
- 5. ¿Cómo verificar si se admite una entrada HTML5?
- 6. cómo usar HSL en Asp.net
- 7. ¿Cómo puedo verificar el soporte táctil real en un navegador
- 8. ¿Cómo puedo verificar si mi cadena contiene un punto en JavaScript?
- 9. ¿Cómo puedo verificar si mi programa tiene datos conectados
- 10. ¿Cómo puedo verificar si mi aplicación tiene foco?
- 11. ¿Cómo puedo verificar si se ha configurado JavaScript-Eventhandler?
- 12. ¿Cómo puedo detectar si mi navegador es Firefox?
- 13. ¿Cómo puedo ver qué versión de JavaScript usa mi navegador?
- 14. ¿Cómo verificar si un tipo sobrecarga/admite un determinado operador?
- 15. ¿Cómo puedo determinar de manera confiable si un navegador admite eventos de mouse over?
- 16. ¿Cómo puedo verificar IsPostBack en JavaScript?
- 17. Determine si mi PC admite HW Virtualization
- 18. ¿Cómo puedo detectar si un navegador admite la etiqueta de parpadeo?
- 19. ¿Cómo puedo verificar si una aplicación se ejecuta en Android?
- 20. android: ¿cómo puedo verificar, ese dispositivo admite multitouch?
- 21. Detecta si el navegador móvil admite desbordamiento: scroll
- 22. ¿Cómo detectar si el navegador admite el iframe?
- 23. Cómo verificar el JavaScript del navegador está habilitado o no
- 24. ¿Hay alguna manera de probar si un navegador móvil admite flash utilizando tecnología web?
- 25. ¿Qué marco de pruebas para Javascript admite Pruebas sin navegador?
- 26. Verificar si el navegador acepta cookies
- 27. ¿Cómo puedo usar el espacio de color HSL en Java?
- 28. ¿Cómo puedo verificar mi conexión svn?
- 29. En JQuery, ¿cómo puedo verificar si el DOM está listo?
- 30. ¿Cómo puedo cambiar los colores de mi gráfico circular Highcharts?
¿Por qué no se adhieren a RGB y no preocuparse? Estás haciendo un esfuerzo para hacer algo que no hace ninguna diferencia para el usuario. – Brad
HSL es más fácil de trabajar en términos de generación de colores programáticamente (en mi caso tomando un número entre 1 y 5 y eligiendo un color de un degradado) también me resulta más fácil visualizar colores cuando se trabaja con HSL – paullb