Question

Les outils de développement de Chrome sont un excellent ensemble d'outils que j'aime utiliser.Malheureusement, je suis récemment tombé sur un problème très étrange lorsque j'actualise la page tout en gardant la fenêtre des outils de développement ouverte: Chrome interrompt l'exécution javascript et pointe vers la ligne spécifiée ci-dessous.

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;
}

Une exception provoque la pause du script, bien que l'exception elle-même soit positionnée dans un bloc try-catch.Est-il possible que je puisse modifier ce comportement?Ou y a-t-il quelque chose que j'ai manqué?

Était-ce utile?

La solution

Il s'agit peut-être d'un bogue connu, vérifiez ceci: http://bugs.jquery.com/ticket/7535.J'ai trouvé cette solution là-bas, j'espère que cela aide:

 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 );

Autres conseils

Je viens de résoudre ce problème (dans mon cas, cela pourrait être différent). J'ai accidentellement cliqué sur le bouton "Pause on Exceptions" dans la console de Chrome. Celui-ci: https://developers.google.com/chrome-developer-tools / docs / scripts-breakpoints # js_exceptions

Voici l'emplacement de ce petit bouton Pause sur les exceptions, facile à manquer, et ses trois états de bascule:

Image montrant le petit bouton "Pause on Exceptions"

Si quelqu'un recherche

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

devrait rediriger ici.

Si vous utilisez Chrome, procédez comme suit:

Cliquez sur l'icône Paramètres dans l'inspecteur (le rouage).En général, il existe un bouton appelé "Gérer la blackboxing du framework ..."

Vous pouvez l'utiliser pour ignorer certains scripts d'être évalués dans le débogueur.Voici une expression régulière simple pour attraper des trucs jQuery./jquery(.*)\.js$

J'ai trouvé cette question en la recherchant liée à Safari, donc je suppose que la réponse peut être utile:

Dans Safari Web Inspector, cela peut être réalisé de la même manière en accédant à l'onglet Breakpoints (ctrl-7).Désélectionnez "Toutes les exceptions" et sélectionnez "Toutes les exceptions non interceptées".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top