独自のWebアプリケーションにGoogleサジェストを実装する方法(Pythonを使用するなど)

StackOverflow https://stackoverflow.com/questions/255700

質問

私のウェブサイトでは、ユーザーはリンクを保存することができます。

指定されたフィールドにインターネットアドレスを入力している間、GoogleサジェストまたはChromeオムニバーに似た提案/オートコンプリートボックスを表示したいと思います。

例:

ユーザーはURLとして入力しています:

http://www.sta

表示される提案:

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

車輪を再発明しないでこれを達成するにはどうすればよいですか? :)

役に立ちましたか?

解決

で試すことができます http://google.com/complete/search?output=toolbar&q=keyword

そしてxmlの結果を解析します。

他のヒント

これは、以前Djangoサーバーで1回実行しました。クライアント側とサーバー側の2つの部分があります。

クライアント側では、ユーザーが入力しているときにXmlHttpRequestsをサーバーに送信し、情報が戻ってきたら表示する必要があります。この部分には、コールバックやキープレスハンドラーなどのトリッキーな部分を含む、かなりの量のJavaScriptが必要です。

サーバー側では、ユーザーがこれまでに入力した内容を含むXmlHttpRequestsを処理する必要があります。のURLのような

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

次に、何らかの方法でエンコードされた提案で応答します。 (提案をJSONエンコードすることをお勧めします。)また、データベースから提案を実際に取得する必要があります。これは、単純なSQL呼び出しまたはフレームワークに応じて何か他のものである可能性があります。

しかし、サーバー側の部分は非常に単純です。クライアント側の部分は複雑です。この記事が役立つ

彼はphpで物事を書いていますが、クライアント側の作業はほとんど同じです。特に、彼のCSSが役立つと思うかもしれません。

Yahooには、優れたオートコンプリートコントロールがあります。

サンプルがあります

これは明らかにデータを取得するのに役立ちませんが、独自のソースを持ち、実際にGoogleからデータを取得しようとしているようです。

オートコンプリートで独自のデータベースの日付を使用する場合は、自分で検索を実行し、ユーザータイプとしてAJAXを使用して提案を更新する必要があります。検索部分については、 Lucene をご覧ください。

このコントロールは、多くの場合、ワードホイールと呼ばれます。 MSDNには、 LINQ 。遅延実行と遅延評価という2つの重要な側面があります。この記事にはソースコードもあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top