Соответствие префиксов в реальном времени и автозаполнение в Quora - PullRequest
5 голосов
/ 19 октября 2011

Как в Quora реализовано автозаполнение в реальном времени с сопоставлением префиксов?

Поскольку Solr и Sphinx не поддерживают обновление в режиме реального времени, какие изменения были внесены для поддержки обновления в реальном времени?

1 Ответ

1 голос
/ 28 октября 2011

Похоже, это сделано с использованием javascript и jquery.Я взял несколько ключевых строк из уменьшенного скрипта на домашней странице Quora, которые, как мне кажется, поддерживают эту теорию:

Вот вызов ajax ресурса, предоставляющего данные JSON:успешный результат помещается в переменную "a".Позже вот автозаполнение, основанное на keydown элемента «question_box», который завершается из родительского элемента «a»

this.$ ("#@item input.question_box").keydown (ƒ (b) {
if (b.keyCode==9&&!b.shiftKey)for (var c=e.getLiveDomId (a.cid),d=a.parent ().orderedVisibleChildren (),f\^M=0;f<d.length-1;++f)if (c==d [f]) {
$ (this).blur (),$ ("#"+d [f+1]+" input.question_box").focus ();return!1}
})

Я думаю, что это довольно неопровержимо, но было бы неплохо иметьне минимизированный скрипт для сравнения.Например, я не вижу, откуда берется resultQueryPath (я не могу найти его источник, возможно, он намеренно запутан).

...