IE wirft JavaScript-Fehler: der Wert Der Eigenschaft 'googleMapsQuery' ist null oder undefiniert, kein Function-Objekt (funktioniert auch in anderen Browsern)
Ich habe ein echtes problem mit JavaScript-Bereich im IE 9.
Dies ist innerhalb der Körper von meinem Dokument (ja, ich weiß, Skript gehen sollte den Kopf für die entsprechenden HTML -, aber ich hatte nie zu brechen Sie ein Skript vor). Das Skript ist im Körper, weil ich nicht zu verwirren wollen mit einem gemeinsamen header-Seite für ein script, das ist nur relevant für diese Seite:
<script type="text/javascript">
function googleMapsQuery(accountNum) {
//function code is here (omitted for brevity)
}
</script>
Dies ist innerhalb einer td
block innerhalb einer tr
block innerhalb einer tbody
block innerhalb einer table
block innerhalb einer form
block innerhalb der body
:
<button id="google-422111" onclick="googleMapsQuery(422111)" type="button">Google This!</button>
Ich selbst zog den script-block über dem Formular nur im Falle der Reihenfolge der der Skript-Funktion-Erklärung relevant war (ist es nicht).
Das script funktioniert einwandfrei in FireFox und Chrome, aber im IE 9 (mit oder ohne Kompatibilitätsansicht), bekomme ich diesen Fehler:
SCRIPT5007: der Wert Der Eigenschaft 'googleMapsQuery' ist null oder undefiniert, kein Function-Objekt
Studierte ich JavaScript-Bereich, und ich kann nicht herausfinden, einen Grund, warum IE denkt, dass 'googleMapsQuery' ist eine Eigenschaft, und warum ist es undefiniert. Es ist eine Funktion, und ich es definiert!
Script-tags im KOPF verarbeitet werden synchron (nacheinander) vor der Verarbeitung den Körper. Script-tags im body geladen werden asynchron, zusammen mit anderen Skripten und dem rest der DOM-Knoten... ich glaube nicht, verwenden Sie die <button> tag, ich benutze <input type="button">
InformationsquelleAutor chriv | 2012-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte ein ähnliches Problem mit einer Eigenschaft null oder nicht definiert ist.
Diese endete als, dass der IE das Dokument-Modus war standardmäßig auf IE7-Standards. Dies war aufgrund der Kompatibilität-Modus wird automatisch eingestellt, für alle intranet-Seiten (Tools > der Kompatibilitätsansicht die Einstellung > Display Intranetsites in Kompatibilitätsansicht).
InformationsquelleAutor Chris
Ich die Antwort gefunden, und trotz allem, was ich bereits berichtet habe, war es NICHT browser-spezifisch. Der Fehler war in meiner Funktion code, und eingetreten sein würde in jedem browser. Es läuft darauf hinaus, diese. Ich hatte nur zwei Zeilen in meinen code, die waren FireFox/FireBug-spezifisch. Sie verwendeten Konsole.log. In IE, warf Sie einen Fehler, so kommentierte ich Sie aus (oder so dachte ich). Ich habe einen beschissenen job, kommentieren Sie Sie aus, und brach die Belichtungsreihe in meiner Funktion.
Original-Code (mit Konsole.es anmelden):
Broken Code (verlegt Klammern innerhalb von Kommentaren):
Fixed-Code (fest Klammern außerhalb der Kommentare):
So, es war meine eigene schlampige Codierung. Die Funktion war wirklich nicht definiert, weil ein syntax-Fehler hielt es geschlossen wird.
Oh gut, Leben und lernen. 😉
InformationsquelleAutor chriv
Haben Sie versucht, indem Sie das Semikolon, um
onclick="googleMapsQuery(422111);"
. Ich habe nicht genug von Ihren code, um zu testen, ob das fehlende Semikolon würde den Fehler verursachen, aber der ie ist mehr wählerisch über die syntax.InformationsquelleAutor Mark
Gerade vor ein paar Minuten war ich vor dem gleichen problem. Ich habe das problem, dass nach der Platzierung nur Ihr jQuery starten die anderen jQuery-Skripten. Nach allen, es wird gut funktionieren.
InformationsquelleAutor user2384794
Also ich hatte eine ähnliche situation mit dem gleichen Fehler. Ich vergaß, ich habe die Kompatibilitätsmodus auf meine dev-Maschine, und ich hatte eine Konsole.log-Befehl in javascript sowie. Ich änderte den Kompatibilitätsmodus wieder im IE, und entfernt die Konsole.log-Befehl. Nicht mehr Problem.
InformationsquelleAutor Coyte
In meinem speziellen Fall, ich hatte einen ähnlichen Fehler auf einem legacy-website in meiner Organisation.
Um das Problem zu lösen, musste ich liist, die website eines "Trusted site".
Tun:
Ich gehe hier in die remote-Fall, es wird jemand helfen.
InformationsquelleAutor TrinTragula