Das Beispiel in diesem Artikel beschreibt, wie Sie mithilfe von JavaScript feststellen, ob Firebug aktiviert ist. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Freunde, die häufig Firefox + Firebug zum Debuggen von JavaScript verwenden, wissen, dass die Ausführung der Seiten-JS erheblich langsamer sein wird, sobald Firebug aktiviert ist.
Kann das Javascript auf der Seite aktiv ermitteln, ob Firebug derzeit aktiviert ist?
Die Antwort ist ja.
Firebug wurde für viele Versionen aktualisiert. Ich habe den Eindruck, dass anhand der Erkennung von console.firebug eine alte Version beurteilt werden kann, diese ist jedoch jetzt nicht mehr gültig.
Die neuesten Versionen von Firebug können mithilfe der Methode console.table() beurteilt werden, deren Rückgabewert eine Zeichenfolge „_firebugIgnore“ ist.
Der vollständige Democode lautet wie folgt:
<input type="button" value="check_firebug" onclick="check_firebug()"> <script> function check_firebug(){ if( window.console && (console.firebug || console.table && /firebug/i.test(console.table()) ) ){ alert('Firebug正在运行中'); }else{ alert('未检测到Firebug'); } } </script>
Diese Methode hat auch einen Nachteil. Nach dem Schließen von Firebug gibt console.table() immer noch „_firebugIgnore“ zurück und die Seite muss aktualisiert werden. Aber für die meisten Situationen reicht es aus.
Die Methode console.table() wird ursprünglich zum Anzeigen von Variablen oder Objekten in Tabellenform verwendet. Der eingehende Parameter ist die anzuzeigende Variable oder das anzuzeigende Objekt. Dieses „_firebugIgnore“ wird ohne Übergabe von Parametern zurückgegeben. Gilt es als Easter Egg?
Beispiel (läuft in der Firebug-Konsole):
arr=[["aaaa",1,2,3],["bbbb",4,5,6]]; console.table(arr);