Android: проблема с отладкой javascript в webview - PullRequest
22 голосов
/ 01 февраля 2011

У меня запущен JavaScript в WebView, и я хочу получать консольные сообщения об ошибках в JS.В соответствии с инструкциями на http://developer.android.com/guide/webapps/debugging.html я переопределил методы

WebChromeClient.onConsoleMessage(String message, int lineNumber, String sourceID)

и

WebChromeClient.onConsoleMessage(ConsoleMessage cm),

перенаправления сообщений наLogCat.В Android 2.1 это работает хорошо, но в Android 2.2 ни один из этих методов не вызывается.

Что я делаю не так?

Спасибо.

Ответы [ 2 ]

7 голосов
/ 08 июня 2011

Похоже, что HTC отключил console.log на устройствах Android 2.2. проверить это сообщение:

Как отобразить вывод console.log () в приложении PhoneGap с использованием Eclipse и HTC Desire HD?

6 голосов
/ 16 марта 2011

Я только что проверил на 2.2 (уровень 8).Работает нормально.Не уверен, почему ты этого не видишь.Я бы подтвердил настройки ChromeClient.

js содержит ...

console.log("Hello World");
console.error("Serious");

ChromeClient содержит

    @Override
public void onConsoleMessage(String message, int lineNumber, String sourceID) {
    // TODO Auto-generated method stub
    Log.v("ChromeClient", "invoked: onConsoleMessage() - " + sourceID + ":"
            + lineNumber + " - " + message);
    super.onConsoleMessage(message, lineNumber, sourceID);
}

@Override
public boolean onConsoleMessage(ConsoleMessage cm) {
    Log.v("ChromeClient", cm.message() + " -- From line "
            + cm.lineNumber() + " of "
            + cm.sourceId() );
    return true;
}

Журнал содержит 03-16 15: 53: 12.309: VERBOSE / ChromeClient (595): HelloМир - из строки 24 файла: ///android_asset/base.js 03-16 15: 53: 12.309: VERBOSE / ChromeClient (595): Серьезный - из строки 25 файла: ///android_asset/base.js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...