2010-09-12 65 views
0

Google和Bing的自動完成如何工作?Google和Bing的自動完成功能如何工作?

當我使用螢火蟲時,我看不到XHR的。在那種情況下,數據是如何檢索的?

+2

(其中在Firebug的「全部」選項卡中顯示出來)使用Chrome開發者工具加載新的數據,我看到很多XHR的運行使用谷歌的自動完成時... – adamk 2010-09-12 15:08:58

回答

4

XHR被限制在與源請求相同的域中,而Google和Bing使用單獨的域來爲其動態內容提供服務。

相反,它們動態地加入<script>標籤頁面

+0

謝謝。你知道他們爲什麼使用不同的域名嗎? – 2010-09-12 15:12:53

+0

@Matt H,我不確定,但可能當你每秒提供的搜索量大概是google或者bing時,你需要多個服務器,並且它們與不同的域分離。這是我的猜測! – jolt 2010-09-12 15:16:15

+1

我不會猜測Google和Bing的基礎設施需求;) – Gareth 2010-09-12 15:16:41

3

他們創建<script>指向返回Javascript的URL,這些URL調用帶有自動完成結果的函數。 (類似於JSONP

您可以在Firebug的Net選項卡中看到請求。