2011-12-10 11 views
5

CustomSearchControlを使用すると、表示されているページによって結果ページの数が異なります。例えば、this siteに移動し、を検索:ないのはなぜ車Google CustomSearchControlが一貫性のないページリンクを表示しています

最初の結果ページでは、それは3ページへのリンクが表示されますが、あなたは2または3をクリックしたとき、それは2ページ

で終了しますこれが起こり、これを回避する方法がありますか?

結果の実際の数を取得し、私自身のページネーションを構築することが可能な場合は、

+0

これはあなたがこれを理解しましたか?私は自分のページネーションを構築しようとすると同じ問題に遭遇しています。 – AlbertVo

+0

@AlbertVoこれに対する解決策は見つかりませんでした。 – ofko

答えて

1

Googleは、利用可能な結果の数を推定するだけです。各ページを読み込むと見積もりが改善され、ページ数が変更されます。

customSearchControl.searcher.cursorオブジェクトのestimatedResultCountプロパティを確認することはできますが、残念ながら、これはCSEがページネーション自体を生成するために使用する見積もりに過ぎないため、お役に立てません。 (各ページがロードされると、新しい見積もりに変更されます)。resultCountプロパティもありますが、それは常にestimatedResultCountと等しいので、下位互換性のためです。

残念ながら、CSEは見積もりを覚えているほどスマートではありません。だから、推定値127で始まり、最後のページに行き、それを94にしてから、2番目から最後のページに移動して120にすることができます。あなたは本当に最小限の価値を追いかける独自のページネゴシエーションを作ろうと思っていたのでしょうか?最後のページには一般的に(常に?)表示されるので、できるだけ良いものにする必要がある場合は、プログラムで最後のページを読み込み、見積もりを行ってページングを作成してから、ユーザーの最初のページに戻ります。

このルートに進む場合は、customSearchControl.searcher.cursor.gotoPage(page)関数を使用して独自のページネーションを作成できます。 (https://developers.google.com/web-search/docs/reference#_class_GSearch

+0

悲しいことですが、それはあなたができるすべてです:( –

関連する問題