UI rozszerzenia, które nie znika po zmianie strony

Nasz react-content-script-injector osadza pełne komponenty React w aplikacjach, których nie kontrolujesz. Pilnuje punktów wstrzyknięcia, ponownie montuje UI po zmianach SPA i jest dostarczany z testami E2E działającymi w prawdziwej przeglądarce.

200+
wydanych wersji rozszerzeń
SPA
routing i re-rendery pod kontrolą
E2E
injectory testowane w Chromium

Strona hosta będzie się zmieniać

Twój injector nie powinien przez to znikać

Nowoczesne aplikacje przeładowują fragmenty DOM, zmieniają routing bez odświeżenia i uruchamiają równolegle różne warianty UI. Zwykły content script montuje komponent raz i liczy, że element docelowy pozostanie na miejscu. My projektujemy pod ciągłą zmianę.

01

Host zmienia DOM

Routing, re-render lub eksperyment usuwa punkt montowania.

02

Injector wykrywa zmianę

Obserwator rozpoznaje brak lub nowy wariant punktu wstrzyknięcia.

03

React UI wraca

Komponent montuje się ponownie z właściwym contextem i stylami.

04

E2E pilnuje regresji

CI odtwarza scenariusz w przeglądarce przed wdrożeniem.

Prywatny runtime do najtrudniejszej części rozszerzenia

Biblioteka pozostaje prywatna i trafia do projektów, które wdrażamy. Klient dostaje sprawdzony fundament bez utrzymywania kolejnego wewnętrznego frameworka.

01

Odporne punkty montowania

Monitorujemy elementy docelowe i ponownie montujemy komponenty po re-renderze lub zmianie routingu SPA.

02

Shadow DOM

Style rozszerzenia nie wyciekają na stronę hosta, a obcy CSS nie psuje dostarczonego UI.

03

React Portals

Modale, dropdowny i panele zachowują providery, stan, motyw oraz pełny React context.

04

Cleanup bez duplikatów

Kontrolowany unmount i ponowne wstrzyknięcie zapobiegają martwym handlerom oraz zduplikowanemu UI.

05

Elastyczne pozycjonowanie

Osadzamy akcje inline, sidebary, panele i elementy pływające dokładnie tam, gdzie pracuje użytkownik.

06

Widoczne awarie

Błędy injectora można raportować z kontekstem strony i wersji rozszerzenia zamiast czekać na zgłoszenie użytkownika.

Testowanie w prawdziwej przeglądarce

Testujemy nie tylko komponent. Testujemy moment wstrzyknięcia.

Testy jednostkowe nie pokażą, czy rozszerzenie znalazło właściwy anchor na prawdziwej stronie. Nasze scenariusze E2E uruchamiają produkcyjny build rozszerzenia w Chromium i weryfikują cały cykl życia injectora.

injector.e2e.js
  1. 01Zbuduj produkcyjne rozszerzenie
  2. 02Załaduj je do Chromium
  3. 03Odtwórz zmianę strony hosta
  4. 04Sprawdź UI, cleanup i reinjection

Pierwsze wstrzyknięcie

Czy właściwy komponent pojawia się przy właściwym elemencie strony.

Routing SPA

Czy UI znika, czyści stan i wraca po przejściu na obsługiwaną trasę.

Re-render hosta

Czy injector odzyskuje punkt montowania po wymianie fragmentu DOM.

Brak duplikatów

Czy kolejne mutacje DOM nie tworzą wielu kopii tego samego UI.

Warianty strony

Czy znane warianty językowe, layouty i selektory prowadzą do tego samego rezultatu.

Kontrolowana awaria

Czy brak anchora daje czytelny sygnał diagnostyczny zamiast cichego zniknięcia funkcji.

Od punktu w DOM do utrzymywalnego wdrożenia

Nie przekazujemy samego pakietu. Projektujemy injectory, testujemy zachowanie na zmianach strony i utrzymujemy integrację, kiedy aplikacja hosta ewoluuje.

01

Mapujemy stronę hosta

Identyfikujemy stabilne anchory, routing, warianty UI i miejsca ryzyka.

02

Budujemy injector

Osadzamy React UI z izolacją stylów, contextem i właściwym cyklem życia.

03

Automatyzujemy E2E

Kodujemy krytyczne warianty oraz regresje jako scenariusze przeglądarkowe w CI.

04

Wdrażamy i utrzymujemy

Dostarczamy build, pipeline aktualizacji i wsparcie przy zmianach strony hosta.

Najczęstsze pytania

Czy react-content-script-injector jest publicznym pakietem?+

Nie. To nasz prywatny runtime injectorów, używany w rozszerzeniach budowanych i utrzymywanych dla klientów.

Czy można dodać go do istniejącego rozszerzenia?+

Tak. Najpierw audytujemy obecne content scripty, punkty montowania i testy, a potem migrujemy injectory etapami bez przepisywania całego rozszerzenia.

Czy testy E2E używają prawdziwego rozszerzenia?+

Tak. Test uruchamia produkcyjny build rozszerzenia w Chromium i sprawdza zachowanie injectora z perspektywy użytkownika.

Co się dzieje, gdy aplikacja hosta zmieni DOM?+

Runtime próbuje odnaleźć obsługiwany punkt wstrzyknięcia i ponownie zamontować UI. Jeśli zmiana wykracza poza znane warianty, testy i raportowanie błędów pomagają szybko zlokalizować regresję.

Budujesz rozszerzenie na stronie, której nie kontrolujesz?

Zaprojektujemy injectory, które radzą sobie ze zmianami SPA, i zabezpieczymy ich krytyczne scenariusze testami E2E.

Kto za tym stoi

Tomasz Dłuski

Tomasz Dłuski

Założyciel & CEO

Senior Software Engineer z 10+ letnim doświadczeniem. W poprzedniej firmie był częścią firmy, która wyskalowała się z 5 do 50+ inżynierów. Teraz buduje Optymized - firmę, która łączy doświadczenie w dostarczaniu projektów enterprise z własnymi produktami SaaS. Maintainer CRXJS (3.9k stars na GitHubie), jednego z najpopularniejszych narzędzi do budowy rozszerzeń przeglądarek.

Porozmawiajmy o Twoim projekcie

Potrzebujesz rozszerzenia do przeglądarki, dedykowanego zespołu, czy konsultacji technicznej? Znajdźmy najlepsze podejście razem.

lub napisz do nas