- Програмне забезпечення
- Google Chrome
- програмування
- браузери
- Розширення для браузерів
Привіт Шановні! Відразу до справи. в моєму розширенні для Google Chrome мені потрібен постійно відкритий порт для зв'язку popup.html (тобто та частина яка з'являється при натисканні на іконку розширення в маніфесті це «default_popup») і частини яка відпрацьовує безпосередньо на самій вкладці (фонова частина в маніфесті це content_scripts ).
Зараз у мене в popup.html написаний код створює з'єднання (я так розумію він запускається при кліці на іконку розширення в момент показу popup), код такий:
тобто він створює порт і підписується на події відправки повідомлень.
А в фоновому скрипті (background.js) є такий код:
тобто він чекає від розширення події створення конекту і якщо воно виникає підписується на подію відправки повідомлення на створений порт.
Це все добре працює і вони «переплевивает» повідомленнями, АЛЕ ...
Увага питання:
Якщо я натискаю куди небудь на вкладці (на сайті) то вікно розширення природно зникає і з'єднання рветься. Всі інші спроби відправити що або з даного порту з backround.js закінчуються повідомленням в консолі «Uncaught Error: Attempting to use a disconnected port object"
Як мені зробити постійне з'єднання? Воно живе поки не закрито вікно розширення, як можна зробити так щоб я спокійно клацав по сайту а вікно розширення було відкрито?
P.S. Питання дуже терміновий, якщо потрібні уточнення пишіть в личку. Величезне дякую всім!