Esta pregunta es más filosófica que técnica.Mapas de imagen y HTML5
me he entrenado como un desarrollador web de vuelta cuando los desarrolladores web fueron llamados webmasters y mi herramienta de elección fue FrontPage, pasar a Evrsoft primera página 2000.
Esa fue la última vez que utiliza un mapa de imagen HTML .
Ahora es HTML5, AJAX, lienzos vectoriales, CSS 3D, jQuery, almacenamiento local, Safari con pantalla táctil, el nombre. El mapa de la imagen se ha desvanecido en una oscuridad donde ni siquiera Google presenta demasiados resultados relevantes; una entrada obligatoria de W3C Schools y algunas publicaciones en el foro desde 2004.
Obviamente, crear una navegación en el sitio web o trivialidad similar usando un mapa de imagen era una mala idea en ese momento y ciertamente inexcusable hoy en día.
Pero ahora tengo una tarea para crear un área en la que se puede hacer clic en un polígono sobre un div con una imagen de fondo.
No tendré ningún problema para hacer esto en el mapa de imágenes, ya que parece diseñado para un caso de uso exactamente así, y aunque no he hecho pruebas, no me imaginaba que ningún navegador dejara caer una elemento que funcionó maravillosamente durante años. Pero no puedo evitar pensar que debe haber una mejor manera de hacerlo hoy.
Mi filosofía de creación web es desarrollar para IE5.5, y luego diseñar para Chrome edge. Esto significa que el sitio primero necesita trabajar en un nivel básico incluso en el navegador más anticuado, y luego comenzar a agregar JS & CSS para hacerlo más bonito, más usable, más rápido, más simple, más amigable y mejor.
Como tal, aunque sé que podría hacer un lienzo en Raphaël y agregar todo tipo de efectos y objetos de acción rápida, creo que hacer una funcionalidad tan simple como esto no debería requerir una biblioteca JS de 89 kb (o X kb) . O incluso JS en absoluto.
No sé si CSS3 tiene capacidades para definir áreas poligonales, pero al mismo tiempo que reconozco las grandes posibilidades introducidas por CSS3, prefiero mantener todo lo definido allí como un estilo no esencial que se degradaría con gracia.
Así que en el mundo WebDev de hoy, lo que sería la mayoría de la manera cruzada navegador para definir un área de clic poligonal (preferentemente de una manera que es grabbable por un jQuery .hover()
, o al menos una CSS :hover
), que no es dependiente en JavaScript o CSS atributos disponibles en una minoría de navegadores? ¿El mapa de imágenes es realmente la única forma de hacerlo? ¿Qué pasa con los dispositivos móviles?
... comenzando con IE5.5 es bastante loco. Realmente solo te estás lastimando a ti mismo. Tengo un sitio de tráfico bastante alto (aproximadamente .5 millones de visitantes por mes) y en los últimos 3 años no he tenido una visita única con nada menor que IE6. El año pasado, IE6 representó aproximadamente el 2% de mi base de usuarios. – Loktar
No es que apunte a los usuarios que usan IE5.5, ni tengo la intención de que mis sitios web se vean hermosos en él. Ni siquiera tengo una copia de IE5.5 para comprobar cómo se ven mis sitios web. Sin embargo, utilizo esta forma de pensar cuando construyo para poder garantizar que mis sitios web funcionen incluso en el navegador más primitivo, sin importar la edad (Lynx, Kindle, navegadores de la era WAP/Nokia Navigator, lectores de pantalla, etc.). Ayuda a mantener el contenido y la estructura como uno, y el estilo y la elegancia como otro. –
No hay ninguna explicación para la filosofía, pero el diseño de un mínimo denominador común de ningún javascript limita su arquitectura a un modelo increíblemente primitivo. No ajax. ¿Todos los datos enviados a través de publicaciones HTTP? Sin validación de lógica de cliente/lógica/interactividad? Ay. A menos que quiera que todos sus usuarios tengan una experiencia web de la década de los 90, básicamente está hablando sobre el diseño de dos implementaciones completamente diferentes de un sitio web. No puede "degradar progresivamente" un modelo de cliente/servidor ajax; usted estaría haciendo dos versiones del sitio. Es demasiado trabajo extra sin recompensa. ¿Quién usa lince? –