Cosa fa in realtà lo pseudo protocollo JavaScript?

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”.

In o nella barra degli indirizzi del browser: il browser non si aspetta che questo sia javascript, quindi se inserisci javascript: come prefisso il browser dirà: 'Oh, ho bisogno di eseguirlo come javascript'.