1

我已经为我的网站实施了谷歌网站搜索/自定义搜索,一切正常,结果格式化和分页正常。但它永远不会像您在 Google 上搜索时那样返回找到的结果数量About 1,660,000 results (0.16 seconds)

我想知道是否有人找到任何可以做到这一点的东西,我在文档中找不到任何东西。

<div id="cse" style="width: 100%;">Loading</div>
        <script src="http://www.google.com/jsapi" type="text/javascript"></script>
        <script type="text/javascript">
            google.load('search', '1', {language : 'en'});
            google.setOnLoadCallback(function() {
                var customSearchControl = new google.search.CustomSearchControl('GOOGLEIDGOESHERE');
                customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
                customSearchControl.setNoResultsString("No results found.")
                customSearchControl.draw('cse');   
            }, true);
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
4

1 回答 1

2

您将需要使用 SearchCompleteCallback 并将其深埋在经过混淆的 javascript 库中,您将找到estimatedResultCount 属性。这是一个快速示例,它会弹出带有计数的警报。您可以通过使用 jquery 以您喜欢的任何格式插入一些带有计数的 html 来定制它以满足您的需求。

<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">

google.load('search', '1', {language : 'en'});
google.setOnLoadCallback(function() {
    var customSearchControl = new google.search.CustomSearchControl('GOOGLEIDGOESHERE');
    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    customSearchControl.setNoResultsString("No results  found.")
    customSearchControl.setSearchCompleteCallback(null, 
        function() { searchCompleteCallback(customSearchControl) });

    customSearchControl.draw('cse');   
}, true);


function searchCompleteCallback(customSearchControl) {

  alert(customSearchControl.e[0].g.cursor.estimatedResultCount);

}
</script>
于 2010-07-21T18:21:10.923 回答