2010-11-10 12 views
6

Possibili duplicati:
Href for Javascript links: “#” or “javascript:void(0)”?
Why is it bad practice to use links with the javascript: “protocol”?è una cattiva pratica usare href = 'javascript: func()' di onclick = 'func()' per gli ancoraggi?

Come dice domanda. .

Quale approccio è migliore?

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

o

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

Meglio per cosa? Manutenibilità? Compatibilità con il browser? Qualcos'altro? – Oded

+1

Anche io sono interessato a questa risposta. Direi da un punto di vista della compatibilità, principalmente. –

+0

@Oded se è possibile definire la forma sia dal punto di vista (o da qualsiasi altro punto di vista) .. allora sarà molto utile sapere. – Arshdeep

risposta

9

Nessuno dei due.

Utilizzare questa:

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

In questo modo se l'utente ha disabilitato JS, che saranno adottate per javascript-disabled-page e l'esperienza di navigazione non è rovinato.

+0

+1 per suggerire javascript-disabled-page. – Arshdeep

+3

ancora meglio: aggiungi il gestore di eventi da javascript stesso. ancora +1 comunque – knittl

1

Dipende da ciò che si desidera ottenere. Da un punto di vista SEO è meglio utilizzare i link solo per i link effettivi e utilizzare gli eventi click su altri tag per cose che non navigano ovunque:

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

SEO non ha nulla a che fare con questo. –

+1

@Coronatus: SEO riguarda principalmente * contenuti * e * link *, e ora dici che il SEO non ha * nulla * a che fare con i link? Forse dovresti dire a Google di questo cambiamento rivoluzionario ... – Guffa

+0

SEO riguarda contenuti e collegamenti ("principalmente" non è attendibilmente vero). In questo caso i collegamenti e la SEO non hanno nulla a che fare perché gli spider di ricerca non possono eseguire Javascript e dovrebbero essere incredibilmente stupidi (che non lo sono) per non occuparsi di questo uso comune. –

Problemi correlati