Как отладить шелковый браузер на Kindle Fire? - PullRequest
6 голосов
/ 04 января 2012

При работе моего сайта на Kindle Fire я испытываю несколько другое поведение JavaScript, чем через Chrome. Для отладки мне нужен доступ к чему-то вроде Chrome Developer Tool или Firebug. Есть предложения?

Ответы [ 2 ]

6 голосов
/ 11 января 2012

В той же лодке ... надеялся, что adb logcat поможет, но консольные сообщения javascript там не отображаются.Возможно, что-то нужно настроить на устройстве для направления журналов консоли на logcat?

edit: найдено достойное решение: http://jsconsole.com - позволяет настроить удаленную консоль отладки / ведения журнала,Довольно просто (только консольное ведение журнала, так что вам нужно будет много загружать в журналы) ... но это работает хорошо.Помогите мне отследить источник моих проблем, по крайней мере!

с практическими рекомендациями: http://jsconsole.com/remote-debugging.html

0 голосов
/ 18 февраля 2012

Я выбрал другой подход и создал собственное приложение-оболочку, которое открывает диалоговое окно для JavaScript.

Код моей обертки довольно большой, поэтому я взял фрагмент соответствующих частей. Это на самом деле работает и будет отображать любую ошибку JavaScript.

// registers the debugger to catch errors 
WebView engine = (WebView) findViewById(R.id.web_engine);
engine.setWebChromeClient(new DebugClient(this));

// the class that manages the errors
private class DebugClient extends WebChromeClient {
        Activity activity;

        public DebugClient(Activity activity) {
            this.activity = activity;
        }

        @Override
        public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
            if (consoleMessage.messageLevel() == MessageLevel.ERROR
                    || consoleMessage.messageLevel() == MessageLevel.WARNING) {
                String title="Javascript error on line "
                        + String.valueOf(consoleMessage.lineNumber())
                        + " of " + consoleMessage.sourceId();
                AlertBox alertBox=new AlertBox(activity, (ActionListener)null, title, consoleMessage.message(), "OK");
                alertBox.show();
                alertBoxes.add(alertBox);
            }
            return true;
        }
    }

Для компиляции вам потребуется установить Android SDK на ваш компьютер и, возможно, Java IDE (Eclipse?) С ADT. Затем вы просто делаете: создаете новый проект, добавляете компонент WebView в файл layout / main.xml и вставляете код. Скомпилируйте и установите на свой Kindle Fire.

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