作者clonn (clonn)
看板Ajax
標題[討論] 實做立即搜尋
時間Fri Sep 17 03:37:09 2010
今天突然看到有人實做youtube 的立即搜尋,
經過來回查看之後,自己也沒有想太多,就模擬了一個demo
(code & html 都沒有調整就直接寫)
網址:
http://clonn.byethost24.com/
因為資料取自 知識+ API
Javascript library使用 YUI3
感覺上幾乎都是Key event綁定。
想跟大家討論一下,如果真的要實做instant 效果。
不知道後端和前端要做什麼樣的調校!??
感覺是一個蠻有趣的議題,希望寫這個東西引起大家興趣討論。
--
猜透女生的心意,比處理別人的bug還難
To guess girls' thought is more difficult than debug.
<<
http://clonn.blogspot.com/ >>
噗
http://www.plurk.com/clonn 浪
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.184.5.198
1F:→ xam:這個翻譯不是很好... QQ 09/17 11:55
3F:→ tomin:主要是資料的讀取更頻繁 看回應的方式有什麼要調整? 09/17 15:28
4F:→ clonn:所以你的方式,並不是key press??? 09/17 18:27
5F:推 tomin:是啊 不然還能怎麼做.. 09/17 22:08
6F:→ clonn:可是感覺key press 蠻浪費資源的XD,正在想其他解法 09/18 01:34
7F:推 shadowjohn:每2~3秒檢查一次啊~如果值不一樣再查詢讀取 09/18 01:35
8F:→ shadowjohn:當然你也可以 key press 之後才啟動 timer ~ 09/18 01:37
9F:→ shadowjohn:每key press 一次,就把 timer count down 設回預設 09/18 01:38
10F:推 tomin:有timer就不及時了 應該是值有改變就要讀取 09/18 02:07
11F:→ tomin:不過可以試試只送3秒內最新的查詢 若3秒內只有一筆就不取消 09/18 02:08
12F:→ tomin:若是多筆 就取消之前的讀取 09/18 02:09
13F:→ tomin:要可以取消 意味著查詢有delay 沒馬上送出 09/18 02:10
14F:→ clonn:目前程式有更改,採用timer的方式處理。 09/18 03:59
15F:→ clonn:request 變少了,會慢嗎?肉眼似乎感覺不出來XD 09/18 03:59
16F:→ clonn:啟動timer,一樣使用key press!程式碼內詳! 09/18 04:00
17F:→ clonn:剛剛測試了一下chrome、Fx、IE,都可以正常執行,太好了:D 09/18 04:02
18F:推 IDL:這又沒很難 也可以流行 09/18 11:57
19F:→ tomin:觸碰螢幕也不難啊 技術以前就有了 最近才流行 時機對了 09/18 12:47
20F:→ TonyQ:對ie7 來講好像並不立即 ...XD 09/18 13:15
21F:→ TonyQ:話說 key press 只要偵測上一個查詢的字不是同一個字,其實 09/18 13:15
22F:→ TonyQ:就還好,畢竟所謂立即就是用資源換時效。 09/18 13:15
23F:→ clonn:嗯!~不過就要一直request,感覺不好!!正在想其他方式 09/18 18:21
24F:→ TonyQ:你也可以給一個 buffer time啦 :~ 09/18 18:27
25F:→ TonyQ:如果他隔0.5秒沒繼續輸入再查之類的 09/18 18:28
26F:→ TonyQ:這可以很簡單的用一個變數來作到 09/18 18:28
27F:→ clonn:目前是用這樣的方式實做,不過相對的buffer timer就不即時了 09/18 21:56
28F:→ TonyQ:要即時有要query少,除非你猜得到使用者的輸入預先抓一堆XD 09/19 00:24
29F:→ clonn:那就稱為預知搜尋,真是個偉大的發明! 09/19 13:07