Часто проверяйте эту страницу, чтобы узнать об изменениях в расширениях Chrome, документации по расширениям, соответствующей политике или других изменениях. Другие уведомления вы найдете в группе расширений Google . В расписании Chrome указаны даты выпуска стабильных и бета-версий.
Chrome 128: сопоставление заголовка ответа в декларативном сетевом запросе
Опубликовано
Начиная с Chrome 128, мы добавляем поддержку сопоставления заголовков ответов в API декларативного сетевого запроса. Это был распространенный запрос, особенно для сопоставления заголовка Content-Type, и мы разработали подходящий API вместе с группой сообщества WebExtensions.
Мы обновили нашу ссылку на API, включив в нее новые поля responseHeaders
и excludedResponseHeaders
. Вы можете использовать их для проверки существования и значения данного заголовка.
В рамках этого обновления мы добавили в нашу документацию новый раздел оценки правил , в котором объясняется, как сопоставляются правила. В частности, для сопоставления заголовков правила могут выполняться только после получения заголовков ответа, поэтому они применяются на более позднем этапе, чем другие правила. Это означает, что запрос доходит до сервера, прежде чем блокируется или перенаправляется.
Видео: Что такое контент-скрипты?
Опубликовано
Узнайте о сценариях контента в расширениях Chrome, в том числе о том, как зарегистрировать CSS и JavaScript для запуска на определенной странице. Посмотрите полное видео .
Важные обновления политики
Опубликовано
Команда Интернет-магазина Chrome опубликовала серию обновлений на странице «Правила программы для разработчиков» , призванных стимулировать разработку высококачественных продуктов, предотвращать мошенническое поведение и обеспечивать информированное согласие пользователей. Ребекка Соарес, менеджер по политике Интернет-магазина Chrome, обобщила все обновления в статье «Расширения Chrome: важные обновления политики» .
Сообщение в блоге: Что происходит с расширениями Chrome, июль 2024 г.
Опубликовано
За последние три месяца мы выпустили несколько значительных обновлений и новых функций, включая начало поэтапного отказа от Manifest V2. Узнайте больше о том, что происходит в расширениях Chrome, июльский выпуск !
Видео: Что такое удаленно размещенный код?
Опубликовано
Патрик из команды расширений Chrome объясняет концепцию удаленно размещенного кода (RHC) в расширениях Chrome. Узнайте, почему RHC больше не разрешен, как это обнаружить и что делать, если ваше расширение необходимо обновить. Посмотрите полное видео .
Chrome 127: новый API action.openPopup
Опубликовано
Начиная с Chrome 127, API action.openPopup
доступен для всех расширений. Раньше он был доступен только в Canary или для расширений, установленных политикой.
Видео: Интервью с командой доверия и безопасности
Опубликовано
Команда Chrome Extensions DevRel встретилась с командой Trust & Safety, которая проводит проверку в Интернет-магазине Chrome, чтобы задать вам вопросы. Посмотрите полное видео .
Сообщение в блоге: Начало поэтапного отказа от Manifest V2
Опубликовано
Начиная с 3 июня на каналах Chrome Beta, Dev и Canary, если у пользователей все еще установлены расширения Manifest V2, некоторые из них начнут видеть предупреждающий баннер при посещении страницы управления расширениями - chrome://extensions - информирующий их о том, что некоторые (Manifest V2) установленные ими расширения вскоре перестанут поддерживаться. Подробности читайте в официальном сообщении.
Обновления пользовательского интерфейса боковой панели
Опубликовано
Недавно мы внесли некоторые изменения в пользовательский интерфейс боковой панели, в том числе добавили значок булавки и удалили глобальный значок на боковой панели. Узнайте больше в PSA и ознакомьтесь с нашей обновленной документацией и образцами .
Сообщение в блоге: Расширения Chrome на Google I/O 2024
Опубликовано
Очередной ввод-вывод Google позади, и мы рассмотрели все интересные обновления расширений! Зайдите на YouTube, чтобы посмотреть полное видео , а также прочитайте публикацию в нашем блоге, чтобы узнать о некоторых основных моментах.
Пропустить проверку для соответствующих изменений декларативного сетевого запроса
Опубликовано
Интернет-магазин Chrome теперь позволяет пропустить проверку допустимых изменений при использовании API декларативного сетевого запроса. Подробную информацию о праве на участие и о том, как подписаться, можно найти в документации Интернет-магазина Chrome .
DeployPercentage доступен в API Интернет-магазина Chrome.
Опубликовано
Недавно мы обновили нашу документацию по API Интернет-магазина Chrome, включив в нее информацию о deployPercentage
, которая позволяет вам назначать процент частичного развертывания. Узнайте больше о deployPercentage
.
Chrome 126: пробные версии Origin в расширениях
Опубликовано
В Chrome 126 представлено новое поле Manifest.json — trial_tokens
, позволяющее вам выбрать использование пробных версий Origin и устаревших пробных версий для всех поверхностей расширений. Прочтите руководство для получения дополнительной информации.
Сообщение в блоге: Что происходит с расширениями Chrome — апрель 2024 г.
Опубликовано
Мы опубликовали новое издание « Что происходит в расширениях Chrome» . В посте обсуждается то, над чем команда расширения работала последние несколько месяцев. Сюда входит: откат версии в Интернет-магазине Chrome, улучшенная поддержка Firebase Auth, а также новые запуски и обновления API.
Откат версий на панели разработчика Интернет-магазина Chrome
Опубликовано
Откатите расширение до предыдущей опубликованной версии в Интернет-магазине Chrome — без дополнительной проверки! Прочтите сообщение в блоге и документацию для получения дополнительной информации.
Chrome 124: Расширенный API сканирования документов
Опубликовано
Расширенный API documentScan
теперь доступен в ChromeOS для обнаружения и получения изображений с подключенных сканеров документов.
Chrome 124: поддержка WebGPU в Service Workers
Опубликовано
Начиная с Chrome 124, сервис-воркеры поддерживают WebGPU . Для быстрого начала ознакомьтесь с примером расширения WebGPU .
Chrome 123: API событий поддерживает фильтрацию по блокам CIDR.
Опубликовано
API событий теперь поддерживает фильтрацию по блокам бесклассовой междоменной маршрутизации (CIDR). Блок CIDR — это набор IP-адресов, имеющих общий сетевой префикс и одинаковое количество бит. Раньше разработчику, которому требовалось фильтровать несколько IP-адресов, нужно было настроить правило фильтрации для каждого адреса в диапазоне блоков. Теперь, когда расширение вызывает addListener()
, переданное правило означает, что обработчик событий будет вызываться только в том случае, если хостовая часть URL-адреса является IP-адресом и содержится в любом из блоков CIDR, указанных в массиве.
Интернет-магазин Chrome: изменения в требованиях к длине имени расширения
Опубликовано
В Интернет-магазине Chrome теперь существует универсальное ограничение в 75 символов для поля "name"
расширения в файле манифеста.json. Раньше ограничение для английского языка составляло 45 символов, а в других локалях ограничений на поле "name"
не было.
Первоначально это было предназначено для учета культурных и языковых различий, которые невозможно отразить одним и тем же количеством символов. К сожалению, эта функция использовалась небольшим количеством разработчиков для рассылки спама в магазине. В результате мы вводим новый универсальный лимит — увеличение до 75 символов. Это ограничение распространяется почти на все расширения, имеющиеся на сегодняшний день в магазине, поэтому, скорее всего, в результате этого изменения от вас не потребуется никаких действий. Если вы попытаетесь загрузить расширение, имя которого превышает максимальный лимит, загрузка будет заблокирована магазином.
Сообщение в блоге: путь Eyeo к тестированию приостановки сервисных работников
Опубликовано
В этом посте команды Eyeo Extension Engine мы исследуем проблему тестирования работников служб расширений. В Манифесте V2 расширения размещались на фоновой странице, которая активна на протяжении всего жизненного цикла расширения. Вместо этого в Manifest V3 используются сервисные работники, а сервисные работники по замыслу экономят ресурсы, отключаясь, когда они не нужны. Это создает определенные проблемы при тестировании. В этом посте объясняется, как Eyeo справился с этими проблемами .
Chrome 123: будильники теперь срабатывают, когда устройство находится в спящем режиме.
Опубликовано
Сигналы тревоги, установленные с помощью API chrome.alarms
, больше не задерживаются, когда устройство переходит в спящий режим. Когда устройство выйдет из режима сна, будильник сработает один раз, независимо от того, сколько сигналов было пропущено. Например, предположим, что будильник настроен на срабатывание один раз в час, а устройство, на котором он установлен, спит с 00:55 до 2:05, тогда только будильник в 2:00 вызывает событие onAlarm
. Он сработает как можно ближе к 2:00 ночи и сразу же, когда устройство проснется, если оно спит.
Это изменение приводит Chrome в соответствие с поведением, согласованным в группе сообщества веб-расширений.
Сообщение в блоге: Изменения в поведении bfcache с портами сообщений расширения
Опубликовано
Кэш назад/вперед (bfcache) — это оптимизация браузера, обеспечивающая мгновенную навигацию вперед и назад. Начиная с Chrome 123, когда страница с открытым портом расширения хранится в bfcache, канал сообщений закрывается, а это означает, что на эту страницу не будут отправляться никакие сообщения. Следовательно, сценарии расширения должны прослушивать события жизненного цикла, такие как onDisconnect
, и устанавливать новое соединение при восстановлении страницы из BFCache.
Дополнительные сведения и пример кода см. в разделе Изменения в поведении BFCache с портами сообщений расширения .
Chrome 122: обещание поддержки API асинхронных расширений
Опубликовано
Мы завершили реализацию поддержки Promise для всех методов API асинхронных расширений. Это было сделано для модернизации методов API за счет улучшения эргономики работы с асинхронными операциями. Несколько методов (например, desktopCapture.chooseDesktopMedia()
) продолжают поддерживать только обратные вызовы, поскольку их текущие поверхности несовместимы с Promises. Для обратной совместимости по-прежнему поддерживаются обратные вызовы. Если вы обнаружите, что обещание не работает, сообщите об ошибке .
Новое руководство по общению в реальном времени
Опубликовано
Мы только что опубликовали руководства по опциям расширений в режиме реального времени . Обновления в реальном времени обеспечивают мгновенный путь связи с ваших серверов непосредственно к установленным вами расширениям. Кроме того, у нас есть новое руководство по использованию chrome.gcm , Web Push .
Новое руководство и образец: завершение тестирования сервисного работника
Опубликовано
Мы только что опубликовали руководство о том, как протестировать завершение сервисного работника с помощью Puppeteer . Сопровождающий пример демонстрирует это в Puppeteer и Selenium.
Обновленный образец встроенного обмена сообщениями
Опубликовано
Мы только что опубликовали обновленный образец встроенного обмена сообщениями. Этот API позволяет вашему расширению запускаться и взаимодействовать с другим приложением. Спасибо участнику GitHub Шубхам-Расалу за работу над этим.
Chrome 121: новое свойство LastAccessed на вкладках.Tab
Опубликовано
К объекту tabs.Tab
было добавлено новое свойство с именем lastAccessed
. Это свойство указывает, когда вкладка была активирована в последний раз. Возвращаемое значение находится в миллисекундах с начала эпохи.
Chrome 121: неподдерживаемые «фоновые» клавиши теперь выдают предупреждение
Опубликовано
При переходе от Манифеста V2 к Манифесту V3 дочерние элементы "background"
ключа манифеста были изменены, чтобы обеспечить замену фоновых сценариев рабочими службами расширений. Раньше добавление ключей Manifest V2 "scripts"
, "page"
или "persistent"
к "background"
ключу расширения Manifest V3 приводило к ошибке. Присутствие этих ключей теперь вызывает предупреждение.
Это делается для того, чтобы можно было использовать один файл манифеста в расширениях в нескольких браузерах по предложению в группе сообщества .
Chrome 120: минимальная детализация сигналов тревоги уменьшена до 30 секунд.
Опубликовано
Начиная с Chrome 120, расширения Manifest V3 могут использовать API chrome.alarms
с задержками или периодами в 30 секунд, а не требовать значений в 60 секунд и более.
Сообщение в блоге: Возобновление перехода на Manifest V3
Опубликовано
График поддержки Manifest V2 был обновлен. Подробности читайте в нашем блоге за ноябрь 2023 года .
Сообщение в блоге: Улучшения в поддержке фильтрации контента в Manifest V3
Опубликовано
Узнайте о том, как мы улучшили API declarativeNetRequest, в нашем новом посте в блоге .
Сообщение в блоге: Что нового в Chrome 120 для расширений
Опубликовано
Недавно была выпущена бета-версия Chrome 120 . Краткое описание важных обновлений, касающихся разработчиков расширений, можно найти в нашей новой записи в блоге: Что нового в Chrome 120 для расширений . Этот выпуск также знаменует собой важную веху, поскольку он удаляет последние два элемента (пользовательские сценарии и обработчик файлов в ChromeOS) из списка критических недостатков платформы .
PSA: изменение обработки URL-адресов политики конфиденциальности на панели разработчика.
Опубликовано
Политики конфиденциальности на панели разработчика теперь добавляются на уровне элементов. Это позволяет вам предоставлять разную политику конфиденциальности для каждого элемента. Подробнее об этом изменении читайте в нашем PSA .
Видео: Беседа с Мэттом Фрисби
Опубликовано
Мы только что опубликовали новое видео на YouTube-канале Chrome для разработчиков, в котором беседуем с экспертом Google Developer и автором Мэттом Фрисби. Посмотрите это здесь .
Новое руководство по тестированию расширений
Опубликовано
Мы только что опубликовали новое руководство по написанию автоматических тестов для расширений, в том числе по написанию модульных тестов , а также общее руководство и руководство по сквозному тестированию.
Сообщение в блоге: Что происходит с расширениями Chrome – октябрь 2023 г.
Опубликовано
Мы только что опубликовали второе издание книги «Что происходит с расширениями Chrome» . В посте обсуждается то, над чем команда расширения работала в течение последних нескольких месяцев, в том числе над решением проблем стабильности сервис-воркеров и достижением хорошего прогресса в устранении всех пробелов в платформе MV3. Мы также делимся интересными предстоящими выпусками API, такими как API списка чтения и API пользовательских сценариев.
Увеличены ограничения статического набора правил в API декларативного сетевого запроса.
Опубликовано
Следуя отзывам группы сообщества веб-расширений, мы значительно увеличиваем ограничение на количество включенных статических наборов правил с 10 до 50. Кроме того, мы увеличиваем общее количество разрешенных статических наборов правил с 50 до 100. В настоящее время это доступно на Canary.
Улучшенное руководство по удаленно размещенному коду.
Опубликовано
Требование Манифеста V3 заключается в том, что расширения больше не могут использовать удаленно размещенный код. Хотя это было частью нашего руководства по миграции с самого начала, мы подумали, что стоит улучшить руководство по этому вопросу. На этой странице теперь содержится больше информации, описывающей возможности Manifest V3 и предоставляющей дополнительную информацию о стратегиях обновления.
Существует соответствующее дополнение к разделу «Устранение нарушений в Интернет-магазине Chrome» . В новом разделе описаны распространенные причины отклонения расширений с удаленно размещенным кодом.
Chrome 118: значение isUrlFilterCaseSensitive теперь по умолчанию равно false.
Опубликовано
Начиная с Chrome 118, свойство isUrlFilterCaseSensitive
в API chrome.declarativeNetRequest было изменено на значение по умолчанию на false
. Если вы хотите сохранить старое поведение, вы можете явно установить для isUrlFilterCaseSensitive
значение true
в правилах declarativeNetRequest.
Это следует за обсуждениями в группе сообщества веб-расширений. Firefox и Safari уже реализовали подобное изменение.
Документация по файлам cookie и API веб-хранилища
Опубликовано
Мы опубликовали новое руководство о том, как файлы cookie и API веб-хранилища работают в расширениях Chrome . Он включает подробную информацию об изменениях в разделах файлов cookie и хранилища в Privacy Sandbox , продолжающемся проекте по отказу от использования сторонних файлов cookie посредством создания серии новых API-интерфейсов веб-платформы, а также подробную информацию о том, как они работают в расширениях.
Образцы расширений теперь доступны для поиска
Опубликовано
Недавно мы создали страницу, на которой можно искать образцы расширений Chrome . Страница поиска имеет несколько опций. Поле поиска позволяет искать текст в примерах заголовков. Вы можете ограничить поиск по разрешению или расширению API. Дополнительный фильтр позволяет ограничить поиск примерами API или функциональными примерами (вариантами использования).
Этот новый образец страницы был создан Сюэчжоу Даем, участником Google Summer of Code, который также предоставил несколько новых примеров. Вы можете прочитать об их впечатлениях этим летом в их посте в нашем блоге .
Как и раньше, наши примеры кода по-прежнему доступны на GitHub для клонирования или разветвления.
Chrome 118: изменения в открытии файла: URL-адреса схемы
Опубликовано
Начиная с Chrome 118, расширениям потребуется включить настройку «Разрешить доступ к URL-адресам файлов» на странице chrome://extensions
, чтобы открывать URL-адреса схемы file:// с помощью вкладок или API-интерфейсов Windows . Вы можете программно проверить этот доступ, вызвав chrome.extension.isAllowedFileSchemeAccess()
. Firefox уже ограничивает URL-адреса файлов, и Safari поддерживает это изменение. Подробнее читайте в посте в группе Google по расширениям .
Chrome 117: расширенная защита URL-адресов при навигации по API расширений
Опубликовано
Ранее навигация, запускавшаяся из вызовов API расширения для tabs.update()
, tabs.create()
и windows.create()
выдавала ошибку для некоторых URL-адресов chrome://. Кроме того, был запрещен вызов tabs.update()
с URL-адресом JavaScript. В версии 117 эта защита URL-адресов JavaScript была расширена до метода tabs.create()
, а ряд дополнительных URL-адресов chrome:// был добавлен в список запрещенных URL-адресов, который применяется ко всем ранее упомянутым методам.
Улучшенное руководство для API declarativeNetRequest.
Опубликовано
API chrome.declarativeNetRequest
блокирует или изменяет сетевые запросы, определяя декларативные правила. Это позволяет расширениям изменять сетевые запросы, не перехватывая их и не просматривая их содержимое, обеспечивая тем самым большую конфиденциальность пользователей. Его также сложно использовать. Имея это в виду, мы переписали руководство таким образом, чтобы, по нашему мнению, дать более четкое представление о том, как реализовать декларативные наборы правил. Читайте новый раздел по ссылке выше.
Использование учетной записи Google Analytics в Интернет-магазине Chrome
Опубликовано
Интернет-магазин Chrome предлагает интеграцию с Google Analytics, что позволяет вам видеть аналитику для вашего списка в Интернет-магазине Chrome в дополнение к представлению, предлагаемому на панели разработчика. Дополнительную информацию см. в статье Использование учетной записи Google Analytics в Интернет-магазине Chrome .
Chrome 115: DevTools по умолчанию обрабатывает сценарии контента
Опубликовано
Скрипты внедренного контента теперь по умолчанию находятся в списке игнорирования DevTools. Это не влияет на точки останова, но означает, что сценарии содержимого будут пропускаться во время отладки, а исключения из этих сценариев будут игнорироваться. Когда сценарий контента открыт на вкладке «Источники» , баннер предупреждает вас, если он включен, и предоставляет возможность удалить сценарий контента из списка игнорирования. Чтобы отключить это поведение, откройте DevTools, перейдите в «Настройки» , затем «Список игнорирования» . Дополнительные сведения см. в разделе Что нового в DevTools .
Бета-версия Chrome 116: здесь больше, чем мы можем разместить
Опубликовано
Chrome 116 — это большой выпуск расширений. Теперь боковые панели можно открывать программно. Новый метод позволяет узнать, есть ли активный закадровый документ. Сервисные работники получили несколько улучшений. В 116 достаточно улучшений, и мы написали о них статью в блоге . Chrome 116 находится в стадии бета-тестирования с 19 июля.
Сообщение в блоге: Что происходит с расширениями Chrome
Опубликовано
Мы только что опубликовали обзор изменений и улучшений расширений этого года. В статье обсуждаются важные новые функции года, в том числе API боковой панели, улучшения сервис-воркеров и закадровые документы. Вы также сможете узнать, над чем мы работаем в этом квартале. В статье перечислено гораздо больше, со ссылками на все.
Новое руководство и образец: узнайте, как использовать Google Analytics 4 в расширении Chrome.
Опубликовано
Мы опубликовали новые руководства и примеры по Google Analytics и геолокации:
- Обновленная версия нашего руководства по Google Analytics , объясняющая, как использовать Google Analytics 4 в расширении Chrome. Мы также добавили рабочий образец Google Analytics 4 в наш репозиторий образцов Github. Посетите
google-analytics.js
, чтобы найти соответствующий код, связанный с Google Analytics. - Новое руководство по геолокации и три примера , демонстрирующие, как получить доступ к геолокации в сервис-воркерах, скриптах контента, всплывающих окнах и боковых панелях.
Chrome 115: укажите несколько причин в chrome.offscreen.createDocument().
Опубликовано
Теперь вы можете указать несколько перечислений reason
при вызове chrome.offscreen.createDocument()
. Используйте это, когда закадровый документ будет использоваться для разных целей. Браузер использует предоставленные причины для определения срока жизни закадрового документа.
Новый инструмент: Инструмент тестирования обновлений расширений.
Опубликовано
Мы только что выпустили Инструмент тестирования обновлений расширений — локальный сервер обновлений расширений, который можно использовать для тестирования обновлений расширений Chrome во время локальной разработки, включая предоставление разрешений. Инструмент показывает поток обновлений пользователя, включая сохранение отключенного расширения до тех пор, пока пользователь не предоставит новые запрошенные разрешения. Этот инструмент особенно полезен для моделирования изменений разрешений, запрашиваемых при обновлении расширения с Manifest V2 на Manifest V3.
Chrome 114: новый API боковой панели
Опубликовано
Представляем новый API боковой панели — сопутствующую поверхность, которая позволяет пользователям получать доступ к инструментам наряду с содержимым, которое они просматривают. Чтобы узнать больше, посетите справку по API боковой панели . Кроме того, мы добавили множество примеров боковых панелей в наш репозиторий образцов GitHub . Мы также рассказываем больше о боковых панелях в новой записи блога «Проектирование превосходного пользовательского опыта с помощью нового API боковой панели» . Наша политика в области рекомендаций по качеству и лучшие практики также были рассмотрены, чтобы предоставить дополнительные рекомендации по созданию высококачественных расширений боковых панелей.
Ваши отзывы важны при разработке этого API; поделитесь своими мыслями и пожеланиями по функциям в группах Chromium . Следите за новыми обновлениями, поскольку мы продолжаем совершенствовать API боковой панели.
Новые примеры: WASM в расширениях
Опубликовано
Доступны два новых примера, демонстрирующих использование WASM в расширении:
- Использование WASM в Манифесте V3 показывает общий метод включения модуля WASM.
- Использование WASM в качестве модуля в Манифесте V3 показывает, как использовать его в модуле.
Особая благодарность участнику GitHub @daidr за эти примеры.
Обновленное руководство по миграции манифеста версии 3.
Опубликовано
Мы обновили раздел «Известные проблемы» нашего руководства по миграции Manifest V3, добавив обновленный список пробелов в платформе расширений, которые мы намерены закрыть, прежде чем объявить новый график прекращения поддержки Manifest V2.
Запись аудио и видео с помощью Manifest V3
Опубликовано
Мы только что опубликовали новую статью под названием « Запись звука и захват экрана» , в которой рассказывается о записи звука или видео с вкладки, окна или экрана в Manifest V3. В этой статье описываются несколько подходов к записи с использованием API chrome.tabCapture
и функции getDisplayMedia()
.
Chrome 114: увеличена квота Storage.local
Опубликовано
Мы увеличили квоту для свойства storage.local
примерно до 10 МБ. Это было согласовано в группе сообщества веб-расширений . Это приводит storage.local
в соответствие с storage.session
, который был изменен в Chrome 112.
Новое учебное пособие и справка по новому работнику службы расширений
Опубликовано
Сервисные работники являются неотъемлемой частью расширений Chrome. Мы только что опубликовали руководство, объясняющее основы регистрации, отладки и взаимодействия с Service Workers. Мы также добавили новое руководство для сервисных работников , в котором более подробно объясняются важные понятия. В ближайшие месяцы мы будем расширять этот раздел.
Дополнительные советы по устранению нарушений в интернет-магазине
Опубликовано
Чтобы облегчить публикацию в Интернет-магазине Chrome, мы добавили новые рекомендации в двух областях. Рекомендации по минимальной функциональности сосредоточены на предоставлении пользователям преимуществ и расширении их возможностей просмотра. Рекомендации по партнерской рекламе заключаются в том, чтобы информировать пользователей о расширениях, использующих партнерские ссылки или коды для монетизации, и предоставить им определенный контроль, требуя действий пользователя перед включением.
Новые инструкции для конвертера манифеста расширений
Опубликовано
Мы переписали файл README для конвертера манифеста расширений, чтобы было проще понять, что вам нужно делать после запуска инструмента. Конвертер помогает перенести расширения, созданные на основе Manifest V2, на Manifest V3. Новый README описывает, что делает инструмент, используя слова, которые точно соответствуют словам, указанным в контрольном списке руководства по миграции . Конвертер не делает всего, но он устраняет многие задачи, которые не требуют человеческого вмешательства.
Chrome 113: новые причины использования закадровых документов
Опубликовано
Мы добавили два новых типа причин в API Offscreen Documents. Используйте LOCAL_STORAGE
для доступа к API localStorage веб-платформы. Используйте WORKER
при создании веб-воркеров.
Google Analytics 4 теперь на панели разработчика
Опубликовано
Панель разработчика Интернет-магазина Chrome теперь поддерживает Google Analytics 4 (GA4). Мы упростили настройку Google Analytics и упростили управление доступом для издателей групп. Если вы ранее использовали Google Universal Analytics для отслеживания активности на странице вашего приложения, вам необходимо принять меры до 1 июля 2023 года, чтобы гарантировать, что вы продолжите получать данные о своей странице в магазине. Дополнительную информацию можно найти в сообщении в группе Google по расширениям Chromium .
API обработки файлов доступен в ChromeOS
Опубликовано
API-интерфейс File Handler доступен для экспериментов в ChromeOS в Canary версий 112 и 113. Он позволяет расширениям ChromeOS открывать файлы с указанными типами MIME и расширениями файлов. Чтобы реализовать обработку файлов, добавьте в manifest.json
набор правил. Эта функция работает так же, как и для прогрессивных веб-приложений. Для получения дополнительной информации см. статью в другом месте на этом сайте.
Чтобы включить обработку файлов:
- Начиная с 112, запустите Chrome, используя флаг
--enable-features=ExtensionWebFileHandlers
, начиная с 112. - Начиная с 113, вставьте
os://flags/#extension-web-file-handlers
в омнибокс Chrome и выберите «Включено» в раскрывающемся меню.
Мы надеемся запустить эту функцию в Chrome 115 в конце июня. Следите за обновлениями в этом пространстве.
Новые примеры: динамические объявления и программное внедрение.
Опубликовано
Мы создали новый образец API chrome.scripting
. Он демонстрирует динамические объявления, когда сценарий содержимого регистрируется во время выполнения, и программное внедрение, когда сценарий выполняется на уже открытой вкладке.
Новые примеры: варианты использования декларативных сетевых запросов
Опубликовано
Доступны три новых образца, демонстрирующих API Declarative Net Request . Каждый демонстрирует реализацию одного варианта использования. Первый показывает, как заблокировать файлы cookie. Остальные два демонстрируют блокировку и перенаправление URL-адресов.
Chrome 112: увеличена квота Storage.session.
Опубликовано
В Chrome 112 квота свойства storage.session
увеличена примерно до 10 МБ. Это было согласовано в группе сообщества веб-расширений: https://github.com/w3c/webextensions/issues/350.
Chrome 109: документы за кадром
Опубликовано
Закадровые документы теперь доступны в расширениях Manifest V3. Они помогают перейти от фоновых страниц к работникам служб расширений, обеспечивая поддержку функций и API, связанных с DOM. Для получения дополнительной информации прочитайте сообщение в блоге .
Chrome 110: включено ли расширение?
Опубликовано
Метод chrome.action.isEnabled()
программно проверяет, включено ли расширение для конкретной вкладки. Это избавит вас от необходимости поддерживать включенное состояние ваших вкладок. Этот новый метод принимает идентификатор вкладки и ссылку на обратный вызов и возвращает логическое значение. У него есть одно ограничение: вкладки, созданные с использованием chrome.declarativeContent
всегда возвращают false.
(В пространстве имен chrome.action
недавно появились новые методы для управления внешним видом значков расширений. Дополнительную информацию см. в разделе Настройка цветов значков .)
Chrome 110: изменение тайм-аута простоя сервисного работника
Опубликовано
Раньше работник службы расширения часто отключался через пять минут. Мы изменили это поведение, чтобы оно больше напоминало время жизни сервис-воркера в Интернете. Работник службы расширения будет отключен либо через тридцать секунд бездействия, либо если обработка одного действия займет более 5 минут. Дополнительные сведения см. в разделе Увеличение срока службы работника службы расширений .
Сообщение: Приостановка вывода из эксплуатации Manifest V2
Опубликовано
Сроки прекращения поддержки Manifest V2 находятся на рассмотрении, а эксперименты, запланированные на начало 2023 года, откладываются. Для получения дополнительной информации читайте обновление в группе Google по хром-расширениям.
Chrome 110: настройка цветов значков
Опубликовано
В пространстве имен chrome.action
появилось два новых метода, которые дают вам больше контроля над значками расширения внешнего вида. Методы setBadgeTextColor()
и getBadgeTextColor()
позволяют расширению изменять и запрашивать цвет текста значка значка на панели инструментов. При использовании с setBadgeBackgroundColor
и getBadgeBackgroundColor
эти новые методы позволяют обеспечить согласованность дизайна и бренда.
Сообщение в блоге: Более подробная информация о переходе на Manifest V3
Опубликовано
Мы уточнили сроки прекращения поддержки Manifest V2 . График поддержки Manifest V2 также был обновлен с учетом этой информации.
Обновление документации: известные проблемы при переходе на Manifest V3.
Опубликовано
Мы собрали список основных функций, которые в настоящее время находятся в разработке, и выявленных ошибок . Наша цель на этой странице — помочь разработчикам лучше понять текущее состояние платформы и то, на какие функции они могут ориентироваться, готовясь к будущему.
Интернет-магазин Chrome: удалена загрузка изображения «большая рекламная плитка»
Опубликовано
Интернет-магазин Chrome удалил пользовательский интерфейс загрузки «большой рекламной плитки» с вкладки «Список товаров» на панели разработчика. Это изменение не влияет на взаимодействие с конечным пользователем, поскольку эти изображения не использовались в потребительском пользовательском интерфейсе. Дополнительные сведения см. в этом посте о расширениях хрома.
Chrome 106: разрешить страницам по URL-адресам file:// доступ к доступным веб-ресурсам
Опубликовано
Согласно crbug.com/1219825#c11 , непрозрачные источники, такие как изолированные iframe и динамический импорт, также должны иметь доступ к доступным веб-ресурсам.
Chrome 106: исправлена ошибка, приводившая к неправильным окончательным аргументам в некоторых асинхронных функциях API.
Опубликовано
Раньше Manifest V3, вызывающий асинхронные API, мог предоставить недопустимый последний аргумент, и Chrome не выдавал ошибок. Благодаря этому исправлению Chrome теперь будет корректно выдавать ошибку и сообщать об отсутствии соответствующей подписи. Разработчикам рекомендуется проверять свои расширения на Canary на наличие ошибок на случай, если они случайно используют неправильную подпись для вызова API, который будет нарушен этим исправлением ошибки.
Сообщение в блоге: Обновление аналитики Интернет-магазина Chrome
Опубликовано
Интернет-магазин Chrome предлагает обновленный интерфейс аналитики товаров для панели разработчика Интернет-магазина Chrome. Новую информационную панель легче понять с первого взгляда, и она сразу объединяет самую полезную информацию. Прочтите сообщение в блоге для получения дополнительной информации.
Chrome 105: обещания по Identity API
Опубликовано
Функции Identity API теперь поддерживают вызовы на основе обещаний. Это происходит с небольшими изменениями в identity.getAuthToken()
, где асинхронный возврат, установленный для вызова на основе обещания, будет иметь "token" и "grantedScopes" в качестве параметров для одного объекта (в отличие от версии обратного вызова, получающей их). в качестве отдельных аргументов обратного вызова).
Chrome 104: новый API значков для Manifest V3
Опубликовано
Расширения манифеста V3 теперь могут получать доступ к значкам, используя новый шаблон URL: chrome-extension://<id>/_favicon/
, гдеchrome://favicons
платформы Manifest V2. Дополнительную информацию см. в документации Favicon API .
Обновление документации: раскрытие информации разработчиком о трейдерах и неторговцах
Опубликовано
Добавлена идентификация разработчика трейдера/неторговца , которая информирует разработчиков о необходимости самостоятельно заявить о своем статусе трейдера/неторговца.
Chrome 103: Wasm в манифесте V3 требует wasm-unsafe-eval
Опубликовано
Chrome больше не предоставляет расширения script-src: wasm-unsafe-eval
по умолчанию. Расширения, использующие WebAssembly, теперь должны явно добавлять эту директиву и значение в extension_pages
в своих объявлениях content_security_policy
.
Chrome 103: изменение ярлыков MV3 вступает в силу немедленно
Опубликовано
При изменении сочетания клавиш расширения Manifest V3 в chrome://extensions/shortcuts
обновления теперь применяются немедленно. Раньше расширение приходилось перезагружать, прежде чем изменения вступят в силу.
Chrome 102: сценарии динамического контента в основном мире
Опубликовано
Скрипты динамически зарегистрированного контента теперь могут указывать мир , в который будут введены ресурсы. Подробности смотрите scripting.registerContentScripts()
.
Chrome 102: новое поле манифеста «optional_host_permissions».
Опубликовано
Расширения манифеста V3 теперь могут указывать ключ optional_host_permissions
в файле манифеста.json. Это позволяет манифестным расширениям v3 объявлять необязательные шаблоны соответствия для хостов, как только Manifest Extensions может с использованием ключа optional_permissions
.
Chrome 102: Свойство InjectImmed Utry в Scripting.executcript ()
Опубликовано
chrome.scripting.executeScript()
теперь принимает дополнительное свойство injectImmediately
на его аргумент injection
. Если присутствовать и установить на TRUE, сценарий будет вводить в цель как можно скорее, вместо того, чтобы ждать document_idle
. Обратите внимание, что это не гарантия, что скрипт будет вводить до загрузки страницы, так как страница продолжает загружаться, когда производится вызов API.
Chrome 102: поддержка API Omnibox в Manifest v3
Опубликовано
API Omnibox теперь может использоваться в расширениях на основе сервисных работников. Ранее некоторые из методов этого API могли бы привлечь к вызову из -за внутренних зависимостей от возможностей DOM.
Chrome 102: wasm-unsafe-eval разрешен в Manifest V3 CSP
Опубликовано
Расширения Manifest V3 теперь могут включать в себя wasm-unsafe-eval
в их объявлениях content_security_policy
. Это изменение позволяет Manifest V3 расширениям использовать Webassembly.
Chrome 102: New Storage.session API
Опубликовано
Расширения Manifest V3 теперь могут использовать в хранилище памяти.
Обновление DOCS: Krome Web Store Discovery
Опубликовано
Discovery on Chrome Web Store дает обзор того, как пользователи находят элементы в веб -магазине Chrome и как наши редакторы выбирают элементы для участия.
Chrome 101: Улучшенные условия домена DeclarativenetRequest
Опубликовано
Условия правила DeclarativenEtRequest были обновлены, чтобы разрешить расширениям для лучших целевых запросов на основе доменов «запроса» и «инициатора» запроса. Соответствующими свойствами являются initiatorDomains
, excludedInitiatorDomains
, requestDomains
и excludedRequestDomains
. См. Также эта нить хрома-экстификации .
Chrome 100: Решенная проблема с scripting.executcript () на недавно созданных вкладках
Исправлена давняя проблема, в которой вызов scripting.executeScript()
на недавно созданной вкладке или окне может потерпеть неудачу.
Chrome 100: Нативный порт обмена сообщениями поддерживает обслуживающий работник
Опубликовано
Подключение к местному хозяину обмена сообщениями с использованием chrome.runtime.connectNative()
в работнике обслуживания расширения должен поддерживать обслуживающий работник, пока порт открыт.
Chrome 100: Omnibox.setDefaultultsugeggestion () поддерживает обещания и обратные вызовы
Опубликовано
Метод omnibox.setDefaultSuggestion()
теперь возвращает обещание или принимает обратный вызов, чтобы позволить разработчикам определить, когда было правильно установлено предложение.
Chrome 100: i18n.getMessage () Поддержка в работниках по расширению работников
Опубликовано
API chrome.i18n.getMessage()
теперь поддерживается в контекстах работников службы расширения.
Chrome 99: match_origin_as_fallback в Canary
Опубликовано
Скрипты содержимого теперь могут указывать ключ match_origin_as_fallback
, чтобы ввести в кадры, которые связаны с соответствующей кадрой, включая кадры с about:
, data:
blob:
и filesystem:
URL. Смотрите документацию по сценариям контента для деталей.
Chrome 99: Поддержка работников расширения для файла: схемы в Canary
Опубликовано
Расширение на основе обслуживания Manifest V2 и Manifest V3 расширения теперь могут использовать API Fetch для запроса file:
-Scheme URL. Доступ к file:
-Scheme URL -адреса по -прежнему требует, чтобы пользователь включил «разрешить доступ к URL -адресам файлов» для расширения на странице chrome://extensions
.
Chrome 99: Обещающая поддержка API обмена сообщениями в Canary
Опубликовано
Поддержка обещания была добавлена в tabs.sendMessage
, runtime.sendMessage
и runtime.sendNativeMessage
для расширений, созданных для манифеста v3.
Обновление документов: документация по обзору веб -магазина Chrome
Опубликовано
Добавлена новая справочная страница , которая содержит обзор процесса обзора веб -магазина Chrome и объясняет, как осуществляется обеспечение соблюдения политики программы разработчиков .
Chrome 98: scripting.executcript () и scripting.insertcsss () Примите несколько файлов
Опубликовано
Методы сценариев API executeScript()
и insertCSS()
теперь принимают несколько файлов. Ранее эти методы требовали массива с одной записью файла.
Обновление DOCS: обзор нарушения обновлений по устранению неполадок
Опубликовано
Страница по устранению неисправностей Chrome Web Storation была обновлена, чтобы предоставить разработчикам более подробное руководство по общим причинам отказа.
Chrome 96: Расширенная поддержка перспектива для еще 27 API
Опубликовано
Этот релиз содержит значительно больше обновлений перспективы, чем любой предыдущий выпуск. Обновления включают как общие, так и ChromeoS-специфические APIS API. Разверните следующие разделы для деталей.
Расширения APIS
Ряд API теперь поддерживают обещания в Manifest V3.
-
chrome.browsingData
-
chrome.commands
-
chrome.contentSettings
-
chrome.debugger
-
chrome.downloads
-
chrome.enterprise.hardwarePlatform
-
chrome.fontSettings
-
chrome.history
-
chrome.instanceID
-
chrome.permissions
-
chrome.processes
-
chrome.search
-
chrome.sessions
-
chrome.topSites
Кроме того, API, которые используют прототип ChromeSetting
теперь также поддерживают обещания. На следующие API влияют это изменение.
Chromeos APIS
-
chrome.certificateProvider
-
chrome.documentScan
-
chrome.enterprise.deviceAttributes
-
chrome.enterprise.networkingAttributes
-
chrome.fileBrowserHandler
-
chrome.fileSystemProvider
-
chrome.loginState
-
chrome.printingMetrics
-
chrome.wallpaper
Chrome 96: Динамические сценарии контента
Опубликовано
API chrome.scripting
теперь поддерживает регистрацию , обновление , нерегистрирование и получение списка сценариев контента во время выполнения. Ранее сценарии контента могли быть статически объявлены только в Manifest.json или программно вводили программно во время выполнения с chrome.scripting.executeScript()
.
Обновление документов: график поддержки Manifest V2
Опубликовано
В этом сообщении Manifest V2 на V3 была объявлена в этом сообщении , и была опубликована более подробная страница временной шкалы .
Chrome 96: DeclarativenetRequestwithhostacccess разрешение
Опубликовано
Новое разрешение declarativeNetRequestWithHostAccess
позволяет расширениям использовать API chrome.declarativeNetRequest
на участках, которые расширение имеет разрешения на хост. Это также позволяет существующим растяжениям V2, которые используют webRequest
, webRequestBlocking
и разрешение на хост, специфичное для сайта для перехода на API chrome.declarativeNetRequest
, не требуя, чтобы пользователь утверждал новые разрешения.
Chrome 95: сценарии вводите непосредственно на страницы
Опубликовано
Метод chrome.scripting
api executeScript()
теперь может вводить сценарии непосредственно в основной мир страницы. Ранее расширения могли вводить только непосредственно в изолированный мир расширения. Для получения дополнительной информации об изолированных мирах см. Документацию по сценариям контента .
Chrome 95: обещание поддержка API хранения
Опубликовано
Методы на манифестной версии V3 chrome.storage
API теперь возвращают обещания.
Обновление политики: двухэтапное правоприменение
Опубликовано
Сообщение в блоге в блоге , опубликованное 29 июня 2021 года, была обновлена, чтобы исправить двухэтапную временную шкалу развертывания проверки.
Chrome 94: декларативный чистый запрос. Статические изменения правил.
Опубликовано
chrome.declarativeNetRequest
теперь поддерживает определение до 50 статических наборов правил ( max_number_of_static_rulesets ) и включает до 10 наборов правил ( max_number_of_enabled_static_rulesets ) за раз.
Chrome 93: Поддержка изоляции поперечного происхождения
Опубликовано
Как Manifest V2 , так и Manifest V3 расширения теперь могут выбрать изоляцию поперечного происхождения . Эта функция ограничивает, что ресурсы перекрестного происхождения могут загружать страницы расширения и позволяет использовать функции веб-платформы низкого уровня, такие как SharedArrayBuffer
. Выберите, начиная с Chrome 95.
Обновление политики: обновления политики программ разработчиков
Опубликовано
Политики программы разработчиков Chrome Web Store были обновлены с разъяснениями в The Chepective Tactics, Spam и повторяющихся политиках контента. Это обновление также включает в себя новое двухэтапное требование проверки для публикации в веб -магазине Chrome. Прочитайте сообщение в блоге для получения дополнительной информации.
Сообщение в блоге: Действия расширения в Manifest V3
Опубликовано
Расширения Chrome имели chrome.browserAction
и chrome.pageActions
API в течение многих лет, но Manifest V3 заменил оба на общий chrome.actions
API. Этот пост исследует историю этих API и то, что изменилось в Manifest V3. Прочитайте пост .
Сообщение в блоге: представление Chrome.scripting
Опубликовано
chrome.scripting
API - это новый Manifest V3 API, сфокусированный на сценариях. В этом посте мы копаем мотивы для этого изменения и более внимательно рассмотрим его новые возможности. Прочитайте пост .
Chrome 92: Поддержка модуля обслуживания работников
Опубликовано
Chrome теперь поддерживает модули JavaScript у работников обслуживания. Чтобы указать модуль модуль в вашем манифесте:
"background": {
"service_worker": "script.js",
"type": "module"
}
Это загружает сценарий работника как модуль ES, который позволяет использовать ключевое слово import
в скрипте работника для импорта других модулей.
Chrome 91: chrome.action.getusersettings ()
Опубликовано
Новый метод chrome.action.getUserSettings()
позволяет расширениям определять, прикрепил ли пользователь расширение к основной панели инструментов.
Chrome 90: Chrome.scripting.removecss ()
Опубликовано
Новый метод chrome.scripting.removeCSS()
позволяет расширениям удалять CSS, который ранее был вставлен с помощью chrome.scripting.insertCSS()
. Заменяет chrome.tabs.removeCSS()
.
Chrome 90: Возвращающиеся обещания из Scripting.executcript ()
Опубликовано
chrome.scripting.executeScript()
теперь поддерживает возвращающиеся обещания. Если результирующее значение выполнения скрипта является обещанием, Chrome будет ждать обещания урегулировать и вернуть ее полученное значение.
Chrome 90: chrome.scripting.executcriptcript () Результаты включают FrameID
Опубликовано
Результаты, возвращаемые из chrome.scripting.executeScript()
, теперь включают FrameID . Свойство frameId
указывает на кадр, из -за чего результат, позволяя расширениям легко связать результаты с отдельными кадрами при введении в несколько кадров.
Chrome 89: новый API для управления группами вкладок
Опубликовано
Новые API и новые возможности chrome.tabGroups
в chrome.tabs
позволяют расширениям читать и манипулировать группами вкладок. Требуется манифест V3.
Chrome 89: Настраиваемые разрешения на доступные в Интернете ресурсы
Опубликовано
Определения доступных ресурсов в Интернете в Manifest v3 изменились, чтобы расширить расширение доступа к ресурсам на основе идентификатора происхождения или расширения запрашивателя.
Сообщение в блоге: преобразователь расширения Manifest
Опубликовано
Команда «Расширения Chrome» имеет открытый «Расширенный преобразователь», инструмент Python, который автоматизирует некоторые механические аспекты преобразования расширений в Manifest V3. Смотрите сообщение о объявлении в блоге и получите его от GitHub .
Chrome 88: Manifest V3 Общая доступность
Опубликовано
Manifest V3 является основным обновлением платформы расширений; См. Обзор Manifest V3 для краткого изложения новых и измененных функций. Расширения могут продолжать использовать Manifest V2 на данный момент, но в ближайшем будущем это будет снято. Мы настоятельно рекомендуем вам использовать Manifest V3 для любых новых расширений, и как можно скорее начнем переносить существующие расширения, чтобы проявить V3.