Estoy interesado en utilizar el evento hashchange de JavaScript para monitorear los cambios en el identificador de fragmento de la URL. Conozco Really Simple History y los complementos jQuery para esto. Sin embargo, he llegado a la conclusión de que en mi proyecto particular no vale realmente la sobrecarga adicional de otro archivo JS.¿Detecta el soporte para un evento de JavaScript dado?
Lo que me gustaría hacer es tomar la ruta de "mejora progresiva". Es decir, quiero probar si el evento hashchange es compatible con el navegador del visitante y escribir mi código para usarlo si está disponible, como una mejora en lugar de una función principal. IE 8, Firefox 3.6 y Chrome 4.1.249 lo admiten, y eso representa aproximadamente el 20% del tráfico de mi sitio.
Entonces, eh ... ¿hay alguna manera de probar si un navegador admite un evento en particular?
Gracias.
FYI, la frase que está buscando no es "mejora progresiva", pero más bien "degradación grácil". La mejora progresiva es cuando hace que su sitio web sea accesible para todos los usuarios, pero agrega funciones a un grupo más específico de usuarios (habilitado para JavaScript, compatible con HTML5, etc.). La degradación agraciada se produce cuando usted depende de cierta funcionalidad, pero tiene un método de respaldo si el cliente no lo admite. No es que realmente importe. :) –
Hmm. Yo diría que la "degradación elegante" significa que un sitio web continúa funcionando incluso cuando la funcionalidad en la que habitualmente se basa no está disponible. Por el contrario, la "mejora progresiva" se produce cuando un sitio habilita características adicionales de las que no depende, solo cuando el agente de usuario las admite. Planeo escribir este código particular de tal manera que no modifique la propiedad location.hash a menos que el evento hashchange esté disponible. Entonces eso es una mejora progresiva. Y sí, no es que realmente importe, son solo dos caras de una moneda. – Will