Расширение Chrome: How To
Перевод учебника сайта Chromium, на котором размещена версия разработки Chrome. Первоначальный документ имеет лицензию Creative Common. Этот перевод можно свободно скопировать на бумагу. Не размещайте его на сайте, а размещайте ссылку на этой странице.
Для начала
Создайте на компьютере папку для размещения кода. Для простоты предположим, что папка находится в c :\myextension, но она может быть где угодно .
В этой папке создайте текстовый файл с именем manifest.json и поместите в него следующий код :
{ "format_version": 1, "id": "00123456789ABCDEF0123456789ABCDEF0123456", "version": "1.0", "name": "Ma Première Extension", "description": "La première extension que j'ai faite." }
Вот несколько объяснений, что представляют эти ключи :
- Format_version (обязательно): Указывает версию используемого формата манифеста. На данный момент существует только одна версия, и это версия 1.
- ID (обязательно) - уникальный идентификатор расширения. В настоящее время это может быть любой номер из 40 шестнадцатеричных цифр, но в будущем это будет хэш SHA-1 расширения открытого ключа.
- Версия (обязательно) - версия расширения. В качестве номеров версий можно использовать любое число, разделенное точками.
- Имя (обязательно) - имя, считываемое человеком для расширения.
- Описание (необязательно) - описание расширения.
Создать текстовый файл с именем hello_world.html в папке :
Bonjour, le Monde!
Найдите ярлык Chrome в интерфейсе Windows (свойства значка) и добавьте следующие параметры :
chrome.exe - enable-extensions - load-extension = "c:\myextension"
Запустить Chrome и загрузить эту страницу :
chrome.exe --enable-extensions --load-extension="c:\myextension"
Вы должны увидеть только что созданную страницу. Обратите внимание, что вы можете редактировать страницу во время работы Chrome, нажмите перезагрузку, чтобы увидеть изменения.
Теперь загрузите :
chrome-ui://extensions/
На этой странице перечислены все установленные расширения. Она также показывает все ошибки, которые произошли в системе расширений с момента ее запуска.
Заметки
- --- расширения разделяются только на этапе разработки системы и будут удалены позже.
Содержащиеся сценарии
Расширения могут включать «сценарии содержимого», которые являются файлами JavaScript, выполняемыми в контексте веб-страниц, загруженных браузером. По сути, это похоже на расширение Greasemonkey firefox.
Чтобы добавить текстовое содержимое, сохраните его в манифесте следующим образом:
{ "format_version": 1, "id": "00123456789ABCDEF0123456789ABCDEF0123456", "version": "1.0", "name": "Ma Première Extension", "description": "La première extension que j'ai faite." "content_scripts": [ { "matches": "[* https://www.google.com/"], "js": [ "foo.js"] } ] }
Затем создайте в своей директории файл под названием foo.js с таким кодом :
document.images [0]. src = "http://bit.ly/1293Af"; document.images [0]. height = "";
Снова запустить Chrome с опциями и перейти на https://www.google.com. Ты должен видеть свое изображение вместо логотипа Google.
Заметки
- Также можно обратиться к ресурсам внутри расширения, по их полному пути, например, «chrome-extension ://00123456789ABCDEF0123456789ABCDEF0123456/foo.gif».
- Сценарии содержимого выполняются в среде, отличной от среды веб-страницы. Если веб-страница определяет глобальные переменные, сценарий не может их «видеть» по умолчанию. Это делается специально, чтобы избежать конфликтов со страницей. Если сценарий содержимого должен взаимодействовать с глобальной областью страницы, он может получить доступ к нему с помощью глобальной переменной contentWindows.
- Сценарий содержимого может быть запущен в начале или конце документа. По умолчанию это в конце, но ты можешь сказать Chrome запустить его в начале, добавив строку: "run_at": "document-start" для ввода сценария.
Запрещенный код
Начиная с 18-й версии Chrome, для прекращения уязвимостей в расширениях и зная, что на веб-странице можно обнаружить наличие расширения в браузере, запрещены некоторые типы кодов:
- Код HTTP как загрузка страницы.
- Создание динамического кода.
- Неистово, за исключением некоторых из них, где это важно. Его нужно заменить JSON.parse.
- Вложенный код <script> </script> в расширение.
- Загрузка файлов или плагинов ограничена.
Обнаружить наличие расширения вредоносными сайтами можно с помощью manifest_version 2.
Плагины NPAPI
Расширения Chrome могут содержать бинарные компоненты в виде плагинов NPAPI. Плагины NPAPI трудно сделать и объяснить, как это вне темы этого документа. Если у тебя есть плагин NPAPI, который ты хочешь включить в расширение Chrome, создай в своем расширении папку (например, «плагины»), и добавь эту папку в свой манифест так:
{ "format_version": 1, "id": "00123456789ABCDEF0123456789ABCDEF0123456", "version": "1.0", "name": "Ma Première Extension", "description": "La première extension que j'ai faite." "plugins_dir": "plugins" }
Автоматическая установка
- Запуск Chrome.
- Щелкните меню инструментов, представленное кнопкой в правом верхнем углу. Откроется раскрывающееся меню.
- Щелкните в этом меню на строке инструментов, чтобы открыть второе раскрывающееся меню.
- Щелкните Расширение.
- Открыть режим разработчика, нажав кнопку справа.
- Нажмите «Load unpacked extension» или «Load non packeted extension» и укажите каталог, содержащий ваш код.
- Команда «Pack extension» создает пакет для добавления расширения в галерею.