Frage

Ich habe die Google-Site-Suche/benutzerdefinierte Suche für meine Website implementiert und alles funktioniert und die Ergebnisse sind formatiert und das Seitensystem ist in Ordnung.Es gibt jedoch nie eine Zählung der gefundenen Ergebnisse zurück, wie dies bei einer Suche auf Google der Fall wäre About 1,660,000 results (0.16 seconds)

Ich habe mich gefragt, ob jemand etwas dazu gefunden hat. Ich kann in der Dokumentation nichts finden.

<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" />
War es hilfreich?

Lösung

Sie müssen SearchCompleteCallback verwenden und tief in der verschleierten Javascript-Bibliothek vergraben finden Sie die Eigenschaft „estimatedResultCount“.Hier ist ein kurzes Beispiel, bei dem eine Warnung mit der Zählung angezeigt wird.Sie können dies an Ihre Bedürfnisse anpassen, indem Sie mit jquery etwas HTML mit der Anzahl in einem beliebigen Format einfügen.

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top