- 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!