Комментарии 13
Постойте, в опере же есть автообновление расширений, по крайней мере у меня обновляются.
Немного сомневался в этом пункте. Сейчас исправлю. Значит поведение похожее на Хром, если изменились права, которые нужны расширению, то автообновление отключается. Во всяком случае у меня на двух компьютерах обновления не пришли.
Мне обмен сообщений между popup, options, background, injected намного больше понравился в Хроме. + В хроме гораздо легче дебажить, несмотря на то, что он при этом часто падает. В opera это прямо адские муки какие-то :)
Если что, оперовский драгонфлай прекрасно видит и дебажит расширения (установленные)
Видимо у нас с вами разные понятия о «прекрасно». Как использовать объект console в background.js? Или есть только opera.postError? Как дебажить injected скрипты? Как поставить точку останова в background.js или popup.js при их старте? Ну и т.д… Я, конечно, сейчас могу ошибаться, уже подзабыл многое, но в конечном счёте я пришёл к расстановке alert-ов и opera.postError-ов. Попробуйте подебажить всё это в chrome, для сравнения. К примеру я могу открыть popup окно в отдельном хром-окне, и при необходимости просто в нём жать F5. Я могу поставить debugger; в background скрипте и он будет послушно ждать моего действия. Я могу поставить точки останова в popup.js и background.js в коде обмена сообщениями и хром мало того, что будет останавливаться в них, так ещё и нужные окна выведет на передний план. Честно, после отладки в опере, в хроме я просто отдыхал.
Вот пример дебага background.js, Точку останова да, поставить нужно не стандартными средствами, обратите внимание на две серые кнопки на панели дебага, они останавливают скрипт при новом операторе.
А насчет консоли да, тут доступа нет, разработчики обещают убрать этот недостаток в ближайшее время. Я не говорил что в хроме это делать хуже, я вообще в хроме не отлаживал, но мне показалось в опере не все так плохо =)
А насчет консоли да, тут доступа нет, разработчики обещают убрать этот недостаток в ближайшее время. Я не говорил что в хроме это делать хуже, я вообще в хроме не отлаживал, но мне показалось в опере не все так плохо =)
Проверил кнопку «остановить на первом операторе нового скрипта» — не помогает при background.js, при нажатии обновить во вкладке расширений я получаю базовую «Щёлкните кнопку перезагрузить выше, чтобы получить скрипты для текущего контекста отладки».
«не всё так плохо» и «прекрасно» это синонимы? ;) По мне так перечисленных мною пунктов (особенно про injected.js) хватает, чтобы ситуация подходила под «всё ужасно, но хотя бы есть» :)
«не всё так плохо» и «прекрасно» это синонимы? ;) По мне так перечисленных мною пунктов (особенно про injected.js) хватает, чтобы ситуация подходила под «всё ужасно, но хотя бы есть» :)
«не помогает при background.js» мне ведь помогло ) Курсор стоит на установленном чужом расширении.
Мы с вами немного про разные вещи говорим. Я про дебаг своего расширения, точнее про его инициализацию. Сейчас я вижу только такое решение:
1. ставим галочку — останавливаться на новых скриптах
2. обновляем расширение
3. выбираем его из большого списка всякой фигни
4. жмём «обновить скрипты» во вкладке скриптов (снова перегружая расширение)
5. снимаем галку — останавливаться…
Аналог в хроме:
1. ставим в нужном месте debugger;
1. ставим галочку — останавливаться на новых скриптах
2. обновляем расширение
3. выбираем его из большого списка всякой фигни
4. жмём «обновить скрипты» во вкладке скриптов (снова перегружая расширение)
5. снимаем галку — останавливаться…
Аналог в хроме:
1. ставим в нужном месте debugger;
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Написание расширения для Оперы и Хрома: взгляд на процесс