плагин или расширение для браузера, что выбрать?

Я намерен изменить отображение существующих веб-сайтов.

Например, когда Google возвращает результаты поиска, могу ли я настроить отображение веб-страницы (например, добавить несколько визуализаций пузырьков на пустые места этой страницы)? Можно ли это сделать с помощью плагина или расширения для браузера?

Насколько мне известно, расширение браузера, такое как расширение Firefox или Chrome, обычно предназначено для добавления крошечных значков в адресную строку.


comment
Вот рабочий пример для firefox. Скачайте и установите xpi. Он вставляет изображения и div в bing.com gist.github.com/ Noitidart/9287185#file-bootstrap-js-L49, если вы хотите изменить его, просто измените имя хоста и добавьте данные в addDiv и удалите данные в removeDiv. Это довольно сложно, как и его чистый бутстрап. Вы можете использовать firefox-addon-sdk, который представляет собой несколько строк кода: developer .mozilla.org/en-US/Add-ons/SDK   -  person Noitidart    schedule 02.02.2015
comment
Спасибо за ваш отличный пример. Я следовал основам упаковки надстройки в файл xpi на основе указанной вами ссылки. Он включает в себя main.js. Я скопировал содержимое bootstrap.js в main.js, что не работает. Не могли бы вы помочь с тем, как я могу использовать ваш файл bootstrap.js более подробно?   -  person DehengYe    schedule 03.02.2015
comment
Этот код не будет работать из main.js, так как main.js предназначен для надстроек SDK, поэтому синтаксис немного отличается.   -  person Noitidart    schedule 03.02.2015
comment
Спасибо. Я изменил имя хоста с bing.com на google.com, сжал три файла в .zip и переименовал их в .xpi, и это работает.   -  person DehengYe    schedule 03.02.2015
comment
Кстати, может ли расширение Firefox общаться с внутренним сервером через Java Servlet? Я имею в виду, что интерфейс предназначен для визуализации с использованием JavaScript, а серверная часть работает на Java.   -  person DehengYe    schedule 03.02.2015


Ответы (1)


Можно ли это сделать с помощью плагина или расширения для браузера?

Да. Но вы не хотите писать плагин для браузера. Их довольно сложно написать, и пользователи не спешат их устанавливать (по уважительной причине). Кроме того, вам придется написать два, так как Mozilla и Google не могут договориться о формате (Chrome удаляя почтенный NPAPI, но Mozilla не будет реализовывать PPAPI от Google, утверждая, что это движущаяся цель с неадекватной документацией).

Насколько мне известно, расширение браузера, такое как расширение Firefox или Chrome, обычно предназначено для добавления крошечных значков в адресную строку.

Нет. Надстройки Firefox и расширения Chrome могут делать намного больше, включая изменение страницы после ее отображения.

Поэтому вы, вероятно, захотите написать надстройку для Firefox и расширение для Chrome. (К сожалению, да, это две кодовые базы, которые нужно поддерживать, хотя они используют схожие технологии HTML, CSS, JavaScript, поэтому вы можете кое-что разделить между ними.)

person T.J. Crowder    schedule 02.02.2015
comment
Спасибо за отличный и быстрый ответ. - person DehengYe; 02.02.2015
comment
Просто хотел добавить, что самый простой способ написать расширение Firefox для вашего конкретного случая использования, то есть изменить содержимое веб-сайта на лету, — это Дополнительный SDK с PageMod. Вы также можете писать надстройки, не относящиеся к SDK (XUL), или простые надстройки без перезапуска, однако там гораздо более крутая кривая обучения. - person nmaier; 02.02.2015
comment
Спасибо за ваше предложение. Похоже, что расширение для Firefox лучше, чем расширение для Google Chrome. Кстати, может ли расширение Firefox общаться с внутренним сервером через Java Servlet? - person DehengYe; 03.02.2015
comment
На самом деле, ответ на вопрос, можно ли это сделать с помощью плагина для браузера, — нет. Плагины не могут произвольно переписывать страницы. Без чего-то (расширения), добавляющего код на страницу, плагин вообще не будет создан. - person smorgan; 04.02.2015