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)
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: Ссылка
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
Es ist nicht notwendig zu überprüfen, ob der Inspektor geöffnet ist.
Wenn Sie den Inspektor öffnen, können einige Fälle eintreten:
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:
Tags und Links javascript google-chrome firebug webkit web-inspector