【问题标题】:Google CustomSearchControl showing inconsistent pagination linksGoogle CustomSearchControl 显示不一致的分页链接
【发布时间】:2011-12-10 19:43:45
【问题描述】:

使用 CustomSearchControl 时,结果页面的数量会根据您正在查看的页面而有所不同。例如,转到this site 并搜索:汽车

在第一个结果页面上,它将显示指向 3 个页面的链接,但是当您单击 2 或 3 时,它会在第 2 页结束。

为什么会发生这种情况,是否有解决方法?

如果可以得到实际的结果数量,并建立自己的分页?

【问题讨论】:

  • 你有想过这个吗?我在尝试建立自己的分页时遇到了同样的问题。
  • @AlbertVo 我没有找到解决方案。

标签: javascript google-custom-search


【解决方案1】:

原因是谷歌只估计有多少结果可用。当您加载每个页面时,它会优化估计值,因此页面数会发生变化。

您可以检查 customSearchControl.searcher.cursor 对象的estimatedResultCount 属性,但不幸的是它对您没有帮助,因为这只是CSE 用来生成分页本身的估计值。 (当每个页面加载时,它会更改为新的估计值。)还有一个 resultCount 属性,但我相信它是为了向后兼容,因为它总是等于estimatedResultCount。

不幸的是,CSE 也不够聪明,无法记住它的估计。因此,您可以从 127 的估计值开始,到最后一页并设置为 94,然后转到倒数第二页并设置为 120,即使此时它应该知道它不能超过 94。所以我想如果你真的想要,你可以制作自己的分页,至少跟踪最小值。似乎通常(总是?)在最后一页上,所以如果它需要尽可能好,您可以以编程方式加载最后一页,进行估计来构建分页,然后切换回用户的第一页.

如果您决定走这条路,您可以使用 customSearchControl.searcher.cursor.gotoPage(page) 函数构建自己的分页。 (https://developers.google.com/web-search/docs/reference#_class_GSearch)

【讨论】:

  • 伤心,但这是你能做的:(
猜你喜欢
  • 2012-07-30
  • 2017-12-01
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多