chrome extension как открыть `popup` с помощью javascript

201
19 ноября 2021, 11:50

Столкнулся с проблемой.

Пытаюсь открыть окно расширения с помощью javascript, но не как не получается.

chrome.pageAction.show(tabID);

Надо что бы при конкретном условии окно автоматически открылось.

Answer 1

Метод chrome.pageAction.show не открывает popup расширения.
Данный метод предназначен для другого - он для добавления экшнов расширения (кнопок) на панель адресной строки браузера.

Открыть popup программно, из кода расширения - невозможно.
Это действие должно выполняться пользователем: либо кликом по кнопке расширения, либо нажатием комбинации клавиш на клавиатуре.

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

А когда возможностей уведомлений недостаточно, но при этом хватит отображения только на странице, альтернативой может быть такой вариант: контент-скриптом добавлять на страницу изначально скрытый блок с position: fixed и высоким значением z-index - и для отправки команды на показ этого блока (из бэкграунд-скрипта расширения) использовать передачу сообщений.
В сообщениях контент-скрипту можно передавать также и данные - например, когда бэкграунд-скрипт получил информацию от веб-сервиса, и надо вывести ее на странице, в некотором подобии диалога.

READ ALSO
Ожидание загрузки изображения в цикле для ротации изображений [дубликат]

Ожидание загрузки изображения в цикле для ротации изображений [дубликат]

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

93
Прервать цикл дойдя до блока в dom

Прервать цикл дойдя до блока в dom

Помогите пожалуйста с идеей, есть верстка, в очень упрощенном виде так:

68