Les outils de développement de Chrome sont un excellent ensemble d'outils que j'aime utiliser. Malheureusement, je suis tombé sur un problème très étrange ces derniers temps lorsque je rafraîchis la page tout en gardant la fenêtre des outils de développeur ouverte: Chrome suspend l'exécution du 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 entraîne une pause du script, bien que l'exception elle-même soit positionnée dans un bloc try-catch. Existe-t-il un moyen de modifier ce comportement? Ou y a-t-il quelque chose que j'ai manqué?
5 réponses
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 qu'elle vous aidera:
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 );
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 y a un bouton appelé "Gérer le blackboxing du framework ..."
Vous pouvez l'utiliser pour ignorer certains scripts d'être évalués dans le débogueur. Voici un regex simple pour attraper des trucs jQuery. /jquery(.*)\.js$
Je viens de résoudre ce problème (dans mon cas, cela pourrait être différent). J'ai accidentellement cliqué sur le bouton "Pause des 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 à bascule:
Si quelqu'un recherche
div.querySelectorAll("*,:x");
Devrait rediriger ici.
J'ai trouvé cette question à la recherche de 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 Points d'arrêt (ctrl-7). Désélectionnez "Toutes les exceptions" et sélectionnez "Toutes les exceptions non détectées".
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.