В каждом абзаце (<p>
) указывается ID (cn0, cn1,
и т. Д.) И класс (cn
). Это единственная часть системы комментариев, оказанная рядом с текстом. Также на странице находится div
, которая действует как всплывающее окно, которое также содержит форму комментария.
Остальное сделано с помощью Javascript. Когда страница загружается, они отправляют запрос AJAX назад, чтобы получить номер и местоположение всех комментариев в документе. Это выглядит следующим образом:
[[0,4],[3,2],...]
При этом он добавляет div
на полях с речевым пузырем и количество комментариев к этой линии.
Когда вы нажимаете на пузырьки, инициируется другой запрос AJAX, чтобы получить комментарии к этому пузырьку. В этом случае они отправляют фактический HTML для визуализации вместо объекта JSON, как раньше.
На бэкэнд (это все догадки сейчас) они связывают каждый набор комментариев с документом и местоположением в этом документе (это позволяет им сразу отображать все комментарии для документа). Я бы, вероятно, использовал встроенное приложение комментариев для этого, и либо упакую оба элемента в один внешний ключ, создав модель для привязки документа и местоположения, либо путем подклассификации самой модели комментария.
Надеюсь, что это поможет вам в правильном направлении. Вы, вероятно, можете узнать больше, посмотрев на their Javascript, , но он был уменьшен, поэтому немного трудно прочитать (UPDATE: найден unminified js). Они строят на YUI, но код довольно прямолинейный.
@tghw: Вы знаете, как сделать js -file доступным для чтения эффективно. Я запускаю визуальный режим Vim «=» для подписи, но я не доволен результатом. –
Нет, но я нашел URL полного, незавершенного JS. Я обновил ссылку выше. – tghw
@tghw: Спасибо за обновления! --- Какой инструмент вы использовали для выяснения новой ссылки? --- Я не нашел новый .js -файл Firefug. –