5
A
回答
1
看起來好像是用javascript和jquery完成的。我一把抓起對Quora的網頁,我認爲縮小的腳本的幾個關鍵線支持這一理論:
這裏有一個AJAX調用的資源提供JSON數據:
$.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)})})}
注意,成功的結果被放進入「a」變量。再後來這裏是基於「question_box」元素是從父完成的keydown自動完成「一」
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}
})
我認爲這是相當不容置疑的,但它仍然會是不錯的非縮小腳本進行比較。例如,我看不到resultsQueryPath來自哪裏(我找不到它的來源,可能是故意混淆)。
相關問題
- 1. 前綴匹配的jquery自動完成
- 2. rich:自動完成前綴
- 3. 用於前綴匹配的自動機
- 4. jquery自動完成匹配
- 5. NSTextView:自動完成「。」 - 前綴字
- 6. MySQL的最佳實踐:匹配前綴
- 7. 自動完成不匹配的結果
- 8. Yii從詞的自動完成匹配
- 9. Algolia前綴匹配
- 10. jquery ui自動完成匹配
- 11. jQuery UI自動完成部分匹配
- 12. jQuery的匹配前綴window.location.pathname
- 13. 具有匹配前綴的自動映射器映射屬性
- 14. 完成建議 - 混合前綴建議和非前綴建議
- 15. 最長前綴匹配
- 16. 前綴匹配/ trie for Java?
- 17. Elasticsearch前綴精確匹配
- 18. 如何匹配Elasticsearch中的前綴
- 19. (Axis + Jetty)前綴自動生成的前綴命名空間
- 20. Elasticsearch自動完成 - 從點和空白完成建議匹配輸入
- 21. 如何匹配通過已知的前綴和後綴以JavaScript
- 22. 當沒有匹配時隱藏icefaces自動完成列表
- 23. 如何在redis中實現密鑰的前綴匹配?
- 24. 在PHP中匹配字符串前綴
- 25. jQuery自動完成以找到完全匹配
- 26. Symfony3提前/自動完成
- 27. 通過完全匹配命令全文搜索然後前綴匹配
- 28. jQuery UI自動完成如何在現有設置中實現必須匹配?
- 29. 字符串匹配中的前綴與後綴Trie
- 30. Trie最長的前綴匹配
這就是主要問題......結果如何被放入「a」變量,客戶端自動完成沒有什麼大不了的,當你有一小組結果。我的問題是關於後端實時前綴匹配。 – r15habh
啊我看到你在什麼,好點。我認爲Quora有大約20萬個問題,而且這些問題不能全部加載到客戶端。我不在Quora工作,所以我不能真正推測。 – jpredham