Google Suggest: как они это делают?

SergZ

Достаточно интересная штука:
http://www.google.com/webhp?complete=1&hl=en
Как они подгружают варианты запросов?

SergZ

Хех, даже заголовок такой же %]
А XmlHttpRequest забавная вещь.

Chupa

маза

Chupa

не, не маза
на "в" веселее

karkar

Еще


SergZ

Английский нормально, русский они видимо еще не отлаживали.

evgen5555

Наркоманы!

yolki

ыщещмшлюкг=sotovik.ru
ызнище=spybot
ыуч=sex
ыекуфьюкг=stream.ru

SergZ

ыва=sdf
ыы=ss
ыв=sd

evgen5555

ызнище=spybot
Круто!

koly

а радуются так, как будто direct.yandex.ru никогда не видели

ifani

Суть-то совсем не в этом....
Как видишь, на страничке этих слов нет, да и в кэше ты их тоже не найдешь.
И страничка не обновляется после каждого твоего нажатия - яваскрипт отправляет запросы на сервер (скорее всего, к Яве) и отображает результат - это же просто супер (и скорость впечатляет) :о)
А кто-нить пробывал туда зайти не под IE?

sergey_m

А кто-нить пробывал туда зайти не под IE?
Под Mozilla работает.

ifani

Web Remoting. This technique allows JavaScript to call server side Java Programs without requiring a FULL ROUND TRIP. Direct Web Remoting (DWR as it is called) is a simple servlet plugin that allows you to expose selected Java methods directly via JavaScript.
Google suggest uses similar technology. Try typing any letter or word in the search box and wait for a second.
DWR makes writing dynamic web pages that interact with a server (like GMail) easier and simplifies server-side coding.
DWR is licenced under LGPL.

ifani

а за линк спасибо

koly

Но ведь чуваки то угарают не от этого, а от того, какие слова выпадают .
Выпадающий список точно также был уже давно реализован в gmail.com при выборе адресата, а здесь точно стоит тот же самый javascript движок, поэтому это уже не новость.

evgen5555

поэтому это уже не новость.
Для кого как. Яндекс со своей &бучей рекламой уже порядком задрал.

voronina

хе, забавно, они еще могут исполнять код javascript на клиенте, какой с сервера придет по тому же каналу что и xml,
причем в кэше браузера этот код не останется.
	k.open("GET",sa+"&js=true&qu="+Rb,true);
k.onreadystatechange=function
{
if(k.readyState==4 && k.responseText)
{
var frameElement=B;
if(k.responseText.charAt(0)=="<")
{
W--
}
else
{
[b]eval(k.responseText)[/b]
}
}
};
Оставить комментарий
Имя или ник:
Комментарий: