2011-08-26 12 views
6

Me he encontrado con un problema muy molesto para la web móvil. El sitio web que tengo usa imágenes para la mayoría de sus botones, ambos <a href="..."><img> y <input type='image'>. En consecuencia, si el usuario inhabilita las imágenes, el sitio web no solo no se ve bien, sino que también pierde toda la capacidad de navegar por el sitio. En particular, Android no muestra alt información en las imágenes, por lo que no hay nada que indique que las imágenes no se muestran.Web móvil: Detectando cuando las imágenes se han desactivado

¿Hay alguna manera de determinar si un navegador tiene imágenes desactivadas sin usar JavaScript? Me gustaría mostrar un sitio de texto optimizado más genérico si lo han deshabilitado.

+4

Estoy sorprendido androide no procesa la propiedad alt de las imágenes cuando están deshabilitados. – Sirs

+1

He hecho algunas investigaciones, creo que es un problema de webkit que existe desde 2005. Muy triste realmente. –

+0

Si tiene imágenes deshabilitadas, probablemente también esté eliminando imágenes de fondo, ¿verdad? Iba a sugerir utilizar las imágenes como imágenes de fondo, pero no estaba seguro de si eso funcionaría. –

Respuesta

1

¿Sin usar ningún JavaScript en absoluto? Me temo que no es posible, al menos en el lado del cliente.

En HTML hay etiquetas NOFRAME y NOSCRIPT, pero ninguna etiqueta equivalente para imágenes, cuyo contenido se mostraría solo si las imágenes se desactivaran o no fueran compatibles.

Luego, para las etiquetas A que envuelven una imagen, tal vez podría hacer que la etiqueta A, en lugar de su imagen, sea responsable de mostrar la información sobre herramientas y de manejar eventos.

Además, para garantizar que su diseño no se rompa si las imágenes no se cargan, puede asignar a la etiqueta A el ancho y alto normal de su imagen. Lo mismo también funcionaría para las etiquetas <input type='image'> envolviéndolas en una etiqueta span y dándoles valores de atributo correctos.

Por ejemplo:

<a href="..." style="height: 25px"; width: 80px;" title="Some tooltip text"> 
    <img...> 
</a> 

<span onclick="some action" style="height: 30px"; width: 70px;" title="Some other tooltip text"> 
    <input type='image'...> 
</span> 
+0

La definición del tamaño de la etiqueta de anclaje funciona perfectamente. Pero la entrada aún requerirá JavaScript. Una solución en la que pensé desafortunadamente limitaría las imágenes a las personas habilitadas con JavaScript, y eso sería cargar texto estándar, y usar una carga de JavaScript para intercambiar el texto de una imagen si se carga la imagen. Al final, creo que establecer el tamaño de anclaje y evitar el tipo de entrada de imagen es la mejor solución. –

Cuestiones relacionadas