Stavo usando un file .js esterno per il mio JavaScript ma ho riscontrato un problema con il mio HTML che non è riuscito a trovare nessuna delle mie funzioni JavaScript. So che le funzioni funzionano perché se lo spostamento dal file esterno al mio file html funziona correttamente. L'errore che ricevo nella console JavaScript su Chrome è che le mie funzioni non sono definite. So anche che il mio percorso verso la mia pagina esterna funziona perché ho alcuni tag di canvas che stanno leggendo il JavaScript perfettamente bene.Funzioni JavaScript che non funzionano nel file .js esterno
Per ricapitolare, questo funziona:
HTML:
<canvas id="Canvas7"></canvas>
JavaScript:
window.onload = function() {
var g=document.getElementById("Canvas7");
var ctx=g.getContext("2d");
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
// ...
};
ma il seguente mi dà l'errore "ReferenceError Uncaught: getLocation non è definito":
HTML:
<button onclick="getLocation()">Click here</button>
JavaScript:
window.onload = function() {
var x=document.getElementById("location");
function getLocation(){
if (navigator.getlocation){
navigator.getlocation.getCurrentPosition(showPosition,showError);
}
else{
x.innerHTML="GeoLocation is not supported by this browser.";
}
}
// ...
}
non è un problema enorme dato che posso solo tenere il JavaScript nel mio file HTML ma ci vuole un sacco di spazio e io preferirei tenere tutto organizzato. Se qualcuno sa come potrei risolvere questo problema, sarebbe molto apprezzato.
Sei sicuro che il codice JavaScript venga eseguito prima che venga attivato l'evento onclick? – railgun
@DonovanGlover Tutti i Javascript che ho postato sono dentro 'window.onload = function() {' e il javascript per tutti gli 8 dei miei tag canvas funziona correttamente ogni volta che creo una funzione chrome mi dà l'Uncaught ReferenceError: getLocation non è errore definito. –
Puoi pubblicare la sintassi del tag '' sintassi. – garromark