Google CSE - 重定向到包含结果的网页的搜索框

时间:2012-05-07 23:56:08

标签: javascript google-custom-search

我对谷歌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自定义搜索控件。这就是为什么这个片段可能会位于搜索结果页面中,例如: G。 www.site.com/search.html

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

我该怎么做?

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

2 个答案:

答案 0 :(得分:0)

谷歌搜索的工作原理是从URL参数获取搜索查询。您只需创建一个表单,将获取参数发布到结果页面。您的搜索字段的名称需要与网址栏中的名称相匹配,例如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>

答案 1 :(得分:0)

这里有一些对我有用的东西。 (如果我理解你的Q)

             

src =“https://www.google.com/jsapi”&gt;                .........

  customSearchControl.draw('google_search');

   <? if (isset($keyword)) { ?>     
     customSearchControl.execute('<?=$keyword?>'); <? } ?>    
   }
google.setOnLoadCallback(OnLoad);
</script>