Google CSE: подсчет результата отображения
-
17-09-2020 - |
Вопрос
Я реализовал поиск 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>
.