2009-12-01 2 views
10

Я работаю над расширением Firefox, но он идет медленно (отчасти потому, что у меня нет времени на это работать). У меня есть базовый скелет, проверено, что я могу поговорить с внешним JSON API, изменить любую веб-страницу при загрузке и показать окно настроек. Это все необходимые Hello Worlds для расширения, которое я пишу (возможно, мне не нужно окно настроек).Firefox Exension против сценария Greasemonkey?

Внезапно мне пришло в голову, что я могу игнорировать гораздо более простой способ сделать это. Since Greasmonkey scripts may be compiled into Firefox Extensions, Greasemonkey может быть лучшим способом:

  1. Это может быть проще (не уверен)?
  2. Это может быть кросс-браузер (по крайней мере, Safari и Firefox)?
  3. Существуют ли ограничения для скриптов Greasemonkey против «родных» расширений FF? Можно ли написать хромированные пользовательские интерфейсы? Появятся обычные DIVs? Предпочтения сохраняются (я думаю, они могут быть)?

Я ищу сравнение Greasemonkey по сравнению с «родными» расширениями Firefox. Кроме того, кто-нибудь работал с «компиляцией» сценария Greasemonkey в расширение FF (опыт, проблемы)?

ответ

5

Я бы сказал, в общем, если ваша цель - изменить способ отображения/функционирования веб-страницы, тогда Greasemonkey - это путь. Если у вас есть куча окна/пользовательского интерфейса для отображения, и вы действительно выходите за рамки основного намерения Greasemonkey, тогда, вероятно, лучше придерживаться более традиционного расширения.

+0

Спасибо, Филфрео, это тоже мое понимание. В то же время я хочу получить более технический аспект этого, особенно компилируя расширения Greasemonkey (иначе пользователям нужен Greasemonkey, верно?). –

+0

Правильно ... но если вы хотите поддерживать Safari, вам все равно придется предоставить инструкции о том, как установить GreaseKit в первую очередь ... и люди, которые действительно используют Greasemonkey, вероятно, скорее не будут устанавливать расширение для Firefox. – philfreo

1

Считайте, что сценарии greasemonkey не могут вызвать UniversalXPConnect. Из-за этого я сталкиваюсь с некоторыми проблемами, но не уверен, что это можно решить с помощью расширения Firefox. Но я чувствую себя довольно ограниченным, так как не могу назвать UniversalXPConnect и делать что-то большое.

+0

Спасибо Priyank, я вижу это из вашего другого вопроса здесь http://stackoverflow.com/questions/1284187/universalxpconnect-in-greasemonkey-script –

1

Теперь Google Chrome набирает популярность. И он также имеет собственный API расширения. Самые простые скрипты Greasemonkey будут установлены в Google Chrome без каких-либо ухищрений. Если вы используете XHR, вам может потребоваться создать расширение Chrome.

Теперь я считаю, что Mozilla осознала, что расширение Firefox нуждается в капитальном ремонте. В настоящий момент они нажимают на Jetpack. У них должен был быть усовершенствованный механизм расширения давным-давно, взяв реплику от успеха Greasemonkey.

Я просто добавляю к вашему вопросу, что есть больше вариантов, чем просто Greasemonkey и Firefox Extension. Вам нужно решение, которое было бы легко установить/запустить в нескольких браузерах.

Я подумал, какие функции я собираюсь реализовать в расширении браузера, а затем посмотреть, какой механизм расширения (GM, Jetpack, FF extension, Google Chrome Extension) поддерживает все функции.

+0

. , Спасибо. –

1

Спрашивая это, я начал работать с компиляцией сценариев Greasemonkey в Firefox. Работает как шарм.

Ограничения - все, что вы не можете сделать с расширением Greasemonkey. Вы не можете сделать реальный Firefox Add-on Preferences, а также не очень серьезно «Chrome». Единственное, что вы можете изменить в браузере, это chrome.css, который появляется раньше загрузки страницы.

Возможно, существуют другие ограничения (см. Ответ Приянка, который связан с доступом к локальной файловой системе).

Как известно, если вы намерены изменить веб-страницу, Greasemonkey - прекрасный способ пойти. Я не видел проблем с компиляцией расширений Greasemonkey (удивительно) и заставить их работать так же, как в Greasemonkey.

Смежные вопросы