cevap

1

Javascript ve jquery kullanılarak yapıldığı anlaşılıyor. Başarılı sonuç koymak alır o

$.ajax({type:"GET",url:this.resultsQueryPath,dataType:"json",data:a,success:this.fnbind(ƒ(a){this.ajaxCallback(a)}),error:this.fnbind(ƒ(a,b,c){console.log(b,c),this.requestOutstanding=!1,this.$("#@results_shell").html("Could not retrieve results: "+b)})})} 

notu: Burada

JSON verilerini sağlayan bir kaynağa ajax çağrısı: Ben düşünüyorum Quora ana sayfasında minified komut birkaç önemli çizgiler bu teoriyi destekleyen yakaladı "a" değişkenine. Ardından daha sonra buradan ebeveynden üzeredir "question_box" öğesinin keydown dayalı otomatik tamamlama var "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} 
}) 

ben bu oldukça götürmez olduğunu düşünüyorum, ama yine de un- olması güzel olurdu karşılaştırmak için minimize edilmiş betik. Örneğin resultsQueryPath'in nereden geldiğini göremiyorum (kaynağını bulamıyorum, kasıtlı olarak gizlenmiş olabilir).

+0

Asıl soru şu ki ... "a" değişkenine nasıl sonuç konulur, sonuçta küçük bir sonuç kümesine sahip olursanız, istemci tarafındaki otomatik tamamlama çok da önemli değildir. Benim sorum arka uçta gerçek zamanlı önek eşleme ile ilgili. – r15habh

+0

Ah, neye gittiğini görüyorum, iyi nokta. Bence Quora'nın 200.000 civarında soruları var ve bunların hepsi istemci tarafında yüklenemedi. Quora'da çalışmıyorum, bu yüzden gerçekten spekülasyon yapıyorum. – jpredham