Raccourci clavier Chrome pour suspendre l'exécution du script

48

Existe-t-il un raccourci clavier dans Google Chrome qui interromprait l'exécution du script? (Équivalent à appuyer sur le ||bouton "Suspendre l'exécution du script" dans le panneau Scripts des outils de développement.)

J'aimerais utiliser les outils de développement pour inspecter un élément dans son état de survol; le mouseleavecode fonctionnera évidemment si j'essaie de cliquer sur le bouton de pause!

josh3736
la source

Réponses:

56

Bien que je n’aie pas trouvé la solution exacte à ce problème, j’ai trouvé un one-liner qui peut être placé dans une page (ou collé dans la console Javascript) pour atteindre mon objectif:

jQuery(window).keydown(function(e) { if (e.keyCode == 123) debugger; });

Cela entraînera une pause de l'exécution lorsque vous frapperez F12.

( debuggerest une instruction JavaScript qui force un point d'arrêt.)


Mise à jour: Outils de développement possède de nombreux raccourcis intégrés (appuyez sur F1pour une liste), mais vous devez vous concentrer sur la fenêtre Outils de développement pour que ceux-ci fonctionnent. La suspension de l'exécution du script est F8(en consultant l'onglet Sources, à partir de Chrome 45) ou Ctrl+ /.

La ligne ci-dessus peut toujours être utile si vous devez rester concentré sur la page avant de faire une pause.

josh3736
la source
6
F8 ne fonctionne que lorsque vous êtes sur la page "Sources" de DevTools (Chrome 40)
netvope
1
CTRL + / fonctionne-t-il sous Linux ou quelque chose comme ça? Parce que CTRL + \ semble fonctionner sous Windows, et selon d’autres, ce serait CMD + \ pour MAC.
djabraham
1
Le même effet mais sans nécessiter jQuery:window.addEventListener('keydown', e => { if (e.keyCode === 123) debugger })
pau.moreno
Parfois, des raccourcis clavier d’événement permettent de fermer l’élément que vous souhaitez inspectersetTimeout(function() { debugger; }, 1000)
Aide
14

Raccourcis clavier de Google Listes de références pour "suspendre / reprendre l'exécution du script":

  • F8ou Ctrl+ \(Windows)
  • F8ou Cmd+ \(Mac)

Il existe des moyens plus simples d’inspecter des objets dans des états impairs, comme stationnaire ou actif. Commencez par rechercher le nœud DOM dans le volet Éléments de Chrome Dev Tools. Maintenant, vous pouvez soit cliquer sur le noeud avec le bouton droit de la souris et regarder "Forcer l’état de l’élément" dans le menu contextuel, ou sélectionner le noeud et regarder dans l’onglet Styles et trouver l’icône en forme de pointillé avec la souris en haut à droite. (à côté de l'icône + / plus qui vous permet d'ajouter une nouvelle règle CSS à element.stylel'élément que vous avez sélectionné).

Lorsque vous activez l'un de ces états, la marge gauche du volet des éléments forme un petit cercle indiquant que vous avez remplacé l'état naturel de l'élément sur cette ligne.

Alxndr
la source
3
F8 ne fonctionne pas dans la fenêtre principale du navigateur, mais uniquement dans la fenêtre Outils de développement. Utiliser Force Element State n’aide en rien lorsqu’il s’agit d’un script écoutant des événements (plutôt que du CSS) qui fait des choses.
josh3736
3
F8 fonctionne dans la fenêtre principale du navigateur, mais la fenêtre Outils de développement doit être ouverte sur l'onglet Source en arrière-plan.
Reor
8

J'ai écrit une petite extension Chrome qui vous permet d'appuyer sur le bouton Pause de votre clavier pour suspendre l'exécution de javascript.

Comment l'obtenir:

Usage:

  1. Laissez les outils de développement chromés ouverts
  2. Appuyez pause/breaksur votre clavier
SpareBytes
la source
1
@ Flu, je l'ai ajouté au Chrome Web Store. Profitez
SpareBytes
Cela a bien fonctionné - j'ai pu faire une pause pour examiner l'injection HTML dynamique dans la page. L'utilisation des outils de développement n'a pas fonctionné, car le code HTML était supprimé par le code lorsqu'il perd le focus.
Kenny Evitt
Mon clavier ne comporte pas de bouton "Pause / pause". J'ai donc dû l'associer à une autre touche. Ce qui n’était pas immédiatement évident pour moi, c’est que vous devez maintenir la nouvelle combinaison de touches enfoncée pendant que vous cliquez sur le bouton "Enregistrer le combo".
Jasper Citi
0

Exercer mon Google-fu, j'ai trouvé la liste officielle de Google des raccourcis clavier Chrome

Il ne semble pas y en avoir un dédié. Vous pouvez toujours écrire un plugin qui interpréterait une combinaison de touches comme un bouton de pause, si vous le souhaitez.

technowizard12
la source