Allegro Seller Info 0.1.18
• tech • 317 słów • 2 minuty czytania
Ostatnia wersja allegrowego skryptu długo utrzymywała się na powierzchni bez potrzeby poprawek. Niestety czas ten minął, bo na stronach aukcji nieco zmieniono strukturę i wygląd, co wymaga interwencji i nowej wersji.
Głównym zadaniem skryptu na stronach aukcji jest dodanie informacji o lokalizacji sprzedającego. Idealne do tego miejsce znajduje się tuż nad “Szczegółami o dostawie i płatności”. Kod do szukania kontenera na wstawkę jest banalny:
// wstawiamy nad wierszem z wyszczegolnionymi info o dostawie
// dlatego szukamy poprzednika diva zawierajacego pierwsza linie
node = itemNode.getElementsByTagName('hr')[0].parentElement.previousElementSibling;
Niestety nagle na karcie produktu pojawiła się dodatkowa linia w nagłówku nad szczegółami aukcji, która to przysporzyła temu kodowi trochę problemów. W efekcie czego wstrzykiwany kod ląduje w innym miejscu psując wygląd strony.
Naprawa wydaje się prosta, bo sprawę rozwiązuje “oparcie” się na drugiej linii, czyli podmiana indeksu z 0
na 1
. O dziwo na niektórych stronach nie ma tego nowego formatu, podobnie na aukcjach otwartych w Incognito (bez zalogowania). Na szczęście kod ten działa poprawnie w obu przypadkach.
To dlatego, że linie okalają “boks” z info o dostawie, dlatego bez różnicy jest to czy “złapiemy” tę górną, czy dolną linię, ich rodzic jest ten sam i do niego zawsze trafimy. I dobrze, bo obyło się bez gównianych warunkowych wersji ;)
Przy okazji nowej wersji, wpadłem na pomysł rozwiązania innego problemu. Od dawna przestały być dostarczane szczegółowe informacje o sprzedającym na innych aukcjach niż te true allegrowe, o czym już kiedyś wspominałem. Problem ten widać szczególnie na listach z aukcjami z lokalnej wersji serwisu - sprzedający wyświetla się jako “undefined”.
Myślałem, że to przejściowe problemy, ale widać, że już tak zostało. Trochę mnie to zaczęło bardziej drażnić, więc dodałem małą poprawkę. Teraz, gdy nie ma dostępnej nazwy użytkownika wyświetli się identyfikator (numer) sprzedającego…
Nowa wersja skryptu o numerze 0.1.18 dostępna jest w moim repozytorium UserScripts. Automatyczne aktualizacje powinny zadbać o uaktualnienie u użytkowników korzystających z tego skryptu, w innym wypadku ręczna instalacja ;)
Komentarze (0)