Как открыть Browser_Action из content.js? Это вообще возможно?

Я работаю над расширением для Chrome, которое позволяет пользователям открывать browser_action,
нажимая клавишу, которую ОНИ назначили из options-page.

Я хотел бы использовать document.onkeyup = function(){ Chrome.runtime.openPopup(); };
или что-то в этом роде... Я знаю, что этот Особый Extension API
(runtime.openPopup< /strong>) работает только для mozilla firefox. Я создаю это расширение
для Chrome и Opera, так что это не вариант для меня.

Как я могу это сделать? Будет ли это связано с добавлением chrome.commands API
в файл manifest; затем изменить этот файл из options.html/options.js и перезагрузить расширение? Я все перепробовал в поисках способа, описанного выше, и мне кажется,
что это невозможно.

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

Любые решения?

Я пробовал Content.js--chrome.runtime.sendMessage
и Popup.js--chrome.runtime.onMessage.addeEventListener(function() {self.focus();});


person 255.tar.xz    schedule 24.09.2018    source источник
comment
Невозможно в стабильном Chrome. Вместо этого откройте новое маленькое окно или вставьте iframe на текущую страницу с вашей страницей пользовательского интерфейса, объявленной в web_accessible_resources в manifest.json.   -  person wOxxOm    schedule 24.09.2018
comment
Ну черт... Это отстой. Будет ли Iframe иметь доступ к API chrome.executescript?   -  person 255.tar.xz    schedule 24.09.2018
comment
Да, iframe может получить доступ ко всему, что может получить любая другая страница расширения. И в дополнение к этому вы можете использовать chrome.tabs.getCurrent внутри iframe, чтобы получить объект вкладки веб-страницы, что довольно удобно.   -  person wOxxOm    schedule 24.09.2018