2012-02-22 15 views
6

Tengo un JIT Spacetree en mi página web, y IE no le gusta algunas líneas. Si abro las herramientas de desarrollador y digo que las ejecute, se ve bien y carga todo como debería.Ignorar errores y continuar ejecutando javascript en IE?

¿Hay alguna manera de que pueda decir "¿Sabes qué, estos errores no son realmente rompedores, sigamos yendo aquí?" Las dos líneas sangradas adicionales son los delincuentes, así como algo de jQuery 1.6.4 (será tratando 1.7.1), ya sea con o .getJSON $ $ .parseJSON

var style = label.style; 
     style.width = node.data.offsetWidth; 
     style.height = node.data.offsetHeight;    
    style.cursor = 'pointer'; 
    style.color = '#fff'; 
    style.fontSize = '0.8em'; 
    style.textAlign= 'center'; 
}, 
+3

que envía el mensaje de error completo se obtiene nos ayudará en gran medida a ayudarle. –

+0

relacionado: http://stackoverflow.com/questions/12219154/ignore-javascript-errors-in-a-page-and-continue-executing-the-script –

Respuesta

8

envolver el código erróneo en un try/atrapar, y no hacer nada en la captura.

+1

Soy nuevo en javascript, gracias! – Rob

1

Wrap aquellos código erróneo dentro de un bloque try { } catch (e) {} y usted debe ser bueno para ir ..

MDN Reference for try..catch

Algo parecido a continuación debe trabajar para usted,

var style = label.style; 
try { 
    style.width = node.data.offsetWidth; 
    style.height = node.data.offsetHeight;    
} catch (e) { 
    //do alternate when error 
} 
style.cursor = 'pointer'; 
style.color = '#fff'; 
style.fontSize = '0.8em'; 
style.textAlign= 'center'; 
3

IE es "alérgica" al definir un objeto y dejar una coma en el último atributo.

malo:

var apple = { color : "yellow", 
       taste : "good", }; 

bueno:

var apple = { color : "yellow", 
       taste : "good" }; 
+0

Voy a intentar esto, pero estoy bastante seguro de que es algo con node.data.offsetWidth/Height, todas las otras líneas están bien y lo envolvió con try..catch funcionó. – Rob

+0

Bueno, sí, fue solo una suposición porque vi ese comandante en tu fragmento. – p1100i

+0

es una buena información, sin embargo. – Rob

2

Se puede usar un comunicado intento de captura.

var style = label.style; 

try 
{ 
    style.width = node.data.offsetWidth; 
    style.height = node.data.offsetHeight;    
} 
catch(err) { /* do nothing */ } 

style.cursor = 'pointer'; 
style.color = '#fff'; 
style.fontSize = '0.8em'; 
style.textAlign= 'center'; 
+0

CATCH ALL! j/k :) –

0

Puede usar try ... catch:

try{ 
    allert('hello'); //Syntax error 
}catch(err){ 
    console.log(err); 
} 
+0

esto fallará por otro motivo en IE Kaii

0

Si sabe que su código es probable que se produzca un error (por cualquier razón) se puede capturar y manejar los errores con un try/catch:

try { 
    // Code that is likely to error 
} catch(e) { 
    // Handle the error here 
} 

No puede hacer nada con el error o tratar de recuperar su aplicación. En este caso, probablemente deberías tratar de descubrir por qué IE está arrojando un error en primer lugar y ver si puedes evitar tener que suprimir los errores.

Más información: