문제

내 웹 사이트에 대한 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" />
.

도움이 되었습니까?

해결책

SearchCompleteCallback을 사용하고 난독 화 된 JavaScript 라이브러리 내에서 깊이 묻혀야하므로 exposedResultCount 속성을 찾을 수 있습니다.카운트로 경고를 팝업하는 빠른 예제가 있습니다.jQuery를 사용하여 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