Как внедрить Google Suggest в собственном веб-приложении (например, с использованием Python) - PullRequest
9 голосов
/ 01 ноября 2008

На моем сайте пользователи могут хранить ссылки.

Во время ввода интернет-адреса в указанном поле я хотел бы отобразить окно подсказки / автозаполнения, подобное Google Suggest или Chrome Omnibar.

Пример:

Пользователь печатает как URL:

http://www.sta

Предложения, которые будут отображаться:

http://www.staples.com
http://www.starbucks.com
http://www.stackoverflow.com

Как мне этого добиться, не изобретая велосипед? :)

Ответы [ 5 ]

7 голосов
/ 01 ноября 2008

Вы можете попробовать с http://google.com/complete/search?output=toolbar&q=keyword

и затем проанализируйте результат xml.

2 голосов
/ 01 ноября 2008

Я делал это однажды на сервере Django. Есть две части - на стороне клиента и на стороне сервера.

На стороне клиента вы должны будете отправлять запросы XmlHttpRequest на сервер, когда пользователь печатает, а затем, когда информация возвращается, отображать ее. Эта часть потребует приличного количества javascript, включая некоторые хитрые части, такие как обратные вызовы и обработчики нажатий клавиш.

На стороне сервера вам придется обрабатывать запросы XmlHttpRequest, которые будут содержать то, что пользователь уже набрал. Как URL-адрес

www.yoursite.com/suggest?typed=www.sta

, а затем ответьте предложениями, закодированными каким-либо образом. (Я бы порекомендовал JSON-кодировку предложений.) Вы также должны получить предложения из своей базы данных, это может быть просто простой вызов SQL или что-то еще, в зависимости от вашей среды.

Но серверная часть довольно проста. Думаю, клиентская часть сложнее. Я нашел эту статью полезной

Он пишет вещи на php, но работа на стороне клиента почти такая же. В частности, вам может пригодиться его CSS.

1 голос
/ 18 марта 2009

Yahoo имеет хорошее управление автозаполнением .

Здесь есть образец . .

Очевидно, что это не поможет вам в получении данных, но похоже, что у вас есть собственный источник, и вы на самом деле не хотите получать данные от Google.

0 голосов
/ 18 марта 2009

Этот элемент управления часто называют словом wheel. В MSDN недавно было прохождение при написании LINQ. Есть два критических аспекта: отложенное выполнение и отложенная оценка. В статье также есть исходный код.

0 голосов
/ 01 ноября 2008

Если вы хотите, чтобы автозаполнение использовало дату из вашей собственной базы данных, вам нужно выполнить поиск самостоятельно и обновить предложения, используя AJAX в качестве типа пользователя. Для части поиска вы можете посмотреть Lucene .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...