Сервисы импорта Firefox WebExtension
Я чувствую себя ошеломленным таким количеством разных подходов, руководств, и все же ни один из них я не пытался работать для меня. Пожалуйста, подключите хотя бы несколько точек для меня...
Моя цель - найти объект окна в фоновом скрипте Firefox WebExtension.
Проблема, я не могу импортировать Services
библиотека, чтобы использовать его для поиска window
объект.
Два метода, которые я попробовал:
Components.utils.import("resource://gre/modules/Services.jsm");
Дает предупреждение, чтоComponents
исключен, и ошибка:Components.utils
не определеноconst { Cu } = require("chrome"); let Services = Cu.import("resource://gre/modules/Services.jsm");
Выдает ошибку, котораяrequire
не определено
Это фоновый скрипт, укажите мне правильное направление, как импортировать нужные библиотеки / интерфейсы, с которыми мне нужно работать?
1 ответ
Страница верхнего уровня MDN для надстроек, используемая для обзора различных типов расширений (поскольку в FF57 поддерживаются только расширения).
Components.utils.import
это для перезапускаемых /XUL (устаревших) расширений.
const {Cu} = require ("chrome");
это для расширений SDK.
Ни один из них не будет работать в расширениях.
В отличие от других типов расширений, веб-расширения являются ограничительными, они не предоставляют доступ к низкоуровневым API, которые вы можете найти по всей вики.
Так что придерживайтесь страниц, которые находятся в иерархии webextensions или стандартных веб-API, когда вы ищете документацию, относящуюся к этому типу расширения.