safari ReferenceError: Can ' T find variable
Habe ich Folgendes in ein eigenes DIV -
<script>
function newfunc()
{
alert("here");
}
</script>
<button type="button" onclick="newfunc()">Press me</button>
Unter IE und FF funktioniert es einwandfrei, aber auf Safari (mindestens Safari 4.0.5) es sagt: "ReferenceError nicht finden können variable" - jetzt wird der content geladen wurde in das DIV dynamisch und es scheint Safari nicht sehen können, die Funktionsdefinitionen innerhalb dieses DIV - jedoch, wenn ich die Funktion newfunc()
auf der Haupt-HTML-Seite (also nicht im DIV) dann die Taste drücken Sie die Taste hat die Funktion aufrufen.
Es ist, als wenn Safari nicht sieht, dass die Javascript-Funktionen, die Hinzugefügt wurden, um die DIV.
Jede mögliche Hilfe würde geschätzt.
adam
Wenn das der Fall ist, was tun Sie erwarten von uns zu tun? Ihre einzige Wahl ist, um den JS-code in die Haupt Körper. Sagen Sie uns, welche Sprache ist Ihre server-side-code, poste deinen aktuellen code und wir werden versuchen, führen Sie durch diese.
ist es nicht mehr möglich alle die Funktionen in die main Seite, da einige Funktionen enthalten dynamische Inhalte abhängig, beispielsweise session-Daten, die geprüft wird, wenn der div-Inhalt geladen wird.
siehe gymadvisory.co.uk, drücken Sie Finden Fitnessstudios wird es wohl eine Anzeige unstyled Seite - das ist, weil die Schaltfläche element kein type="button" Attribut und da noch die jquery zugewiesene Klick-Funktion versucht, javascript-Funktionen aufrufen, die es nicht finden können, es macht einen submit - hinzufügen der fehlenden Attribut anhalten wird, dass aber dann die-Taste drücken, tut sich nichts
auch - sobald die unstyled Seite angezeigt wird, drücken Sie die zurück-Taste und versuchen Sie es erneut - es sollte nun funktionieren ! nicht sicher, warum die Seite wieder funktionieren sollte
wieder zurück zur vorherigen version der app und scheint ok so sein muss, Fehler in der javascript-änderungen, wenn auch immer noch merkwürdig Verhalten.
ist es nicht mehr möglich alle die Funktionen in die main Seite, da einige Funktionen enthalten dynamische Inhalte abhängig, beispielsweise session-Daten, die geprüft wird, wenn der div-Inhalt geladen wird.
siehe gymadvisory.co.uk, drücken Sie Finden Fitnessstudios wird es wohl eine Anzeige unstyled Seite - das ist, weil die Schaltfläche element kein type="button" Attribut und da noch die jquery zugewiesene Klick-Funktion versucht, javascript-Funktionen aufrufen, die es nicht finden können, es macht einen submit - hinzufügen der fehlenden Attribut anhalten wird, dass aber dann die-Taste drücken, tut sich nichts
auch - sobald die unstyled Seite angezeigt wird, drücken Sie die zurück-Taste und versuchen Sie es erneut - es sollte nun funktionieren ! nicht sicher, warum die Seite wieder funktionieren sollte
wieder zurück zur vorherigen version der app und scheint ok so sein muss, Fehler in der javascript-änderungen, wenn auch immer noch merkwürdig Verhalten.
InformationsquelleAutor adam | 2010-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Javascript dynamisch Hinzugefügt wird, um eine Seite zu sein, muss eval-d, um richtig zu initialisieren.
Damit, dass die arbeiten ordnungsgemäß für Funktionsdefinitionen müssen Sie formatiert werden, etwas anders. eg:
Nach dem hinzufügen der content-DIV, extrahieren Sie alle tag-Elemente von den DIV und eval deren Inhalte.
Beispielsweise mit PrototypeJS (http://www.prototypejs.org/api/):
Wo "divid" ist die ID des div, die Sie gerade gefüllt mit Inhalt.
InformationsquelleAutor ndtreviv