Extensii Chrome

Extensii Chrome
  • software-ul
  • Google Chrome
  • programare
  • browsere
  • Extensiile browserului

Buna ziua! Du-te la punct. în extensia mea pentru Google Chrome Am nevoie de un port permanent deschis pentru popup.html comunicare (adică partea care apare când faceți clic pe pictograma extensiei din manifest este «default_popup») și o parte care lucrează în mod direct pe tab-ul (fundal parte din manifest este content_scripts ).

Acum trebuie să popup.html scrie cod pentru a crea o conexiune (așa cum am înțeles că este rulat când faceți clic pe pictograma extensiei când se afișează pop-up), codul este după cum urmează:


adică, creează un port și subscrie la evenimentele de trimitere a mesajelor.

Și în script-ul de fundal (background.js) există un astfel de cod:

adică se așteaptă de la extinderea evenimentului de creare a conexiunii și, dacă apare, este abonat la evenimentul de trimitere a unui mesaj către portul creat.
Toate acestea funcționează bine și "scuipă" mesaje, dar ...

Atenție la întrebarea:
Dacă fac clic pe undeva pe o filă (la fața locului), apoi extinde fereastra dispare în mod natural și pauzele de conectare. Toate celelalte încercări de a trimite ceva la capătul port al mesajului backround.js în consolă «Eroare negestionat: Încercarea de a folosi un obiect de port deconectat“
Cum fac o conexiune permanentă? Este în viață până când fereastra de extensie este închisă, cum pot să fac acest lucru pentru a face clic pe liniște pe site și extensia ferestrei a fost deschisă?

P.S. Întrebarea este foarte urgentă, dacă aveți nevoie de clarificări, scrieți-vă personal. Vă mulțumesc foarte mult!

Articole similare