2012-04-17 7 views
9

me sale el siguiente error y el iPad, pero no en los navegadores de escritorio:iPad Error de JavaScript no es útil

JavaScript: Error 
undefined 
TypeError: 'undefined' is not a function 

Esta es una aplicación más grande js, y este mensaje de error es totalmente inútil. ¿Hay alguna manera de que pueda obtener el número de línea del error o más información?

Actualización: Esto acaba de funky.

line : 0  
page : undefined 
desc : TypeError: 'undefined' is not a function 
chr : undefined 

El usuario agente spoofing en FF y safari. No hay error.

+2

Tuve el mismo problema, y ​​aunque la sugerencia window.onerror fue un comienzo, obtuve los mismos resultados inútiles. Terminé teniendo que ensuciar mis scripts con console.logs para estrecharlos. Con iOS parece que hemos retrocedido a ie6 días con la depuración de errores ... Mi problema específico era que asumía function() {}. bind() fue compatible en mi aplicación. No lo era, pero mis navegadores dev (Safari/Chrome) lo soportan de forma nativa, mientras que iOS Safari aparentemente no lo hace. – heff

+0

Créalo o no, '.bind' era mi problema también. – Fresheyeball

Respuesta

13

Usted podría intentar registrar un controlador de errores personalizado para window.onerror

window.onerror = function (desc,page,line,chr) 
{ alert('Line:'+line); } 

desc = Mensaje de error
page = Archivo/Página donde ocurrió el error
line = Bueno ...
chr = Posición de carácter del error en la línea

+0

oo eso fue genial. De cualquier manera, ¿puedo obtener el nombre del archivo también? – Fresheyeball

+0

intente la variable 'page' :) - he editado la respuesta para incluir la información de contenido de las cuatro variables :) – bardiir

+0

para la página Me sale 'indefinido', extraño – Fresheyeball

2

Si vincula un controlador de errores a window.onerror, i t debería darle el número de línea, p.

window.onerror = function(msg,url,line) { 
    alert('The error is on line '+line); 
} 

Esta pregunta: Debug JavaScript errors on iPad parece indicar que puede habilitar la depuración también.

Si el script se carga dinámicamente, sin embargo, puede ser difícil obtener dicha información en cualquier entorno.

Cuestiones relacionadas