Вопрос

Я реализовал поиск Google Site / Custom Search для моего веб-сайта, и все это работает, и результаты отформатированы и подкатывают штраф.Но это никогда не возвращает количество результатов, которые он нашел так, как вы ищете, когда вы ищете в 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" />
.

Это было полезно?

Решение

Вам нужно будет использовать SearchMpleteCallback и похоронить глубоко в пределах запутанной библиотеки JavaScript, вы найдете свойство оценкиResultCount.Вот быстрый пример, который всплывает предупреждение со количеством.Вы можете адаптировать это, чтобы удовлетворить ваши потребности, используя 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>
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top