Wie erkennt man, ob die Browser-Konsole / der Browser * offen * ist?

8

Wie ermittelt man am besten, ob der Benutzer über die Browser-Konsole verfügt (z. B. Firebug, Webkit)? Inspektor, Opera Libelle) öffnen ?

(Ich bin nicht daran interessiert, nur das Vorhandensein des console -Objekts im Skript zu erkennen. Ich möchte wissen, wann der Benutzer das Debugger-Panel tatsächlich geöffnet hat. Ideal in den wichtigsten Browsern (IE / Safari / Chrome / Firefox ... und wenn möglich sogar mobile Browser)

    
broofa 10.12.2013, 23:47
quelle

3 Antworten

0

Es ist in Javascript aus Sicherheitsgründen nicht direkt möglich. Sie müssten ein Browser-Plugin erstellen, was offensichtlich keine praktikable Lösung ist, wenn Sie browserübergreifende Unterstützung wünschen.

Allerdings gibt es diese knifflige Lösung, die dieser Typ für Chrome entwickelt hat, obwohl ich mir vorstellen kann, dass dies eine langfristige Lösung ist, weil es darauf ankommt, dass Code langsamer läuft, wenn die Konsole hochgefahren ist: Ссылка

    
cakidnyc 08.06.2015 17:52
quelle
0

Wenn Sie bereit sind, eine Störung für den Benutzer zu akzeptieren, Sie können die Debugger-Anweisung verwenden, wie sie in allen Hauptbrowsern verfügbar ist.

Randnotiz: Wenn die Nutzer Ihrer App an der Konsolenbenutzung interessiert sind, sind sie wahrscheinlich mit den Entwicklungswerkzeugen vertraut und werden nicht überrascht sein, dass sie auftauchen.

Kurz gesagt, die Anweisung fungiert als Haltepunkt und wirkt sich nur dann auf die Benutzeroberfläche aus, wenn die Entwicklungstools des Browsers aktiviert sind .

Hier ist ein Beispieltest:

%Vor%

HAFTUNGSAUSSCHLUSS: Ich veröffentlichte ursprünglich diese genaue Antwort für diese möglicherweise doppelte Frage

    
remdevtec 13.01.2017 09:40
quelle
-1

Es ist nicht notwendig zu überprüfen, ob der Inspektor geöffnet ist.

Wenn Sie den Inspektor öffnen, können einige Fälle eintreten:

  1. document.body.clientWidth wird geändert, wenn Ihr Inspektor Recht hat.
  2. document.body.clientHeight wird geändert, wenn Ihr Inspektor unten ist.
  3. nichts, wenn sich Ihr Inspektor in einem anderen Fenster befindet.

Daher sollten Sie die Breite Ihres Browsers überprüfen.

Und wenn Sie etwas im Inspektor tun wollen, überprüfen Sie bitte das Browser-Dokument für devTools:

Chrome Firefox

    
Tychio 13.01.2017 09:56
quelle