Что нового в расширениях Chrome

Регулярно проверяйте эту страницу, чтобы узнать об изменениях в расширениях Chrome, документации по расширениям, связанных с ними политиках и других изменениях. Другие уведомления публикуются в почтовой рассылке по расширениям Chrome . В расписании Chrome указаны даты выпуска стабильных и бета-версий.

Chrome 139: Удаление флагов --extensions-on-chrome-urls и --disable-extensions-except в фирменных сборках Chrome

Опубликовано

Начиная с Chrome 139, флаги командной строки --extensions-on-chrome-urls и --disable-extensions-except будут удалены из официальных сборок Chrome. Подробнее в списке рассылки .

Chrome 138: Изменения на странице новой вкладки

Опубликовано

Начиная с Chrome 138, мы обновляем интерфейс страницы новой вкладки, добавляя новый нижний колонтитул. Подробнее об этом можно узнать в списке рассылки .

Запись в блоге: Обновите свои расширения перед предстоящими изменениями в закладках

Опубликовано

Мы вносим некоторые изменения в синхронизацию закладок, которые могут повлиять на ваше расширение. Подробнее в статье блога .

Запись в блоге: Что происходит в расширениях Chrome, июнь 2025 г.

Опубликовано

Мы были заняты: Google I/O и несколько новых функций в Chrome и интернет-магазине Chrome. Узнайте всё самое важное в статье «Что происходит в расширениях Chrome» за июнь 2025 года !

Видео: «Бей крота» в браузере — возможно ли это!?

Опубликовано

Узнайте, как создать игру в браузере, в нашем последнем видео .

Видео: объяснение нового меню расширений Chrome

Опубликовано

Узнайте больше о новом экспериментальном меню расширений в нашем последнем видео: объясняется новое меню расширений Chrome .

Видео: Расширения — это здорово!

Опубликовано

Узнайте, как приступить к разработке расширений в выпуске Extensions are Neat, эпизод 1 , и насколько гибка настройка Chrome в выпуске 2 !

Chrome 135: новый API userScripts.execute()

Опубликовано

Начиная с Chrome 135, в API chrome.userScripts доступен новый метод userScripts.execute() . Его можно использовать для однократного внедрения пользовательского скрипта в любой момент времени, вместо необходимости постоянной регистрации.

Chrome 132: просмотр и редактирование хранилища расширений в DevTools

Опубликовано

Начиная с Chrome 132, вы можете просматривать и редактировать данные, хранящиеся с помощью API chrome.storage в DevTools. Подробнее см. на новой странице «Просмотр и редактирование хранилища расширений» в документации DevTools.

Запись в блоге: Новое меню расширений

Опубликовано

На конференции Google I/O 2024 мы представили предварительные наброски будущих изменений в меню расширений, которые предоставят пользователям больше контроля над сайтами, к которым расширения могут получить доступ. Мы скоро начнём тестирование этих изменений, начав с небольшой доли пользователей в регионе Canary и надеясь внедрить их более широко в будущем.

Мы также представляем API chrome.permissions.addHostAccessRequest() .

Подробнее читайте в нашем блоге .

Chrome 132: Новое замороженное свойство в API вкладок

Опубликовано

Начиная с Chrome 132, свойство frozen в API вкладок указывает, была ли вкладка заморожена браузером. Сообщения, отправленные на замороженные вкладки, будут поставлены в очередь и обработаны после разморозки вкладки.

API Prompt в расширениях Chrome

Опубликовано

API Prompt для расширений теперь доступен в пробной версии, поэтому вы можете создавать расширения Chrome, использующие Gemini Nano, нашу самую эффективную языковую модель, в браузере.

Присоединяйтесь к пробной версии Prompt API Origin, работающей в Chrome 131–136, и делитесь своими отзывами. Ваши отзывы могут напрямую повлиять на разработку и реализацию будущих версий этого API, а также всех встроенных API ИИ.

Запись в блоге: Что происходит в расширениях Chrome, октябрь 2024 г.

Опубликовано

Пришло время для очередного обзора событий в Chrome Extensions: у нас есть интересные новости об интеграции ИИ, новых API, мероприятиях и видео. Читайте всё это в октябрьском выпуске «Что происходит в Chrome Extensions» !

Присоединяйтесь к испытанию встроенного ИИ

Опубликовано

Chrome запустил конкурс «Встроенный ИИ»: вам предлагается создать инновационные веб-приложения и расширения Chrome, используя интегрированные модели ИИ и API Chrome , и получить шанс выиграть призы на общую сумму 65 000 долларов США.

Зарегистрируйтесь и получите больше информации на сайте Built-in AI Challenge . Нам не терпится увидеть, что вы создадите, внедряя искусственный интеллект в интернет!

Chrome 130: action.onUserSettingsChanged

Опубликовано

Начиная с Chrome 130, доступно событие action.onUserSettingsChanged . Это предложение было внесено в группу сообщества WebExtensions. Благодарим Microsoft за вклад в Chromium.

Chrome 130: StorageArea.getKeys()

Опубликовано

Начиная с Chrome 130, метод getKeys() доступен в интерфейсе StorageArea, используемом API chrome.storage . Это предложение было выдвинуто в группе сообщества WebExtensions.

Chrome 128: Сопоставление заголовков ответа в декларативном сетевом запросе

Опубликовано

Начиная с Chrome 128, мы добавляем поддержку сопоставления заголовков ответов в API декларативных сетевых запросов. Это был распространённый запрос, особенно в отношении сопоставления заголовка Content-Type, и мы разработали подходящий API совместно с группой сообщества WebExtensions.

Мы обновили наш справочник API, включив в него новые поля responseHeaders и excludedResponseHeaders . Вы можете использовать их для проверки наличия и значения заданного заголовка.

В рамках этого обновления мы добавили в нашу документацию новый раздел об оценке правил , в котором объясняется, как сопоставляются правила. В частности, для сопоставления заголовков правила могут быть выполнены только после получения заголовков ответа, поэтому они применяются позже других правил. Это означает, что запрос успевает достичь сервера до того, как будет заблокирован или перенаправлен.

Видео: Что такое контент-скрипты?

Опубликовано

Узнайте о скриптах контента в расширениях Chrome, в том числе о том, как зарегистрировать CSS и JavaScript для запуска на определённой странице. Посмотрите полное видео .

Важные обновления политики

Опубликовано

Команда Chrome Web Store опубликовала ряд обновлений на странице «Правила программы для разработчиков» , призванных стимулировать разработку высококачественных продуктов, предотвращать мошенническое поведение и обеспечивать информированное согласие пользователей. Ребекка Соарес, менеджер по политике Chrome Web Store, обобщила все обновления в блоге «Расширения Chrome: важные обновления политики» .

Запись в блоге: Что происходит в расширениях Chrome, июль 2024 г.

Опубликовано

За последние три месяца мы выпустили несколько важных обновлений и новых функций, включая начало поэтапного отказа от Manifest V2. Узнайте всё самое важное в июльском выпуске «Что происходит в расширениях Chrome» !

Видео: Что такое удаленно размещенный код?

Опубликовано

Патрик из команды Chrome Extensions объясняет концепцию удалённо размещённого кода (RHC) в расширениях Chrome. Узнайте, почему RHC больше не разрешён, как его обнаружить и что делать, если расширение нуждается в обновлении. Посмотрите полное видео .

Chrome 127: Новый API action.openPopup

Опубликовано

Начиная с Chrome 127, API action.openPopup доступен для всех расширений. Ранее он был доступен только в Canary или для расширений, установленных с помощью политики.

Видео: интервью с командой Trust & Safety

Опубликовано

Команда разработчиков расширений Chrome DevRel встретилась с командой Trust & Safety, которая проводит обзоры в интернет-магазине Chrome, чтобы задать вам вопросы. Посмотрите полное видео .

Запись в блоге: Начинается поэтапный отказ от Manifest V2

Опубликовано

Начиная с 3 июня на каналах Chrome Beta, Dev и Canary, если у пользователей всё ещё установлены расширения Manifest V2, при посещении страницы управления расширениями chrome://extensions будет появляться предупреждающий баннер, сообщающий о том, что некоторые установленные расширения (Manifest V2) скоро перестанут поддерживаться. Подробнее читайте в официальном объявлении.

Обновления пользовательского интерфейса боковой панели

Опубликовано

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

Запись в блоге: Расширения Chrome на Google I/O 2024

Опубликовано

Ещё одна конференция Google I/O позади, и мы уже рассказали обо всех интересных обновлениях расширений! Загляните на YouTube, чтобы посмотреть полное видео , и прочтите нашу публикацию в блоге, чтобы узнать о самых интересных моментах.

Пропустить проверку для соответствующих изменений декларативного сетевого запроса

Опубликовано

Интернет-магазин Chrome теперь позволяет пропускать проверку для соответствующих изменений при использовании API Declarative Net Request. Подробнее о требованиях и порядке участия читайте в документации Интернет-магазина Chrome .

deployPercentage доступен в API Chrome Web Store

Опубликовано

Недавно мы обновили документацию по API Chrome Web Store, включив в неё информацию о deployPercentage , позволяющем назначать процент частичного развёртывания. Подробнее о deployPercentage .

Chrome 126: Пробные версии Origin в расширениях

Опубликовано

В Chrome 126 представлено новое поле manifest.json — trial_tokens , позволяющее вам включить пробные версии Origin и Deprecation Trials для всех расширений. Подробнее см. в руководстве .

Запись в блоге: Что происходит в расширениях Chrome — апрель 2024 г.

Опубликовано

Мы опубликовали новый выпуск статьи «Что происходит в расширениях Chrome» . В ней рассказывается о работе команды разработчиков расширений в течение последних нескольких месяцев. В частности, речь идёт о откате версий в интернет-магазине Chrome, улучшенной поддержке аутентификации Firebase, а также о новых запусках и обновлениях API.

Откат версий в панели разработчика Chrome Web Store

Опубликовано

Откатите расширение к предыдущей версии, опубликованной в интернет-магазине Chrome, без дополнительной проверки! Подробнее читайте в блоге и документации .

Chrome 124: Расширенный API documentScan

Опубликовано

Расширенный 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" расширения в файле manifest.json. Ранее ограничение для английского языка составляло 45 символов, а для других языков ограничений для поля "name" не было.

Первоначально это было сделано для того, чтобы учесть культурные и языковые различия, которые невозможно отразить одним и тем же количеством символов. К сожалению, этой функцией воспользовались несколько разработчиков, чтобы засорить магазин. В связи с этим мы вводим новое универсальное ограничение, увеличенное до 75 символов. Это ограничение распространяется практически на все расширения в магазине на сегодняшний день, поэтому, скорее всего, вам не потребуется предпринимать никаких действий в связи с этим изменением. Если вы попытаетесь загрузить расширение, имя которого превышает максимально допустимое, загрузка будет заблокирована магазином.

Запись в блоге: путь eyeo к тестированию приостановки работы сервисных работников

Опубликовано

В этой публикации команды разработчиков движка расширений eyeo мы исследуем проблему тестирования сервис-воркеров расширений. В Manifest V2 расширения располагались на фоновой странице, которая была активна на протяжении всего жизненного цикла расширения. В Manifest V3 вместо этого используются сервис-воркеры, которые по своей природе экономят ресурсы, завершая работу, когда они не нужны. Это создает определенные сложности при тестировании. В этой публикации объясняется, как eyeo справился с этими проблемами .

Chrome 123: будильники теперь срабатывают, когда устройство находится в спящем режиме

Опубликовано

Будильник, установленный через API chrome.alarms , больше не откладывается при переходе устройства в спящий режим. Когда устройство просыпается, будильник сработает один раз, независимо от того, сколько раз он был пропущен. Например, если будильник настроен на срабатывание раз в час, а устройство находится в спящем режиме с 00:55 до 02:05, то событие onAlarm активируется только при срабатывании будильника в 02:00. Он сработает максимально близко к 02:00, а если устройство находилось в спящем режиме, то сразу после пробуждения.

Это изменение приводит Chrome в соответствие с согласованным поведением в группе сообщества Web Extensions.

Запись в блоге: Изменения в поведении bfcache с портами сообщений расширения

Опубликовано

Возвратный кэш (bfcache) — это оптимизация браузера, обеспечивающая мгновенную навигацию вперёд и назад. Начиная с Chrome 123, при сохранении страницы с открытым портом расширения в bfcache канал сообщений закрывается, что означает, что сообщения на эту страницу отправляться не будут. Следовательно, скрипты расширения должны отслеживать события жизненного цикла, такие как onDisconnect , и устанавливать новое соединение при восстановлении страницы из BFCache.

Дополнительную информацию и пример кода см. в разделе Изменения в поведении BFCache с портами сообщений расширения .

Chrome 122: обещают поддержку асинхронных API-интерфейсов расширений

Опубликовано

Мы завершили реализацию поддержки Promise для всех методов API асинхронного расширения. Это было сделано для модернизации методов API за счёт улучшения эргономики работы с асинхронными операциями. Некоторые методы (например, desktopCapture.chooseDesktopMedia() ) по-прежнему поддерживают только обратные вызовы, поскольку их текущие интерфейсы несовместимы с Promise. Для обеспечения обратной совместимости обратные вызовы по-прежнему поддерживаются. Если вы обнаружите невыполняющийся Promise, пожалуйста, сообщите об ошибке .

Новое руководство по общению в реальном времени

Опубликовано

Мы только что опубликовали руководства по функциям обновления в режиме реального времени в расширениях. Обновления в режиме реального времени обеспечивают мгновенную связь между вашими серверами и установленными расширениями. Кроме того, у нас есть новое руководство по использованию chrome.gcm и Web Push .

Новое руководство и образец: Тестирование увольнения работников сферы услуг

Опубликовано

Мы только что опубликовали руководство по тестированию завершения работы сервис-воркера с помощью Puppeteer . В прилагаемом примере показано, как это сделать в Puppeteer и Selenium.

Обновленный пример для нативного обмена сообщениями

Опубликовано

Мы только что опубликовали обновлённый пример для нативного обмена сообщениями. Этот API позволяет вашему расширению запускаться и взаимодействовать с другим приложением. Благодарим участника GitHub Шубхама-Расала за работу над этим.

Chrome 121: Новое свойство lastAccessed для вкладок.Tab

Опубликовано

В объект tabs.Tab добавлено новое свойство lastAccessed . Это свойство указывает время последней активации вкладки. Возвращаемое значение указывается в миллисекундах с начала эпохи.

Chrome 121: Неподдерживаемые «фоновые» клавиши теперь выдают предупреждение

Опубликовано

При переходе с Manifest V2 на Manifest 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 для расширений» . Этот выпуск также знаменует собой важную веху, поскольку исключает два последних элемента (userScripts и обработчик файлов в ChromeOS) из списка критических недостатков платформы .

PSA: Изменение в обработке URL-адресов политики конфиденциальности в панели разработчика

Опубликовано

Политики конфиденциальности в панели разработчика теперь добавляются на уровне элемента. Это позволяет вам устанавливать отдельные политики конфиденциальности для каждого элемента. Подробнее об этом изменении читайте в нашей социальной рекламе .

Видео: беседа с Мэттом Фрисби

Опубликовано

Мы только что опубликовали новое видео на YouTube-канале Chrome for Developers с чатом с экспертом Google по разработке и автором Мэттом Фрисби. Посмотреть его можно здесь .

Новое руководство по тестированию расширений

Опубликовано

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

Запись в блоге: Что происходит в расширениях Chrome — октябрь 2023 г.

Опубликовано

Мы только что опубликовали второе издание статьи «Что происходит в расширениях Chrome» . В ней рассказывается о работе команды над расширениями, проделанной за последние несколько месяцев, включая решение проблем со стабильностью сервис-воркера и значительный прогресс в устранении всех пробелов в платформе MV3. Мы также рассказываем о предстоящих релизах API, таких как Reading List API и User Scripts API.

Увеличены ограничения на статический набор правил в API декларативного сетевого запроса

Опубликовано

Следуя отзывам в группе сообщества Web Extensions, мы значительно увеличиваем лимит включенных статических наборов правил с 10 до 50. Кроме того, мы увеличиваем общее количество разрешенных статических наборов правил с 50 до 100. В настоящее время эта возможность доступна в Canary.

Улучшенное руководство по удаленно размещенному коду

Опубликовано

Требование Manifest V3 заключается в том, что расширения больше не должны использовать удалённо размещённый код. Хотя это было частью нашего руководства по миграции с самого начала, мы посчитали целесообразным доработать руководство по этой проблеме. Теперь на этой странице представлена ​​более подробная информация о возможностях Manifest V3 и стратегиях обновления.

Добавлен соответствующий раздел в раздел «Устранение неполадок в интернет-магазине Chrome» . В нём описаны распространённые причины отклонения расширений с удалённо размещённым кодом.

Chrome 118: isUrlFilterCaseSensitive теперь по умолчанию имеет значение false

Опубликовано

Начиная с Chrome 118, свойство isUrlFilterCaseSensitive в API chrome.declarativeNetRequest теперь имеет значение по умолчанию false . Если вы хотите сохранить старое поведение, вы можете явно задать isUrlFilterCaseSensitive значение true в правилах declarativeNetRequest.

Это произошло после обсуждений в группе сообщества Web Extensions. 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-адресов схем file:// с помощью вкладок или API Windows расширениям потребуется включить параметр «Разрешить доступ к URL-адресам файлов» на странице chrome://extensions . Вы можете программно проверить наличие доступа, вызвав chrome.extension.isAllowedFileSchemeAccess() . Firefox уже ограничивает доступ к URL-адресам файлов, а Safari поддерживает это изменение. Подробнее см. в почтовой рассылке Chrome Extensions .

Chrome 117: Расширенная защита URL-адресов при навигации по API расширений

Опубликовано

Ранее навигация, вызванная вызовами API расширения tabs.update() , tabs.create() и windows.create() приводила к ошибке для некоторых URL-адресов chrome://. Кроме того, вызов tabs.update() с URL-адресом JavaScript был запрещён. В версии 117 эти средства защиты для URL-адресов JavaScript были расширены до метода tabs.create() , а в список запрещённых URL-адресов, применяемый ко всем упомянутым ранее методам, был добавлен ряд дополнительных URL-адресов chrome://.

Улучшенное руководство для API declarativeNetRequest

Опубликовано

API chrome.declarativeNetRequest блокирует или изменяет сетевые запросы, задавая декларативные правила. Это позволяет расширениям изменять сетевые запросы, не перехватывая их и не просматривая их содержимое, обеспечивая пользователям большую конфиденциальность. Кроме того, он сложен в использовании. Учитывая это, мы переписали руководство таким образом, чтобы оно, по нашему мнению, давало более чёткое представление о реализации декларативных наборов правил. Ознакомьтесь с новым разделом по ссылке выше.

Использование вашей учетной записи Google Analytics с Chrome Web Store

Опубликовано

Интернет-магазин Chrome предлагает интеграцию с Google Analytics, что позволяет просматривать аналитику по вашему продукту в Интернет-магазине Chrome в дополнение к представлению, предлагаемому в панели разработчика. Подробнее см. в статье «Использование аккаунта Google Analytics с Интернет-магазином Chrome» .

Chrome 115: DevTools по умолчанию обходит скрипты контента

Опубликовано

Внедрённые скрипты контента теперь по умолчанию находятся в списке игнорирования DevTools. Это не влияет на точки останова, но означает, что скрипты контента будут пропущены во время отладки, а исключения из них будут игнорироваться. Если скрипт контента открыт на вкладке «Источники» , появится баннер с предупреждением о том, что эта опция включена, и возможность удалить скрипт контента из списка игнорирования. Чтобы отключить это поведение, откройте DevTools, выберите «Настройки» , затем «Список игнорирования» . Подробнее см. в разделе «Что нового в DevTools» .

Chrome 116 beta: больше, чем мы можем здесь вместить

Опубликовано

Chrome 116 — это большой релиз для расширений. Теперь вы можете открывать боковые панели программно. Новый метод позволяет узнать, есть ли активный документ, не отображаемый на экране. Сервис-работники получили несколько улучшений. В версии 116 столько улучшений, что мы написали статью в блоге, чтобы рассказать о них . Chrome 116 находится в стадии бета-тестирования с 19 июля.

Запись в блоге: Что происходит в расширениях Chrome

Опубликовано

Мы только что опубликовали обзор изменений и улучшений в расширениях за этот год. В публикации обсуждаются важные новые функции года, включая API боковой панели, улучшения сервис-воркера и внеэкранные документы. Вы также сможете узнать, над чем мы работаем в этом квартале. В статье перечислено гораздо больше нововведений со ссылками на все.

Новое руководство и пример: узнайте, как использовать Google Analytics 4 в расширении Chrome

Опубликовано

Мы опубликовали новые руководства и примеры по Google Analytics и геолокации:

Chrome 115: укажите несколько причин в chrome.offscreen.createDocument()

Опубликовано

Теперь вы можете указать несколько перечислений reason при вызове метода chrome.offscreen.createDocument() . Используйте это, когда внеэкранный документ будет использоваться для нескольких различных целей. Браузер использует предоставленные причины для определения времени существования внеэкранного документа.

Новый инструмент: инструмент тестирования обновлений расширений

Опубликовано

Мы только что выпустили инструмент тестирования обновлений расширений (Extension Update Testing Tool ) — локальный сервер обновлений расширений, который можно использовать для тестирования обновлений расширений Chrome в процессе локальной разработки, включая предоставление разрешений. Этот инструмент отображает процесс обновления, выполняемый пользователем, включая отключение расширения до тех пор, пока пользователь не предоставит запрошенные разрешения. Этот инструмент особенно полезен для моделирования изменений разрешений, запрашиваемых при обновлении расширения с версии Manifest V2 до версии Manifest V3.

Chrome 114: новый API боковой панели

Опубликовано

Представляем новый API боковой панели — дополнительную поверхность, которая позволяет пользователям получать доступ к инструментам наряду с просматриваемым контентом. Подробнее см. в справочнике по API боковой панели . Кроме того, мы добавили множество примеров боковых панелей в наш репозиторий образцов на GitHub . Подробнее о боковых панелях мы расскажем в новой публикации блога «Разработка превосходного пользовательского опыта с помощью API новой боковой панели» . Мы также пересмотрели нашу политику в области качества и передовые практики , чтобы предоставить дополнительные рекомендации по созданию высококачественных расширений для боковых панелей.

Ваши отзывы важны для разработки этого API. Пожалуйста, делитесь своими мыслями и пожеланиями по функциям в группах chromium . Следите за обновлениями, чтобы быть в курсе наших дальнейших улучшений API боковой панели.

Новые примеры: WASM в расширениях

Опубликовано

Доступны два новых примера, демонстрирующих, как использовать WASM в расширении:

Особая благодарность автору GitHub @daidr за эти примеры.

Обновленное руководство по миграции Manifest V3

Опубликовано

Мы обновили раздел «Известные проблемы» в нашем руководстве по миграции Manifest V3, добавив обновленный список пробелов в платформе расширений, которые мы намерены устранить до объявления нового графика прекращения поддержки Manifest V2.

Запись аудио и видео с помощью Manifest V3

Опубликовано

Мы только что опубликовали новую статью под названием «Аудиозапись и захват экрана» , в которой рассматривается запись звука и видео с вкладки, окна или экрана в Manifest V3. В этой статье описываются различные подходы к записи с использованием API chrome.tabCapture и функции getDisplayMedia() .

Chrome 114: увеличена квота локального хранилища

Опубликовано

Мы увеличили квоту для свойства storage.local примерно до 10 МБ. Это было согласовано в группе сообщества Web Extensions . Это приводит storage.local в соответствие с storage.session , изменённым в Chrome 112.

Новое руководство и помощь для сотрудников службы расширения

Опубликовано

Сервис-воркеры — неотъемлемая часть расширений Chrome. Мы только что опубликовали руководство, объясняющее основы регистрации, отладки и взаимодействия с сервис-воркерами. Мы также добавили новое руководство по сервис-воркерам, в котором более подробно объясняются важные концепции. Мы планируем расширить этот раздел в ближайшие месяцы.

Дополнительные советы по устранению нарушений в интернет-магазине

Опубликовано

Чтобы упростить публикацию в Chrome Web Store, мы добавили новые рекомендации по двум направлениям. Рекомендации по минимальной функциональности направлены на предоставление пользователям преимуществ и улучшение их опыта работы в браузере. Рекомендации по партнёрской рекламе направлены на информирование пользователей о расширениях, использующих партнёрские ссылки или коды для монетизации, и предоставление им определённого контроля, требуя от пользователя определённых действий перед включением.

Новые инструкции для Extension Manifest Converter

Опубликовано

Мы переписали файл README для Extension Manifest Converter , чтобы упростить понимание необходимых действий после запуска инструмента. Конвертер помогает переносить расширения, созданные на основе Manifest V2, в Manifest V3. В новом файле README описывается работа инструмента словами, максимально соответствующими контрольному списку руководства по миграции . Конвертер не делает всё, но устраняет многие задачи, не требующие человеческого вмешательства.

Chrome 113: новые причины для закадровых документов

Опубликовано

Мы добавили два новых типа причин в API Offscreen Documents. Используйте LOCAL_STORAGE для доступа к API localStorage веб-платформы. Используйте WORKER при создании веб-воркеров.

Google Analytics 4 теперь на панели разработчика

Опубликовано

Панель разработчика Chrome Web Store теперь поддерживает Google Analytics 4 (GA4). Мы упростили настройку Google Analytics и сделали управление доступом для групповых издателей более понятным. Если вы ранее использовали Google Universal Analytics для отслеживания активности на странице вашего приложения в магазине, вам необходимо принять меры до 1 июля 2023 года, чтобы продолжить получать данные о вашей странице в магазине. Подробнее см. в публикации в почтовой рассылке Chrome Extensions .

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 декларативного сетевого запроса . Каждый из них демонстрирует реализацию одного варианта использования. Первый демонстрирует блокировку файлов cookie. Остальные два демонстрируют блокировку и перенаправление URL-адресов.

Chrome 112: увеличена квота на хранилище сеанса

Опубликовано

Начиная с Chrome 112 квота для свойства storage.session увеличена примерно до 10 МБ. Это было согласовано в группе сообщества Web Extensions: 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 минут. Для получения дополнительной информации см. Долгое время жизни работников продления .

Сообщение: приостановка манифеста v2

Опубликовано

Сроки управления Manifest V2 находятся в рассмотрении, и эксперименты, запланированные на начало 2023 года, откладываются. Для получения дополнительной информации прочитайте обновление в списке рассылки Chrome Advensions.

Chrome 110: настройка цветов значка

Опубликовано

Пространство имен chrome.action имеет два новых метода, чтобы дать вам больше контроля над значками расширения внешнего вида. Методы setBadgeTextColor() и getBadgeTextColor() позволяют расширению изменять и запросить цвет его значка на панели инструментов. При использовании с setBadgeBackgroundColor и getBadgeBackgroundColor эти новые методы позволяют обеспечить соблюдение дизайна и последовательность бренда.

Сообщение в блоге: Подробнее о переходе к манифесту v3

Опубликовано

Мы уточнили график искажения манифеста V2 . Сроки поддержки Manifest V2 также были обновлены, чтобы отразить эту информацию.

Обновление документов: известные проблемы при переходе на Manifest V3

Опубликовано

Мы собрали список основных функций, которые в настоящее время находятся в разработке, и открытые ошибки . Наша цель на этой странице состоит в том, чтобы помочь разработчикам лучше понять текущее состояние платформы и на какие функции они могут нацелены на то, чтобы подготовиться к будущему.

Chrome Web Store: «Большая промо -плитка». Удаленная загрузка изображения

Опубликовано

Chrome Web Store удалил пользовательский интерфейс «Большая промо -плитка» с вкладки «Скормление» на панели разработчика на панели разработчика. Это изменение не влияет на опыт конечного пользователя, так как эти изображения не использовались в пользовательском интерфейсе потребителя. Смотрите этот пост хрома-эксплуата для получения дополнительной информации.

Chrome 106: разрешить страницы в файле: // URL -адреса для доступа к веб -доступным ресурсам

Опубликовано

Сопровочные происхождения, такие как iframes и динамический импорт, также должны иметь доступ к веб -доступным ресурсам, согласно crbug.com/1219825#c11 .

Chrome 106: Исправлена ​​ошибка, разрешающая неверные окончательные аргументы на некоторых функциях ASYNC API

Опубликовано

Ранее Manifest V3 APIS ASINC API может обеспечить неверный окончательный аргумент, а Chrome не ошибся. С этим исправлением Chrome теперь будет правильно ошибочно и сообщит, что не было подходящей подписи. Разработчикам рекомендуется проверить свои расширения на канарейке на предмет любых ошибок, если они случайно используют неправильную подпись для вызова API, который будет нарушен этим исправлением ошибки.

Сообщение в блоге: Revamp Analytics Chrome Web Store

Опубликовано

Chrome Web Store имеет обновленный опыт анализа предметов для приборной панели разработчика Chrome Web Store. Новую панель инструментов легче понять с первого взгляда и объединяет наиболее полезную информацию впереди. Прочитайте сообщение в блоге для получения дополнительной информации.

Chrome 105: обещания для API идентичности

Опубликовано

Функции на API Identity теперь поддерживают вызовы на основе перспективных обещаний. Это происходит с небольшим изменением на поверхности для identity.getAuthToken() , где асинхронная возврата, установленная на вызов на основе перспективы, будет иметь «токен» и «предоставленные кнопки» в качестве параметров на одном объекте (в отличие от версии обратного вызова, получающего их в виде отдельных аргументов к обратному обращению).

Chrome 104: New Favicons API для Manifest V3

Опубликовано

Расширения Manifest V3 теперь могут получить доступ к любимым видам с использованием нового шаблона URL: chrome-extension://<id>/_favicon/ , где это идентификатор вашего расширения. Это заменяет Manifest V2 Platform chrome://favicons API. Смотрите документы API Favicon для получения дополнительной информации.

Обновление DOCS: раскрытие Docs Trader/Non Trader

Опубликовано

Добавлено идентификацию разработчиков-трейдеров/не торговцев , которая информирует разработчиков, чтобы точно самообладать свой статус трейдера/не торговца.

Chrome 103: Wasm в Manifest V3 требует wasm-unsafe-eval

Опубликовано

Chrome больше не предоставляет script-src: wasm-unsafe-eval по умолчанию. Расширения, которые используют WebAssembly, теперь должны явно добавлять эту директиву и значение в extension_pages в их объявлениях content_security_policy .

Chrome 103: Изменение ярлыков MV3 вступает в силу немедленно

Опубликовано

При изменении сочетания клавишной клавиши Manifest Extension на chrome://extensions/shortcuts обновления теперь применяются немедленно. Ранее расширение должно было быть перезагружено до того, как изменение вступит в силу.

Chrome 102: Динамические сценарии контента в основном мире

Опубликовано

Динамически зарегистрированные сценарии контента теперь могут указать мир , в который будут введены активы. См. scripting.registerContentScripts() для деталей.

Chrome 102: новое поле Manifest "optional_host_permissions"

Опубликовано

Расширения Manifest V3 теперь могут указывать ключ optional_host_permissions в MANIFEST.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.

Кроме того, API, которые используют прототип ChromeSetting теперь также поддерживают обещания. На следующие API влияют это изменение.

Chromeos APIS

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.