Отладка javascript на планшетах/телефонах Android?

Как включить отображение отладки, как я могу, в Safari на iOS? Мне просто нужно проверить, не вызывает ли Xoom, который я тестирую на странице, ошибки JavaScript. Я пытался найти, как включить инструменты dev в браузере Android, как я делаю для iOS, но не могу найти его.

Ответ 1

В прошлом я работал над Android-приложением, в котором разработчик Java предупреждал об ошибках JavaScript, и обнаружил дополнительную ошибку, которую мы не обнаружили в версии iOS из-за этого. Итак, если у вас есть доступ к слою java, я бы это выяснил. Я спросил его, что он сделал специально, и он сказал: "Там обратный вызов из класса WebView, который позволяет мне знать, когда JS-код вызывает ошибку. Я реализовал этот обратный вызов для отображения диалогового окна Android."

Там есть два других решения, которые я использую для отладки (ios/android). Они особенно полезны для встроенных веб-представлений в играх, где у вас нет доступа к встроенной консоли:

1) Weinre бета-версия, но функциональный удаленный отладчик. Это даст вам инспектор искусственного интеллекта на вашем рабочем столе, с помощью которого вы можете запрашивать/видеть ошибки на вашем удаленном устройстве. Имеет целый дом инспектор и что угодно. Парень, который его развивает, тоже очень отзывчив.

2) Я записываю функцию журнала javascript, которая попадает на журнал ошибок моих серверов. Просто задержите свой файл журнала, и вам хорошо идти. Моя функция javascript выглядит примерно так:

function hlog(){
    var s = Array.prototype.slice.apply(arguments).join('¶');
    document.createElement('img').src = 'http://yourdevbox/debugger/?m=' + encodeURIComponent(s);
}

Таким образом, я могу принять любое количество аргументов. Моя страница php, которая получает этот запрос, выглядит следующим образом:

# ensure this can't be used in production 
if (strpos($GLOBALS['HTTP_HOST'], 'devboxhostname') < 0) die(':(');
error_log($_GET['m']);

Будем надеяться, что в будущем у мобильных разработчиков будет больше возможностей для отладки.

Ответ 2

Android не имеет (в настоящее время) WebInspector, например Chrome/Chromium.

Вы можете просмотреть любые сообщения console.log(), запущенные под window.console в logcat.

Источник: http://developer.android.com/guide/webapps/debugging.html

Кроме того, пока Firefox 4 доступен для Android, Firebug в настоящее время не поддерживается в мобильной версии браузера.

Ответ 4

Лучшее, что вы можете сделать, это использовать console.log() (например, firebug), а затем установить средство просмотра журнала на свой телефон, фильтровать на основе browser, и вы можете увидеть все сообщения console. (источник)

Ответ 5

Opera mobile имеет удаленную отладку: http://dev.opera.com/articles/view/remote-debugging-with-opera-dragonfly/

У Android по умолчанию нет отладчика, хотя вы можете отлаживать хром/хром на ПК, который использует один и тот же рендеринг webkit. (Там даже эмулятор Android, но у него нет всех особенностей Android-планшета, ограничений изображения/памяти и т.д.)

Firebug Lite также является возможностью: http://getfirebug.com/firebuglite

Ответ 6

Try Weinre: Удаленный веб-инспектор/Смотреть демо

"Weinre - отладчик для веб-страниц, таких как FireBug (для FireFox) и Web Inspector (для браузеров на основе WebKit), за исключением того, что он предназначен для работы удаленно и, в частности, позволяет вам отлаживать веб-страницы на мобильном устройстве таких как телефон."

Возможно, у вас есть другие инструменты удаленной отладки: jsconsole или Aardwolf

Ответ 7

Я нашел, что самый простой способ - включить USB-отладку на телефоне/планшете, а на вашем рабочем столе перейти к хром на

chrome://inspect/#devices

Включите обнаружение устройств usb, а затем в списке приложений нажмите "Осмотреть"

Voila! Удаленная отладка! Теперь вы можете отлаживать свой телефон с комфортом вашего рабочего стола.