#angular #google-chrome-extension
#angular #google-chrome-расширение
Вопрос:
У меня есть расширение Chrome в angular 8, есть фоновый скрипт с контекстным меню при щелчке правой кнопкой мыши, я хочу отправить некоторую информацию при щелчке контекстного меню и, как правило, выполнял часть приема в сценариях содержимого
Я пробовал такой код в своем app.component.ts
ngOnInit():void {
chrome.runtime.onMessage.addListener( data => console.log("content: ",data));
}
Но фоновый скрипт получает
_generated_background_page.html: 1 Непроверенная среда выполнения.Последняя ошибка: не удалось установить соединение. Принимающий конец не существует.
Итак, похоже, я неправильно инициализирую скрипты содержимого в своем приложении angular.
Я попробовал что-то подобное в своем manifest.json, но безуспешно
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["main.js","scripts.js","common.js"]
}
],
Комментарии:
1. Попробуйте document_start .
2. Спасибо, но, к сожалению, то же самое. Есть ли у вас случайно какие-либо примеры приложения angular 2 , в котором функциональность скрипта содержимого описана в компонентах angular и «получает сообщения»? Я могу запросить вкладку и т. Д., Поэтому я могу связаться с Chrome API, Но, похоже, мой угловой код и фоновые скрипты не видят друг друга
3. Нет, я этого не делаю. Проблема в том, что ngOnInit, по-видимому, вообще не запускается.
4. @VladyslavDidenko вы узнали, как это решить? Я сталкиваюсь с той же проблемой.
5. @AfeezAziz, по крайней мере, не в угловом смысле. Что я сделал, так это то, что я включил 2 простых / ванильных JS-файла и указал на них в разделе моего сценария содержимого. Итак, у меня есть смесь файлов Angular и JS. Нет идеального решения, но у меня там не слишком много логики, так что пока это работает. Если вы найдете лучший способ, оставьте его здесь, чтобы я мог включить его в ответ