…Как понимаю, вы уже прочитали общий обзор и хотите поглубже разобраться что и как в этом аддоне…) Всё верно, работа с любым расширением требует знания и понимания всех его особенностей, это позволит вам избежать "непонятных" проблем при эксплуатации аддона. В этой статье: Отличия от оригинала и аналоговПо отношению к исходному аддону и его функциональным аналогам в V-Link Color имеются следующие отличия:
Технические детали разработкиНиже приведены некоторые технические подробности по исходному коду и эксплуатации расширения. Исходный код, интерфейс и APIV-Link Color не использует для работы никакие сторонние библиотеки (привет любителям JQuery)). Более того, в этом расширении вообще не применяются никакие скрипты, рабочий комплект состоит из манифеста и инжектируемого файла стилей. Ну да, иконка там тоже есть, но, в принципе, она нужна только для наглядности представления в списке установленных расширений…) В силу этого в аддоне отсутствует постоянный фоновый процесс, он не расходует ресурсы браузера "в покое", основная функция расширения выполняется с помощью инжектируемого CSS-файла, который лишь незначительно увеличивает размер просматриваемых страниц. По этой же причине, в отличие от более "навороченных" функциональных аналогов – в форке полностью отсутствует какой-либо интерфейс, требующий дополнительного html-кода, всё работает "на полном автомате" только за счёт чистого инжектора CSS, всё содержимое которого хранится в единственном файле. В общем, всё максимально компактно и "заточено" на простое и быстрое решение основной задачи.) Для нормальной работы инжектора в манифесте запрашивается разрешение [ "activeTab" ]. Для запуска CSS-инжектора применяется стандартный API контент-скриптов. Для работы с локальными страницами в манифесте указывается разрешение [ "<all_urls>" ] Ручная замена и создание собственных стилейКак уже сказано, при желании можно вручную изменить цвет по умолчанию для посещённых ссылок. Для этого необходимо отредактировать* содержимое файла vlink.css, входящего в комплект расширения. Для замены только цвета достаточно указать для выделенных параметров любое другое подходящее значение: a:visited {color: #808 !important} Для лучшего понимания этих действий смотрим ссылки на "матчасть" по подбору цвета в конце этой статьи. После редактирования аддон следует перезапустить для вступления в силу сделанных изменений. Кроме того, в этом же файле можно задать и любые другие параметры CSS по своему желанию. Например, вы можете задать для всех сайтов предпочитаемый фон или стиль любых других элементов. В общем, всё ограничивается только вашей фантазией. Ну и соответствующими знаниями, естественно…) И, наконец, изменяя в файле манифеста разрешения на доступ инжектора к конкретным сайтам (параметр "matches" в директиве "content_scripts"), можно ограничивать применение ваших стилей только отдельными сайтами, задавая для них достаточно сложные CSS. Частным примером реализации такого решения может служить аддон Рамка цитат Ru-Board, позволяющий изменять стили для страниц форума Ru-Board. Если же вы планируете использовать достаточно простые стили, работающие только на некоторых сайтах, существует альтернативный способ, позволяющий полностью обойтись без установки множества дополнительных аддонов. Этот способ заключается в указании требуемых стилей в настройках пользовательских правил вашего блокировщика рекламы. Например, для uBlock подобное правило может быть задано примерно так: ru-board.com##.lgf:style(border-width:2px;border-color:navy;) Действие такого правила будет визуально эквивалентно работе базовой версии Рамки цитат Ru-Board. Возможные ограничения и условия примененияПри эксплуатации расширения нужно помнить о том, что: 1. Установка заданных стилей происходит на момент загрузки страницы, в большинстве случаев этого достаточно для переопределения стилей ссылок на ней. Однако, не исключены ситуации, когда на отдельных* сайтах расширение может не срабатывать из-за перекрытия CSS-правил по приоритету. * В таких случаях можно попытаться добавить в общий шаблон свой собственный стиль, учитывающий конкретные URL сайтов, либо использовать для этих целей более "продвинутые" CSS-менеджеры. 2. Подсветка посещённых ссылок производится на основании данных истории посещения, хранящейся в вашем профиле браузера. Поэтому должно быть очевидно, что при очистке* истории такой подсветки уже не будет. * Сделанной вами вручную, в настройках браузера, либо при автоматической очистке, по истечению "срока давности" (при прочих равных, стандартная "история" в хром-браузерах хранится порядка 3 месяцев). 3. Расширение работает глобально, замена стилей производится на всех* сайтах. Если это неприемлемо – лучше использовать другие "стилизаторы", позволяющие более гибко управлять дизайном конкретных сайтов. * При желании можно вручную указать соответствующие маски в манифесте расширения и задать собственный список исключений. 4. При внесении любых самостоятельных изменений в исходный код расширения все подобные действия лучше (и проще)) производить* при установке аддона в режиме разработчика. * Это, как минимум, позволит избежать выдачи сообщений о нарушении целостности расширения. Дополнительные примечания по кодуПрактических ограничений по версии браузера не имеется, используемые API работают в версиях 22+. В силу того, что расширение не имеет никакого интерфейса взаимодействия с пользователем, особой потребности в его локализации нет, в качестве языка описания используется только* английский. Это связано с серьёзным упрощением кода и повышением скорости его работы. * Впрочем, если "народ потребует", прикрутить "великий и могучий" не составит никакого труда…) Ссылки для интересующихся
| ||||||||||
Бармалей 30.04.2015 18.12.2020 303 Общие технические сведения о разработке
|
Всего комментариев: 0 |