Pregunta

Las herramientas de desarrollador de Chrome son un excelente conjunto de herramientas que me encanta usar. Desafortunadamente, he encontrado un problema muy extraño en los últimos tiempos cuando actualizo la página mientras mantengo la ventana de herramientas del desarrollador abierta: Chrome detiene la ejecución de JavaScript y señala la línea especificada a continuación.

try {
        // This should fail with an exception
        // Gecko does not error, returns false instead
        matches.call(document.documentElement, "[test!='']:sizzle"); // this is where it breaks

} catch (pseudoError) {
    pseudoWorks = true;
}

Una excepción hace que el script haga una pausa, a pesar de que la excepción en sí misma se posiciona dentro de un bloque de captura de prueba. ¿Hay alguna forma de alterar este comportamiento? ¿O hay algo que me he perdido?

¿Fue útil?

Solución

Posiblemente sea un error conocido, verifique esto: http://bugs.jquery.com/ticket/7535 . He encontrado esta solución allí, espero que ayude:

 try {
// This should fail with an exception
// Gecko does not error, returns false instead
// <orig. $jquery-1.5:>
// matches.call( document.documentElement, "[test!='']:sizzle" );
// <proposal to Ticket #7535, 2011-03-24:>
  if( ! html.mozMatchesSelector || document.currentScript ){
    matches.call( html, "[test!='']:sizzle" );
  }
//else{
// /*FF lt 4*/
//}


} catch( pseudoError ) {
    pseudoWorks = true;
  }
  // <testing only>
  // alert('MalformedSelectorException thrown: ' + pseudoWorks );

Otros consejos

Acabo de resolver este problema (en mi caso, podría ser diferente). He hecho clic accidentalmente en el botón "Pausa en Excepciones" en la consola de Chrome. Éste: https://developers.google.com/chrome-developer-tools/docs/scripts-beakpoints#js_exceptions

Aquí está la ubicación de esa pequeña pausa fácil de perder en el botón Excepciones y sus tres estados de alternancia:

Image showing small "Pause on Exceptions" button

Si alguien busca

div.querySelectorAll("*,:x");

Debería redirigir aquí.

Si estás usando Chrome, haz esto:

Haga clic en el icono de configuración en el Inspector (el COG). En general, hay un botón llamado "Administrar BlackBoxing ..."

Puede usar esto para ignorar ciertos scripts de ser evaluados en el depurador. Aquí hay una regex simple para atrapar cosas de jQuery. /jquery(.*)\.js$

Encontré esta pregunta buscando relacionada con Safari, así que supongo que la respuesta puede ser útil:

En el inspector web de Safari, esto se puede lograr de manera similar yendo a la pestaña Puntos de interrupción (CTRL-7). Deseleccionar "todas las excepciones" y seleccione "todas las excepciones no capturas".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top