Każdy akapit (<p>
) w dokumencie ma identyfikator (cn0, cn1,
itp.) I klasę (cn
). Jest to jedyna część systemu komentarzy wyświetlana w pobliżu tekstu. Również na stronie znajduje się div
, który działa jako popup, który zawiera również formularz komentarza.
Reszta odbywa się za pomocą Javascript. Po załadowaniu strony wysyłają żądanie AJAX, aby uzyskać numer i lokalizację wszystkich komentarzy w dokumencie. Wygląda to tak:
[[0,4],[3,2],...]
Z tym, że dodaje div
na marginesie z bąblu i liczbę komentarzy na tej linii.
Po kliknięciu bąbelków inicjowane jest kolejne żądanie AJAX, aby uzyskać komentarze do tego dymka. W takim przypadku wysyłają rzeczywisty kod HTML, który ma być renderowany zamiast obiektu JSON, jak wcześniej.
Na zapleczu (teraz to już tylko przypuszczenie), wiążą każdy zestaw komentarzy z dokumentem i lokalizacją w tym dokumencie (dzięki temu mogą jednocześnie wyświetlać wszystkie komentarze do dokumentu). Prawdopodobnie użyłbym wbudowanej aplikacji komentarzy, aby to zrobić, i zapakowałem obie rzeczy do jednego klucza obcego, tworząc model do połączenia dokumentu i lokalizacji lub przez podklasy samego modelu komentarza.
Mam nadzieję, że to ci pomoże w dobrym kierunku. Możesz prawdopodobnie dowiedzieć się więcej, patrząc na their Javascript, , ale został minified, więc jest to trochę trudne do odczytania (AKTUALIZACJA: znaleziono unminified js). Budują na YUI, ale kod jest całkiem prosty.
@tghw: Czy wiesz, jak skutecznie odczytać plik js? Prowadzę w trybie wizualnym Vima "=" dla indendacji, ale nie jestem zadowolony z wyniku. –
Nie, ale znalazłem adres URL pełnego, niesklasyfikowanego JS. Zaktualizowałem powyższy link. – tghw
@tghw: Dziękujemy za aktualizacje! --- Z którego narzędzia korzystałeś, aby znaleźć nowy link? --- Nie znalazłem najnowszego pliku .js -file autorstwa Firefug. –