2011-12-10 8 views
5

Al utilizar CustomSearchControl, el número de páginas de resultados varía según la página que esté viendo. Por ejemplo, ir a this site y la búsqueda de: cocheGoogle CustomSearchControl que muestra enlaces de paginación inconsistentes

En la primera página de resultados, se mostrará enlaces a páginas 3, pero al hacer clic en 2 o 3, que termina en la página 2.

¿Por qué esto sucede, ¿hay alguna solución para esto?

Si es posible obtener el número real de resultados, ¿y construir mi propia paginación?

+0

¿Alguna vez descubrió esto? Me estoy encontrando con el mismo problema tratando de construir mi propia paginación. – AlbertVo

+0

@AlbertVo No encontré una solución para esto. – ofko

Respuesta

1

El motivo es que Google solo calcula cuántos resultados están disponibles. A medida que carga cada página, refina la estimación, por lo que cambia el número de páginas.

Puede verificar la propiedad estimatedResultCount del objeto customSearchControl.searcher.cursor, pero desafortunadamente no le servirá de nada porque es solo la estimación que el CSE usa para generar la paginación misma. (A medida que se cargue cada página, cambiará a la nueva estimación). También hay una propiedad resultCount, pero creo que es para compatibilidad con versiones anteriores, ya que siempre es igual a estimatedResultCount.

Lamentablemente, el CSE tampoco es lo suficientemente inteligente como para recordar su estimación. Entonces puede comenzar con un estimado de 127, ir a la última página y tener 94, luego ir a la penúltima página y tener 120, aunque en ese momento debería saber que no puede ser más de 94. Así que supongo que si realmente quisieras, podrías hacer tu propia paginación que al menos haga un seguimiento del valor mínimo. Parece que generalmente (¿siempre?) En la última página, por lo tanto, si necesita ser lo mejor posible, puede cargar la última página mediante la programación, tomar la estimación para construir su paginación, luego volver a la primera página para el usuario .

Si decide seguir esa ruta, puede crear su propia paginación usando la función customSearchControl.searcher.cursor.gotoPage (página). (https://developers.google.com/web-search/docs/reference#_class_GSearch)

+0

Triste, pero eso es todo lo que puedes hacer :( –

Cuestiones relacionadas