Sto avendo un problema reale con portata JavaScript in IE 9.IE tiri Errore JavaScript: Il valore della proprietà 'googleMapsQuery' è null o undefined, non un oggetto Function (funziona in altri browser)
Questo è dentro il corpo del mio documento (sì, mi rendo conto che lo script dovrebbe andare in testa per l'HTML corretto, ma non ho mai avuto uno script in precedenza). Lo script è nel corpo, perché non voglio fare confusione con una pagina di intestazione condivisa per uno script che è rilevante solo per questa pagina:
<script type="text/javascript">
function googleMapsQuery(accountNum) {
// function code is here (omitted for brevity)
}
</script>
Questo è all'interno di un blocco td
all'interno di un blocco tr
all'interno di un tbody
bloccare all'interno di un blocco table
all'interno di un blocco form
all'interno body
:
<button id="google-422111" onclick="googleMapsQuery(422111)" type="button">Google This!</button>
ho anche spostato il blocco di script sopra il modulo nel caso in cui l'ordine della dichiarazione funzione di script era rilevante (non è).
Lo script funziona perfettamente in Firefox e Chrome, ma in IE 9 (con o senza vista di compatibilità su), ottengo questo errore:
SCRIPT5007: The value of the property 'googleMapsQuery' is null or undefined, not a Function object
ho studiato ambito JavaScript, e io non riesco a capire qualsiasi motivo perché IE pensa che "googleMapsQuery" sia una proprietà e perché non è definita. È una funzione e l'ho definita!
il corpo è un posto perfetto per la scrittura, nella parte inferiore del corpo è in realtà preferito :) –
I tag di script nell'HEAD vengono elaborati in modo sincrono (in serie) prima dell'elaborazione del corpo. I tag script nel corpo vengono caricati in modo asincrono, insieme ad altri script e al resto dei nodi DOM ... Non uso il tag