1

私は自分のウェブサイトにGoogleサイト検索/カスタム検索を実装しましたが、すべて機能しており、結果はフォーマットされ、ページングは​​正常です。ただし、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 に答える