Я испытываю другое поведение javascript при запуске моего сайта на Kindle Fire, чем через Chrome. Чтобы отладить это, мне нужен доступ к чему-то вроде Chrome Developer Tool или Firebug. Какие-либо предложения?
Как отладить шелковый браузер на Kindle Fire?
Ответы (2)
В той же лодке здесь ... надеялся, что adb logcat поможет, но сообщения консоли javascript, похоже, там не появляются. Возможно, нужно что-то настроить на устройстве, чтобы журналы консоли направлялись в logcat?
редактировать: нашел достойное решение: http://jsconsole.com - позволяет настроить удаленную консоль отладки/регистрации . Довольно просто (только консольное ведение журнала, так что вам нужно много записывать в журналы)... но работает хорошо. По крайней мере, помог мне отследить источник моих проблем!
инструкции: http://jsconsole.com/remote-debugging.html
Я выбрал другой подход и создал нативное приложение-оболочку, которое выводит диалоговое окно для 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.