2012-09-25 14 views
38

Solía ​​usar la "Consola de depuración" para Safari móvil para imprimir los mensajes de console.log cuando estoy solucionando problemas. Con iOS 6, en la configuración avanzada de Safari, el "Inspector web" reemplazó la "Consola de depuración". Desafortunadamente, mi compañía no me permite enchufar los teléfonos con los que estamos probando a las computadoras en las que estamos desarrollando.¿La consola de depuración iOS 6 ya no está?

¿Alguien sabe cómo habilitar mensajes impresos mediante el uso de console.log() para mostrar en iPhones con iOS 6?

Respuesta

19

Lo quitaron. Ahora se te pedirá que depures a través de Safari.

http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers

En realidad es bastante fácil de configurar.
1) Asegúrese de que su configuración de Web Inspector esté activada en Configuración de iPhone => Safari => Avanzado.
2) Conecte su teléfono a una computadora Mac OSX.
3) Abrir Safar 6 y asegurarse de que está en el modo de desarrollar las preferencias de Safari => Avanzada => Mostrar Desarrollar Menú

+191

Sí, es super fácil ... a menos que no tenga una Mac. – K2xL

+25

Tampoco responde la pregunta: el interlocutor dijo que no le está permitido enchufar el teléfono a su Mac. –

+3

Ustedes deberían probar el [Firebug Lite (versión de marcador)] (http://getfirebug.com/firebuglite#Stable). Funciona bien para mí. –

14

Si usted no tiene Mac OS X puede utilizar este script como el reemplazo de la consola:

https://github.com/robotnic/waterbug

Muestra el mensaje de error, es posible registrar todo tipo de variables, tiene que girar su iPhone o iPad 90 ° hacia la derecha para abrir la consola.

4

Otra opción posible es mobile performance bookmarklet de Steve Souders. Incluye Firebug Lite, que tiene una consola y un poco más. No funciona del mismo modo que la consola anterior de Mobile Safari y debe tener una conexión para usarlo.

+0

Uso [firebug lite] (https://getfirebug.com/firebuglite/#Stable) directamente – Elad

28

he encontrado que es muy útil para dar salida a cualquier error de JS con una alerta en window.onerror ->

window.onerror = function(error) { 
    alert(error); 
}; 

que me pega en la parte superior de guiones para que los errores de tiempo de ejecución se emitirán en una alerta nativa Funciona en el escritorio también.

+3

Muchas gracias. Esto me salvó el día, lo mejoré un poco y lo publiqué: https://github.com/AlphaGit/random-javascript/tree/master/alert-errors – Alpha

+1

Este es el mejor :) – Nav

+0

Genius! Muchas gracias, señor. ¡Ahora no tengo que darle a Apple nada del dinero que tanto me costó ganar para que las cosas funcionen en su plataforma! – Danman

0

Simplemente crea tu propia consola en la parte inferior de la pantalla. Esta es una solución rápida, pero es mejor que hacer alertas por todos lados. Asegúrese de poner esto en el archivo html de la raíz (abajo) o conviértalo a todos los archivos JS y póngalo en el archivo raíz JS (arriba).

<div id="console"></div> 
<style media="screen"> 
#console { 
    resize: both; 
    height :200px; 
    overflow: scroll; 
    background: white; 
    color: black; 
    border: 1px solid black; 
    width: 95vw; 
    padding: 5px; 
    margin: auto; 
} 
</style> 
<script type="text/javascript"> 
logger = (...params) => { 
    const newLog = document.createElement("div"); 
    newLog.textContent = params.reduce((str, param) => { 
     if (typeof param === 'string') return `${str} ${param}`; 
     return `${str} ${JSON.stringify(param)}`; 
    }, ''); 
    document.getElementById('console').appendChild(newLog); 
    } 
    window.onerror = (error) => { 
    const newLog = document.createElement("div"); 
    newLog.style.color = 'red'; 
    newLog.textContent = error; 
    document.getElementById('console').appendChild(newLog); 
}; 
    console.log = logger; 
    console.warn = logger; 

</script> 
+0

pegar en babel https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=es2015&targets=&browsers=&builtIns=false&debug=false&code_lz=Q si lo necesita en es5 – Joey

Cuestiones relacionadas