Estoy desarrollando JS que se usa en un marco web, y frecuentemente se mezcla con el código jQuery de otros desarrolladores (a menudo propenso a errores). Lamentablemente, los errores en sus bloques jQuery (documento) .pready impiden que se ejecute. Tomemos el siguiente ejemplo sencillo:Manejo de errores en jQuery (documento) .ready
<script type="text/javascript">
jQuery(document).ready(function() {
nosuchobject.fakemethod(); //intentionally cause major error
});
</script>
<script type="text/javascript">
jQuery(document).ready(function() {
alert("Hello!"); //never executed
});
</script>
no deberían ejecutar el segundo bloque listo independientemente de lo que ocurrió en el anterior? ¿Existe una forma "segura" de ejecutar jQuery (documento). ¿Ya se ejecutará incluso en el caso de errores previos?
EDITAR: No tengo control/visibilidad sobre los bloques propensos a errores, ya que están escritos por otros autores y se mezclaron de forma arbitraria.
Esto parece funcionar bastante bien, independientemente de si va antes o después de las secuencias de comandos con errores potenciales. Creo que lo que haré es mover el contenido de mi bloque listo (alerta ("¡Hola!") En la muestra) justo después del bloque catch. De esa forma mi bloque listo puede "agregarse" al final de los bloques listos anteriores. – 3hough
Gran solución. Ni siquiera pensé en eso. –
No estoy seguro de lo que estaba pensando, pero esto funcionará sin importar a dónde vaya, siempre y cuando esté en la etiqueta
y no en algún evento de carga, ya que secuestramos el método listo antes de invocarlo en la carga dom. – jvenema