chrome.notifications

refresh date: 2026-09-25 robots: noindex

Описание

Используйте chrome.notifications API, чтобы создавать уведомления на основе шаблонов и показывать их пользователям в области уведомлений.

Разрешения

notifications

Типы

NotificationBitmap

NotificationButton

Свойства

  • iconUrl

    Строка (необязательно)

    Не поддерживается начиная с Chrome 59

    Значки кнопок не видны пользователям Mac OS X.

  • название

    string

NotificationItem

Свойства

  • Сообщение

    string

    Дополнительная информация об этом товаре.

  • название

    string

    Заголовок одного элемента в уведомлении со списком.

NotificationOptions

Свойства

  • appIconMaskUrl

    Строка (необязательно)

    Не поддерживается начиная с Chrome 59

    Маска значка приложения не видна пользователям Mac OS X.

    URL маски значка приложения. К URL применяются те же ограничения, что и к iconUrl.

    Маска значка приложения должна быть в альфа-канале, так как учитывается только альфа-канал изображения.

  • кнопки

    NotificationButton[] необязательный

    Текст и значки для двух кнопок действий в уведомлении.

  • contextMessage

    Строка (необязательно)

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

  • eventTime

    number (необязательно)

    Временная метка, связанная с уведомлением, в миллисекундах с начала эпохи (например, Date.now() + n).

  • iconUrl

    Строка (необязательно)

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

    URL может быть URL данных, URL blob или URL, связанным с ресурсом в файле .crx этого расширения.

    **Примечание.**Это значение обязательно для метода notifications.create().

  • imageUrl

    Строка (необязательно)

    Не поддерживается начиная с Chrome 59

    Изображение не видно пользователям Mac OS X.

    URL уменьшенного изображения для уведомлений с изображениями. К URL применяются те же ограничения, что и к iconUrl.

  • isClickable

    Логическое значение (необязательно)

    Не поддерживается начиная с Chrome 67.

    Эта подсказка интерфейса игнорируется начиная с Chrome 67.

  • items

    NotificationItem[] необязательный

    Объекты для уведомлений о нескольких объектах. Пользователи Mac OS X увидят только первый пункт.

  • Сообщение

    Строка (необязательно)

    Основной контент уведомления.

    **Примечание.**Это значение обязательно для метода notifications.create().

  • приоритет

    number (необязательно)

    Приоритет может быть от -2 до 2. -2 – самый низкий приоритет. 2 – самый высокий. Значение по умолчанию – 0. На платформах, которые не поддерживают центр уведомлений (Windows, Linux и Mac), значения -2 и -1 приводят к ошибке, поскольку уведомления с такими приоритетами не будут показываться вообще.

  • выполнено

    number (необязательно)

    Текущий прогресс от 0 до 100.

  • requireInteraction

    Логическое значение (необязательно)

    Chrome 50 и более поздних версий;

    Указывает, что уведомление должно оставаться на экране, пока пользователь не нажмет на него или не закроет. Значение по умолчанию – false.

  • без звука

    Логическое значение (необязательно)

    Chrome 70 и более поздних версий;

    Указывает, что при показе уведомления не должно быть звуков или вибрации. Значение по умолчанию – false.

  • название

    Строка (необязательно)

    Заголовок уведомления (например, имя отправителя письма).

    **Примечание.**Это значение обязательно для метода notifications.create().

  • тип

    TemplateType необязательный

    Тип уведомления, которое нужно показать. Обязательный параметр для метода notifications.create.

PermissionLevel

Перечисление

"granted"
Пользователь разрешил показывать уведомления от приложения или расширения. Это значение по умолчанию.

denied
Пользователь отказался от уведомлений приложения или расширения.

TemplateType

Перечисление

"basic"
Содержит значок, заголовок, сообщение, развернутое сообщение и до двух кнопок.

"image"
Содержит значок, заголовок, сообщение, расширенное сообщение, изображение и до двух кнопок.

"list"
Содержит значок, заголовок, сообщение, элементы и до двух кнопок. Пользователи Mac OS X увидят только первый пункт.

"progress"
Содержит значок, заголовок, сообщение, индикатор выполнения и до двух кнопок.

Методы

clear()

Promise
chrome.notifications.clear(
  notificationId: string,
  callback?: function,
)
: Promise<boolean>

Удаляет указанное уведомление.

Параметры

  • notificationId

    string

    Идентификатор уведомления, которое нужно удалить. Возвращается методом notifications.create.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (wasCleared: boolean) => void

    • wasCleared

      Логическое значение

Возвраты

  • Promise<boolean>

    Chrome 116 и более поздних версий

    Возвращает объект Promise, который распознается, чтобы указать, существовало ли соответствующее уведомление.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

create()

Promise
chrome.notifications.create(
  notificationId?: string,
  options: NotificationOptions,
  callback?: function,
)
: Promise<string>

Создает и показывает уведомление.

Параметры

  • notificationId

    Строка (необязательно)

    Идентификатор уведомления. Если идентификатор не задан или поле пустое, он будет сгенерирован автоматически. Если уведомление с таким идентификатором уже существует, оно будет удалено, а затем создано заново. Идентификатор не должен содержать более 500 символов.

    Параметр notificationId обязателен для версий Chrome, предшествующих 42.

  • Параметры

    Содержимое уведомления.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (notificationId: string) => void

    • notificationId

      string

Возвраты

  • Promise<string>

    Chrome 116 и более поздних версий

    Возвращает объект Promise, который распознается с идентификатором уведомления (предоставленным или сгенерированным), представляющим созданное уведомление.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getAll()

Promise
chrome.notifications.getAll(
  callback?: function,
)
: Promise<object>

Получает все уведомления этого приложения или расширения.

Параметры

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (notifications: object) => void

    • уведомления

      Объект

Возвраты

  • Promise<object>

    Chrome 116 и более поздних версий

    Возвращает объект Promise, который разрешается с набором notification_ids, находящихся в системе.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getPermissionLevel()

Promise
chrome.notifications.getPermissionLevel(
  callback?: function,
)
: Promise<PermissionLevel>

Проверяет, включил ли пользователь уведомления от этого приложения или расширения.

Параметры

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (level: PermissionLevel) => void

Возвраты

  • Chrome 116 и более поздних версий

    Возвращает объект Promise, который распознается с текущим уровнем разрешения.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

update()

Promise
chrome.notifications.update(
  notificationId: string,
  options: NotificationOptions,
  callback?: function,
)
: Promise<boolean>

Обновляет существующее уведомление.

Параметры

  • notificationId

    string

    Идентификатор уведомления, которое нужно обновить. Возвращается методом notifications.create.

  • Параметры

    Содержимое уведомления, которое нужно обновить.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (wasUpdated: boolean) => void

    • wasUpdated

      Логическое значение

Возвраты

  • Promise<boolean>

    Chrome 116 и более поздних версий

    Возвращает объект Promise, который распознается, чтобы указать, существовало ли соответствующее уведомление.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

События

onButtonClicked

chrome.notifications.onButtonClicked.addListener(
  callback: function,
)

Пользователь нажал кнопку в уведомлении.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (notificationId: string, buttonIndex: number) => void

    • notificationId

      string

    • buttonIndex

      число

onClicked

chrome.notifications.onClicked.addListener(
  callback: function,
)

Пользователь нажал на область уведомления, не являющуюся кнопкой.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (notificationId: string) => void

    • notificationId

      string

onClosed

chrome.notifications.onClosed.addListener(
  callback: function,
)

Уведомление закрыто системой или пользователем.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (notificationId: string, byUser: boolean) => void

    • notificationId

      string

    • byUser

      Логическое значение

onPermissionLevelChanged

chrome.notifications.onPermissionLevelChanged.addListener(
  callback: function,
)

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

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (level: PermissionLevel) => void

onShowSettings

Не поддерживается начиная с Chrome 65
chrome.notifications.onShowSettings.addListener(
  callback: function,
)

Кнопка настроек уведомлений больше не поддерживается.

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

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    () => void