2010-11-10 21 views
6

duplicados posibles:
Href for Javascript links: “#” or “javascript:void(0)”?
Why is it bad practice to use links with the javascript: “protocol”?¿es una mala práctica usar href = 'javascript: func()' que onclick = 'func()' para anclas?

como dice la pregunta. .

¿Qué enfoque es mejor?

<a href='javascript:func()' >blah</a> 

o

<a href='#' onclick='func()' >blah</a> 
+1

¿Mejor para qué? Mantenibilidad? ¿Compatibilidad con el navegador? ¿Algo más? – Oded

+1

Estoy interesado en esta respuesta también. Yo diría que desde el punto de vista de la compatibilidad, principalmente. –

+0

@Oded si puede definir tanto el punto de vista (o cualquier otro punto de vista) ... entonces será muy bueno saberlo. – Arshdeep

Respuesta

9

Ni.

Utilice esta:

<a href="javascript-disabled-page" onclick="func(); return false;">blah</a> 

esta forma, si el usuario tiene JS discapacitados, que será llevado a javascript-disabled-page y la experiencia de navegación no está arruinado.

+0

+1 para sugerir javascript-disabled-page. – Arshdeep

+3

aún mejor: agregue el controlador de eventos desde javascript. todavía +1 de todos modos – knittl

1

Eso depende de lo que quiere lograr. Desde una perspectiva SEO, es mejor usar enlaces solo para enlaces reales, y usar eventos de clic en otras etiquetas para cosas que no navegan a ninguna parte:

<span class="LinkLookalike" onclick="func();">blah</span> 
+0

SEO no tiene nada que ver con eso. –

+1

@Coronatus: SEO se trata principalmente de * contenido * y * enlaces *, ¿y ahora dices que SEO no tiene * nada que ver con los enlaces? Tal vez debería decirle a Google acerca de este cambio revolucionario ... – Guffa

+0

SEO es sobre contenido y enlaces ("principalmente" no es confiable). En este caso, los enlaces y el SEO no tienen nada que ver entre sí porque las arañas de búsqueda no pueden ejecutar Javascript y deberían ser increíblemente tontas (que no lo son) para no lidiar con este uso común. –

Cuestiones relacionadas