console.log Browser in Android-Emulator
-
08-10-2019 - |
Frage
Wie console.log
Nachrichten einer Website mit Android-Emulator sehen?
Lösung
Von Rich-Chetwynds kurzen Artikel "Javascript Debuggen auf Android-Browser".
können Sie melden JavaScript-Fehler und Konsolenmeldungen von Ihrem Android-Gerät oder Emulator. Um dies zu tun, müssen Sie zuerst das Android SDK und USB-Treiber und aktivieren USB-Debugging auf dem tatsächlichen Gerät installieren.
Um zu überprüfen, ob das Gerät richtig angeschlossen ist können Sie die folgenden cmd aus Ihrem Android-SDK-Tools Verzeichnis laufen und Sie sollten ein Gerät in der Liste
siehe
c:\android sdk..\platform-tools\adb devices
Sie können dann die Android Debug Bridge zum Filter Debug-Nachrichten verwenden, so dass Sie nur, indem Sie die folgenden cmd Browser bezogene Nachrichten sehen.
c:\android sdk..\platform-tools\adb logcat browser:V *:S
Standardmäßig wird das Protokoll auf stdout geschrieben, so dass Sie keine Javascript-Fehler oder console.log Meldungen angezeigt usw. auf das CMD-Fenster geschrieben.
Weitere Informationen:. Logcat CLI-Tool docs
Andere Tipps
Wenn Sie den Emulator von Eclipse
mit dem ADT plugin
begonnen haben, werden Sie alle JavaScript
Konsolenprotokolle direkt unter der LogCat Ansicht sehen:
Window -> Show View -> Android -> LogCat
Sie könnten einige JavaScript vorübergehend wie ...
hinzufügenvar console = {
log: function(msg) { alert(msg); }
};
hässlich wie die Hölle, aber es funktioniert.
Ich entführte die console.log mit diesem Code:
function logManager() {
var self = this;
self.init = function () {
console.log('logmanager initialized');
var old = console.log;
self.logger = document.getElementById('log');
console.log = function (message, options) {
if (typeof message == 'object') {
self.logger.innerHTML = (JSON && JSON.stringify ? JSON.stringify(message) : message) + '<br />' + self.logger.innerHTML;
} else {
self.logger.innerHTML = message + '<br />' + self.logger.innerHTML;
}
}
}
self.toggleLogVisibility = function () {
return $(self.logger).toggle();
};
}
Und verbrauchen mag es so in Ihrem HTML mit Ihrem eigenen Styling (absolut oben rechts ist das, was ich gebraucht)
<div id="log" class="log">
Application loaded...
</div>
Und in Ihrem jscript (laufen diese auf Seite geladen, wie das Protokoll Element bestehen muss)
document.lmgr = new logManager();
document.lmgr.init();
Wenn Sie Android Studio verwenden; Sie können Ihre Logcat (Alt + 6) und Filter für öffnen: :CONSOLE
Filtering für nur :CONSOLE
(statt INFO:CONSOLE
) werden alle Arten von Konsolenmeldungen angezeigt werden (einschließlich Fehler, Warnung, etc.).