Respuesta

1

Parece que está hecho usando javascript y jquery. Agarré unas pocas líneas clave de la secuencia de comandos minified en la página principal Quora que creo que apoyan esta teoría:

Aquí hay una llamada AJAX a un recurso que proporciona JSON datos:

$.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)})})} 

nota de que el resultado exitoso se puso en la variable "a". Luego, más tarde aquí está la terminación automática basada en la keydown del elemento "question_box", que está terminando de los padres de "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} 
}) 

creo que esto es bastante indiscutible, pero aún así sería bueno tener la ONU guión minificado para comparar. Por ejemplo, no puedo ver de dónde viene el resultadoQueryPath (no puedo encontrar su origen, puede estar ofuscado intencionalmente).

+0

Esa es la pregunta principal ... cómo se pone el resultado en la variable "a", la autocompleta del lado del cliente no es gran cosa cuando tienes un pequeño conjunto de resultados. mi pregunta es sobre la coincidencia de prefijos en tiempo real en back-end. – r15habh

+0

Ah, veo a lo que te refieres, buen punto. Creo que Quora tiene alrededor de 200,000 preguntas y que no todas podrían cargarse del lado del cliente. No trabajo en Quora, así que no puedo especular. – jpredham