12

Chrome'un web geliştirici araçlarında, F8 tuşlarına basarak herhangi bir noktada bir kopabilir.Bir sürükle ve bırak işlemi sırasında Chrome F8/hotkey hata ayıklayıcısını kesme

Sık sık F8 tuşuna basarak sürükle ve bırak işlemi sırasında bir elemanı kırıp incelemek istiyorum. Ancak bu işe yaramaz.

Özel bir komut dosyası çalıştırmadan yerel bir Chrome yolu kısayolu var mı?

+0

(https://bugs.chromium.org/p/chromium/issues/detail?id=637252). – Buksy

cevap

15

Hayır, klavye kısayollarının çalışması için aygıtlar penceresinin odaklanması gerekir. Bir öğeyi sürüklerken, odağı olan sürüklenen öğedir, devtools penceresi değil. Yapabileceğiniz en iyi şey özel bir senaryo ile. 2s sonra ayıklayıcısını tetiklemek için konsolda bir zaman aşımı ayarı

Dene: o zaman

setTimeout(function(){debugger;}, 2000); 

Ve bu işlevi adım.

5

Özel bir komut dosyası çalıştırmadan yerel bir Chrome yolu kısayolu var mı? herhangi bir ekstra adımlar olmadan

sayılı DevTools duraklatılamadı F8 için odakta olması gerekir. Eğer DevTools açık ama değil odakta iken debugger aramak isterseniz


, bir kaç yönden F8 anahtarı için bir event listener ekleyebilirsiniz. Bunlar, bir öğeyi sürüklediğinizde ve komut yürütme işlemini duraklatmak istediğinizde çalışır.

1) Açık konsolu ve elle ayıklama önce hedef sitede bu komut dosyasını çalıştırın:

window.addEventListener('keydown', function(e){ if(e.keyCode === 24) {debugger;} }, false); 

Bu debugger tetikleyecek F8 anahtarı için bir olay dinleyicisi ekler.

2) Yukarıdaki komut dosyasını, izin verdiğiniz sitelerde çalıştıran Tampermonkey için bir kullanıcı dosyası oluşturun. Numune userscript: Ben [buradan] bu hatayı bildirmişlerdir

// ==UserScript== 
// @name   F8 to debug 
// @version  0.1 
// @description Press F8 when the console is open to trigger 'debugger' 
// @author  Drakes 
// @grant  none 
// @require  none 
// ==/UserScript== 

console.log("Press F8 when the console is open to trigger 'debugger'"); 
function KeyCheck(e) { 
    // Key code 24 is 'F8' 
    if(e.keyCode === 24) { 
     debugger; 
    } 
} 
window.addEventListener('keydown', KeyCheck, false); 
+0

Teşekkürler. Şimdiye kadar benzer bir şey kullandım, ancak hata ayıklama amacıyla bağlamdaki olay dinleyicilerini doğrudan etkilediği için hata ayıklama işlemini engelleyebilir. Bu yüzden ikinci noktanızı bağlamın farklı olması gereken yere götüreceğim. –

+2

Bununla birlikte, olay dinleyicisine "yanlış" geçtiğinizde, etkinliği yakalamaz. Ayrıca, 'addEventListener' kullanarak olay dinleyicisini ekleyerek dinleyiciyi bir dinleyici zincirine ekler (herhangi bir şeyin üzerine yazmaz) ve umarım hiçbiri F8’de mantığı tetiklemez :) – Drakes