jQuery Cluetip – opóźnienia żądań ajaxowych

W ostatnim czasie pracowałem nad modułem ewidencji czasu pracy w systemie kadrowo-płacowym. System intranetowy, ograniczona ilość użytkowników. Z tych, a nie innych względów na panelu miesięcznym pracowników został wykorzystany jQuery Cluetip do wyświetlania w dymku informacji o danym dniu pobieranych ajaxem.

Tak to mniej więcej wyglądało:

Jak widać pojawił się drobny problem – zbyt duża częstotliwość niepotrzebnych żądań ajaxowych. Gdyby takich użytkowników przesuwających myszką po ekranie było powiedzmy stu, ruch na serwerze byłby dosyć spory. Spory jak na taki prosty panel, serwer nie miałby żadnych problemów wydajnościowych (póki co). Ale co ważne – ta ilość żądań byłaby zupełnie niepotrzebna.

Jak wspominałem wcześniej, dostęp do modułu ma tylko ograniczona ilość użytkowników i nie można się spodziewać ataków dosowych. W związku z tym, nie warto było wyciągać armaty na wróbla i poświęcać czas na wykonanie kolejkowania i wykonywania synchronicznego żądań po stronie serwera. Padło na proste rozwiązanie po stronie interfejsu użytkownika.

Tak wyglądała konfiguracja dymków przed dokonaniem zmian:

Niestety Cluetip nie posiada żadnej opcji konfiguracyjnej na wprowadzenie opóźnień do zdarzeń. W tym celu został wykorzystany plugin jQuery: hoverIntent.

Po dodaniu wtyczki konfiguracja Cluetip wygląda następująco:

Wprowadziłem opóźnienia żądań na 600 ms. Efekt końcowy:

Można zauważyć, że ruch na serwerze został znacząco ograniczony. Czasem najprostsze rozwiązania są najlepsze.

To również może Cię zainteresować:

  • Wykonywanie kodu JavaScript w JavieWykonywanie kodu JavaScript w Javie Wraz z pojawieniem się Javy 8 został udostępniony nowy silnik JavaScriptowy dla JVM o nazwie Nashorn. Zastąpił on starszą implementację Rhino, dostępnego od Javy 6. JavaScriptowy silnik […]
  • Wordpress i bezpieczeństwoWordPress i bezpieczeństwo Tę stronę renderuje WordPress. Nie da się tego ukryć - analizując źródła html, javascript czy style css szybko można to wywnioskować. Skoro tak łatwo zidentyfikować framework który został […]
  • Myth: The Fallen LordsMyth: The Fallen Lords Yeah, przyszedł dziś do mnie mega prezent za 15 zeta - dla mnie bezcenny. Wspomnienie sprzed prawie 20 lat. Jest rok 1997, mój pierwszy komputer (nie licząc C64), przez kilka miesięcy […]
  • Zagadki algorytmiczne #1Zagadki algorytmiczne #1 Lubicie zagadki algorytmiczne? Jeśli tak, to zachęcam do wypróbowania https://codefights.com (jeśli jeszcze nie jest któremuś z Was znana ta platforma). Przypominam również o odbywających […]
  • Hasła maskowane ciąg dalszyHasła maskowane ciąg dalszy Pod ostatnim artykułem dotyczącym wpadki jednego z polskich banków pojawił się komentarz: Czy autor ma JAKIEKOLWIEK pojecia jak sa implementowane takie maski ? Z technicznego punktu […]
  • Chrome css border bugChrome css border bug Podczas przygotowywania tabelki do wpisu Permutacje i zagadka z trójkątem zauważyłem dziwne zachowanie w Chromie: Przy zastosowaniu atrybutów colspan w pierwszym wierszu tabeli […]

Dodaj komentarz

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