A questo ci pensa joomla, non ricordo di preciso dove vengono importate tutti i file del progetto
Però hai aggiunto del javascript tuo e bisogna che ci pensi anche tu. La posizione in cui è il file javascript e il modo come è fatto influiscono sulla capacità del browser di eseguire il tuo codice oppure no.
Dico questo perché, siccome mi sembra che il javascript non abbia nulla che non va, la spiegazione più semplice è quella di pensare che non venga eseguito.
Puoi sfrugugliarti ancora su
img.onclick = oppure provare un metodo diverso.
Dopo
<div id="caption"><> inserisci javascript in questo modo:
<div id="caption"> </dv>
<script>
document.getElementById("myImg").addEventListener('click', function(){
// tuo codice di gestione evento onclick.
// tuo codice ...
});
</script>
Il codice javascript da inserire dovrebbe essere lo stesso che hai nella funzione img.onclick() o qualcosa di molto simile.
Il vantaggio di questo metodo consiste nel fatto che viene eseguito sicuramente indipendentemente da come è fatto il file principale javascript.js e dove viene caricato. Lo svantaggio, estetico, è che il javascript è sparpagliato nella pagina.
C'è anche un altro sistema un pochino più antiquato, quello di mettere nell'html onclick="funzione()". Anche questo viene eseguito di sicuro ma ti rimane una funzione che non sai se ha un nome già usato da altri. A volte non si può fare altro, però.
Ciao.