Pergunta

Eu tenho implementado o Google site search / pesquisa Personalizado para o meu site e é de todos os que trabalham e os resultados são formatados de paginação e multa.Mas ele nunca retorna uma contagem de quantos resultados encontrados como ele faz quando você pesquisa no Google About 1,660,000 results (0.16 seconds)

Eu estava me perguntando se alguém tinha encontrado nada para fazer isso, eu não consigo encontrar nada lá documentação.

<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" />
Foi útil?

Solução

Você vai precisar usar o SearchCompleteCallback e enterrado profundamente dentro ofuscado biblioteca de javascript, você vai encontrar o estimatedResultCount propriedade.Aqui está um exemplo rápido que aparece um alerta com a contagem.Você pode adaptar isso para atender às suas necessidades usando o jquery para inserir um pouco de html com a contagem em qualquer formato que você quiser.

<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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top