In altre parole, qual è la differenza tra
onclick="myFunction()"
e
onclick="JavaScript:myFunction()"
JavaScript:
TYPE / LABEL / PREFIX (imansible trovare il nome effettivo) nel gestore eventi ha solo uno scopo :
In IE, IFF il PRIMO script nella pagina NON è JavaScript, JavaScript inline sul resto della pagina ha (ancora ha?) Il javascript:
prefisso.
Non deve essere confuso con il javascript:
protocollo in href (che tra l’altro dovrebbe essere evitato). href="javascript:https://stackoverflow.com/questions/10068781/what-does-the-javascript-pseudo-protocol-actually-do/..."
è sempre e solo necessario nei vecchi netscapes nel tag AREA. Quando vedi href="javascript:void(0)"
qualcuno deve usare onclick="https://stackoverflow.com/questions/10068781/what-does-the-javascript-pseudo-protocol-actually-do/....; return false"
meno che non lo mettano lì per avvisare l’utente che il link è uno javascript. Fallirà se JS è distriggersto.
Ho cercato la documentazione ufficiale da msdn, ma qui ci sono le discussioni per sostenermi:
Chiamare VBScript da Javascript
Internet Explorer utilizza automaticamente la lingua del primo elemento di script analizzato. Quindi se il primo elemento di script è javascript, non è necessario specificare “javascript:” nel gestore di eventi.
http://www.webdeveloper.com/forum/archive/index.php/t-135462.html
Devi dire a IE che stai usando VBS AND JScript, altrimenti l’ipotesi è che tutte le funzioni siano VBS in questa istanza. Aggiungere un elemento di script JavaScript (vuoto?) [Nella parte superiore della pagina] o utilizzare il protocollo jscript: onchange. onchange = “JScript: location.hash = questo [this.selectedIndex] .value;”
Esempio
. . Click . Click
Come @ephemient menziona nel suo commento, javascript
in onclick
non fa nulla, è fondamentalmente un’etichetta inutile. Il prefisso javascript
viene utilizzato nel tag per indicare al browser di eseguire quanto segue come javascript, proprio come se avessi inserito la stessa cosa nel tuo browser. Puoi provarlo nella barra degli indirizzi del tuo browser e vedere, basta inserire
javascript: alert("Hello")
.
Riassumere:
In onclick
: il browser si aspetta che questo sia javascript, quindi se inserisci javascript:
come prefisso il browser dirà: “Oh, che strano, hai messo un’etichetta”.