0

伙计们。

我对 Google CSE 手册有点困惑,无法理解它的一些基本功能。

所以,我创建了一个免费的自定义搜索配置文件,我得到的只是唯一的代码片段,这个:

<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 : 'ru', style : google.loader.themes.V2_DEFAULT});
  google.setOnLoadCallback(function() {
    var customSearchOptions = {};
    var googleAnalyticsOptions = {};
    googleAnalyticsOptions['queryParameter'] = 'q';
    googleAnalyticsOptions['categoryParameter'] = '';
    customSearchOptions['googleAnalyticsOptions'] = googleAnalyticsOptions;  var customSearchControl = new google.search.CustomSearchControl(
      '001098741616107095995:xeqdxoqdue8', customSearchOptions);
    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    customSearchControl.draw('cse');
  }, true);
</script>

此代码段在指定的 div 中创建 google 自定义搜索控件。这就是为什么这个片段可能会位于搜索结果页面中的原因,例如 www.site.com/search.html

但我要实现的是我网站每个页面侧边栏中的搜索框。用户无论身在何处都可以在该搜索框中输入搜索查询,然后直接进入结果页面 www.site.com/search.html 等待他的匹配集。

我怎样才能做到这一点?

浏览手册对我没有任何影响,我遗漏了一些东西,但无法弄清楚到底是什么......谢谢!

4

2 回答 2

0

here something that worked for me. ( if I understood correctly your Q )

src="https://www.google.com/jsapi"> .........

  customSearchControl.draw('google_search');

   <? if (isset($keyword)) { ?>     
     customSearchControl.execute('<?=$keyword?>'); <? } ?>    
   }
google.setOnLoadCallback(OnLoad);
</script>
于 2013-05-29T15:06:22.467 回答
0

google 搜索通过从 URL 参数获取搜索查询来工作。您只需要创建一个表单,将获取参数发布到您的结果页面。您的搜索字段的名称需要与 URL 栏中的名称匹配,通常是 aq,例如 www.yoursite.com?q=your+search

<form action="http://www.yoursite.com/resulspage" method="get">
Search: <input type="text" name="q" />
<input type="submit" value="Seacrh" />
</form>
于 2012-07-01T14:44:15.773 回答