2

如何在我的 Google 自定义搜索框的付费版本中输入占位符或值?

我尝试使用 Google 提供的普通 API 脚本插件,如下所示:

<h5>SEARCH ON THIS SITE</h5></h6>
<div id="cse-search-form" style="width: 100%;">Loading ...</div>

<script type="text/javascript">
    google.load('search', '1', {language : 'en'});
    google.setOnLoadCallback(function() {
        var customSearchOptions = {};
        var imageSearchOptions = {};
        imageSearchOptions['layout'] = google.search.ImageSearch.LAYOUT_CLASSIC;
        customSearchOptions['enableImageSearch'] = true;
        customSearchOptions['imageSearchOptions'] = imageSearchOptions;  
        var customSearchControl = new google.search.CustomSearchControl(
        '312312312313123321312231:9cjokpdtmuaey', customSearchOptions);
        customSearchControl.setResultSetSize(
            google.search.Search.FILTERED_CSE_RESULTSET);
        var options = new google.search.DrawOptions();
        options.enableSearchboxOnly("search.htm");
        customSearchControl.draw('cse-search-form', options);
    }, true);
</script>

我发布的代码中是否有任何可见的错误?

我在这里的表格上找到了一个类似的问题,但是答案并没有解决我的问题:

4

1 回答 1

0

这是解决方案:

  <div id="cse-search-form" style="width:100%;"></div>
  <script src="http://www.google.com/jsapi" type="text/javascript"></script>
  <script type="text/javascript">
    google.load('search', '1', {language : 'en', style : google.loader.themes.SHINY});
    google.setOnLoadCallback(function() {
      var customSearchOptions = {};  var customSearchControl = new google.search.CustomSearchControl(
        'XXXXXXXXXXXXXXXXXXXXX:xxxxxxxxxxx', customSearchOptions);
      customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
      var options = new google.search.DrawOptions();
      options.setSearchFormRoot('cse-search-form');
      customSearchControl.draw('cse', options);
      customSearchControl.setSearchCompleteCallback(this,function(){
        jQuery('#main').hide();
        jQuery('#cse').show();
        var query = jQuery('input.gsc-input').val();
        jQuery('#cse:not(.processed)').prepend('<h1 id="page-title" class="title"><span class="left">Search</span>:<span class="right"></span></h1>').addClass('processed');
        jQuery('#cse .right').html(' ' + query);
      });
        jQuery('input.gsc-input:not(.placeholder)').val('Search').addClass('placeholder');
        // Focus on search box block.
        jQuery('input.gsc-input').bind('focus', function(){
         if (jQuery(this).val() == 'Search'){
        jQuery(this).val('');
         }
         }).bind('blur', function(){
           if (jQuery(this).val() === ''){
          jQuery(this).val('Search');
           }
        });
    }, true);
  </script>
于 2012-11-30T15:39:53.803 回答