2011-07-20 18 views
5

Hola, soy bastante nuevo en el prototipo. El problema es que los errores de javascript dentro de dom: las funciones cargadas de devolución de llamada no se muestran en firefox (webconsole/errorconsole/firebug).
Sample1:
Prototipo traga errores de Javascript (Firefox)

document.observe("dom:loaded", function() { 
syntax() error() 
}); 

Sample2:

document.observe("dom:loaded", function() { 
syntax(); error() 
}); 

Ahora lo curioso:
Si ejecuto Sample1 consigo un error javascript "Missing; antes de la declaración" - por supuesto debe haber una punto y coma antes de 'error()' - entonces este tipo de error parece funcionar. Si ejecuto Sample2 no obtengo ningún error (en realidad ya no es un error de sintaxis) pero debería obtener un error de "variable indefinida" que no obtengo.
¿Alguna pista de lo que está pasando aquí?
IE imprime el error por cierto

+0

Puede intentar poner '" use strict ";' en la parte superior del archivo Javascript. – Jez

+1

+1 para el caso de prueba. – Triptych

+1

Gracias por su respuesta, pero no cambia nada – Daniel

Respuesta

0

lo que está sucediendo es que en la muestra 2 cuando se añade el punto y coma la cadena syntax; error actúa como dos variables globales individuales, al compilador que se ve igual que window.syntax; window.error

document.observe('dom:loaded', function() { 
    syntax = 10; error = 5; 
    alert(syntax + ' ' + error); 
}); 

Intenta ejecutar el ejemplo anterior. ayudará a explicar el problema más claramente ...

+1

Ok tal vez mi muestra no fue tan buena pero obtengo el mismo resultado si la intento con sintaxis(); error(); que debería darme un error de que las funciones no están definidas – Daniel

Cuestiones relacionadas