web-dev-qa-db-fra.com

Utilisation de Chrome Débogueur JavaScript / Comment interrompre les événements de chargement de page

J'utilise le débogueur de Chrome et je suis bon lorsqu'il s'agit de définir des points d'arrêt une fois qu'une page est en cours d'exécution. Mon problème est que lorsque j'effectue f5 ou que j'appuie sur Entrée sur la ligne URL, mes points d'arrêt disparaissent. Comment puis-je définir un point d'arrêt dans le code qui se produit lors du premier chargement de la page?

57
Peter Kellner

Les versions ultérieures de Safari et de Firefox devraient fonctionner correctement avec des points d'arrêt lors des rechargements, mais il faut être sûr que la requête est exactement la même entre les demandes. ExtJS 4, par exemple, ajoute un _dc=<Epoch> qui désactivera le cache.

Pour arrêter ce comportement, ajoutez ce qui suit:

Ext.Loader.setConfig({
    disableCaching: false,
    enabled: true
});

J'espère que ça t'as aidé!

7
Brian Topping

Dans les outils de développement de Chrome, accédez à l'onglet Sources. Sur la droite, ouvrez Event Listener Breakpoints, et vous pouvez définir des points d'arrêt sur les événements.

Il semble que vous souhaitiez définir votre point d'arrêt sur DOMContentLoaded, qui se trouve dans la section DOM Mutation.

Après cela, rechargez la page et vous vous retrouverez dans le débogueur.

100
Bennett McElwee

Essayez de mettre debugger; dans votre code. Cela fonctionne également dans Firebug de FF

28
Dolan Antenucci

J'utilise la prochaine approche qui convient à Chrome, Safari en utilisant Charles Proxy et Rewrite Tool

debugger;

ou si vous devez attendre une console de navigateur

setTimeout(function(){ 
    debugger; 
    console.log('gets printed only once after timeout');
}, 7000);

setTimeout est une fonction qui se déclenchera après un délai pour donner à l'utilisateur le temps de connecter la console

0
yoAlex5