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.

Dodaj komentarz

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