2010-06-16 8 views

Respuesta

2

Según lo mencionado por otros usuarios, si es posible una alternativa que no sea javascript, utilícela como su href.

Ejemplo de la apertura de una imagen en una ventana emergente para los usuarios con javascript, mientras que cae de nuevo a una carga de la página habitual para los usuarios sin (usando jQuery):

<a class="popup" href="path/to/image.png">Baby Llama Picture</a> 

<script> 
    // Assuming a function called popUpImage does the magic 

    $('.popup').click(function(event) { 
     popUpImage($(this).attr('href')); 
     event.preventDefault(); 
    }); 
</script> 

Cualquier enlace que no tienen comportamiento definido útil sin javascript debe ser inyectado en la página usando javascript. De esta forma, los usuarios sin javascript nunca los verán, y no es necesario proporcionar un href válido.

Ejemplo de insertar javascript sólo enlaces dinámicamente (usando jQuery):

<img class="editable" src="baby-llama.png" /> 

<script> 
    // Assuming a function doEditing that allows javascript based editing of an image 

    $(function() { 
    $('.editable').each(function() { 
     var editable = $(this); 

     var editLink = $('<a href="">Edit image</a>'); 
     editLink.click(function() { 
     doEditing(editable); 
     }); 
     editable.insertAfter(editLink); 
    }); 
    }); 
</script> 
6

Siempre debe establecer un enlace alternativo para los usuarios que no tengan Javascript. Al invocar javascript, puede devolver false desde el controlador para evitar que se active el enlace. Por ejemplo:

<a href="page.html" onclick="doSomething(); return false;">example 1</a> 

La alternativa, si no hay una página correspondiente a enlazar, es no utilizar un enlace en absoluto. Use un botón en su lugar. Puedes diseñarlo para que se vea como tus enlaces si eso es realmente necesario.

+0

es decir, http : //icant.co.uk/articles/pragmatic-progressive-enhancement/#build – Quentin

3

Idealmente, el href debería hacer algo lo más parecido posible a lo que el javascript iba a hacer.

Por ejemplo, si el Javascript fuera a mostrar un lightbox con una imagen más grande, el href debería llevarlo a una nueva página donde puede ver la misma imagen más grande.

Si toma este enfoque, las personas sin javascript aún obtienen una buena experiencia y las personas con javascript obtienen una experiencia más lisa y brillante.

Salida Unobtrusive JavaScript y Progressive enhancement

0

debe atenerse a lo rikh y DisgruntledGoat mencionado para hacer su sitio utilizable para Peaple Withou Javascript.

si quiere hacer algo que no es necesaria o posible sin javascript, se debe utilizar <a href="#">example 1</a> y deja que onclick-funktion return false para evitar que saltar a la parte superior de la página - pero la mejor manera es siempre un "normal "enlace como alternativa.

Cuestiones relacionadas