Allegro Seller Info 0.1.7

Wczoraj wieczorem zauważyłem, że mój allegrowy skrypt użytkownika na stronach aukcji nie wyświetla informacji o lokalizacji sprzedającego. To może oznaczać, że coś zmieniono na serwisie i wymagana jest aktualizacja kodu. I dziś wyszła nowa wersja - 0.1.7.

Po szybkim spojrzeniu do "środka" strony okazało się, że wszelkie obiekty w głównej przestrzeni nazw zaczynające sie od prefiksu __PROPS__ALLEGRO_ nie są już dłużej dostępne w aktualnej wersji serwisu. To na nich bazowało wykrywanie stron oferty:

// strona z opisem aukcji
if (window.__PROPS__ALLEGRO_SHOWOFFER_SUMMARY__ || window.__PROPS__ALLEGRO_SHOWOFFER_DESCRIPTION__) { }

Na szybko ustaliłem, że dalej w kodzie pobierany "uchwyt" do elementu, na podstawie którego ustalam pozycję do wstrzyknięcia danych jest dostępny tylko na stronach ofert, więc równie dobrze może być wykorzystany w tej tej roli:

// strona z opisem aukcji
const offers = document.querySelector('div[itemprop="offers"]');
if (offers) { }

Po tej poprawce skrypt ruszył. Można byłoby uznać za gotowe, ale przez ostatni czas nagłówki aukcji uległy małym zmianom i uznałem, że aktualnie lepszym miejscem na wstrzykniecie danych o lokalizacji jest miejsce, gdzie wyszczególniono informacje o dostawie. Zmiany wyglądu dla przykładowej aukcji przedstawia poniższy zrzut ekranu.

W kodzie to była mała zmiana, bo zamiast dodawać do elementu poprzedzającego pierwszy div z obramowaniem, dodaję do jego środka jako pierwsze dziecko. Trochę to uprościło kod, bo nie trzeba, jak to miało miejsce wcześniej, upewniać się że są wolne komórki/wiersze w "tabelkowym" dizajnie etc... wystarczy po prostu wrzucić i "floatnąć" w prawo.

Szczegóły zmian do podejrzenia w repo UserScripts w tym komicie. Tam również można znaleźć aktualną wersję skryptu. Systemy z auto-aktualizacją same powinny się zająć kwestią podbicia skryptu do najnowszej wersji.

One thought on “Allegro Seller Info 0.1.7”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *