3

Googleカスタム検索の統合には、番号付きのページリンクのみが含まれ、通常のGoogle検索のように次/前のリンクを含める方法が見つかりません。CSEは、以前のiframe統合方法にこれらのリンクを含めるために使用されていました。

4

3 に答える 3

3

私はjavascriptをステップスルーし、探していた文書化されていないプロパティを見つけました。

<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.setSearchCompleteCallback(null, 
        function() { searchCompleteCallback(customSearchControl) });

    customSearchControl.draw('cse');   
}, true);


function searchCompleteCallback(customSearchControl) {

    var currentPageIndex = customSearchControl.e[0].g.cursor.currentPageIndex;

    if (currentPageIndex < customSearchControl.e[0].g.cursor.pages.length - 1) {
        $('#cse .gsc-cursor').append('<div class="gsc-cursor-page">Next</div>').click(function() {
            customSearchControl.e[0].g.gotoPage(currentPageIndex + 1);
        });
    }

    if (currentPageIndex > 0) {
        $($('#cse .gsc-cursor').prepend('<div class="gsc-cursor-page">Previous</div>').children()[0]).click(function() {
            customSearchControl.e[0].g.gotoPage(currentPageIndex - 1);
        });
    }

    window.scrollTo(0, 0);

}
</script>

<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
于 2010-07-21T18:28:44.523 に答える
1

私は現在のページを見つけるためにこれを使用しています:

ctrl.setSearchCompleteCallback(null, function(gControl, gResults)
{
    currentpage = 1+gResults.cursor.currentPageIndex;
    // or, here is an alternate way
    currentpage = $('.gsc-cursor-current-page').text();
});
于 2011-11-09T21:17:24.650 に答える
0

そして今はcustomSearchControl.k[0].g.cursor...(今週末の時点ではそうです)

次回動作が停止したときは、IEのスクリプトデバッグに移動し、customSearchControlをウォッチとして追加し、プロパティ(+)を開き、Type列の下で(Array)を探し、Objectそこにも(+)があることを確認します(つまり、要素)open[0]、、、およびを探しますType Object。これも子要素を使用します。それを開いて、リストに「カーソル」が表示されたら、それを取得します。

于 2011-05-09T13:58:31.940 に答える