带自定义搜索框和按钮的Google自定义搜索?

时间:2010-02-01 01:29:56

标签: input google-search google-custom-search

我正在尝试进行Google自定义搜索(我只需要在我的网站上使用某种搜索引擎),我需要制作它以便我可以使用自己的搜索框(输入字段)。我需要它的大小。我还需要能够自己创建按钮进行搜索。我将需要能够更改搜索按钮的大小和背景。我还不完全确定,但我可能真的需要它成为一个普通的img。

有谁知道怎么做?

如果您无法通过Google执行此操作,您知道其他方法吗?

如果除了使用自己的搜索引擎之外没有别的办法,我可以获得一个关于如何制作自己的简化教程的链接。我愿意付出额外的工作来学习,但我尝试了一下,在看了三个不同的啧啧之后,我放弃了,因为它们非常漫长而令人困惑。我希望我只是在错误的地方寻找。

3 个答案:

答案 0 :(得分:19)

以下是我正在使用的内容,您只需要将一些样式添加到<input id='q'这是搜索框,&lt; input value='MyButton'是点击按钮

<!-- Google CSE Search Box Begins  -->
<center>
<form id="searchbox_XXXXXXXXXX:YYYYYYYYY" action="http://myblog">
  <input value="XXXXXXXXXX:YYYYYYYYY" name="cx" type="hidden"/>
  <input value="FORID:11" name="cof" type="hidden"/>
  <input id="q" style="width:600px;" name="q" size="75" type="text"/>
  <input value="MyButton" name="sa" type="submit"/>
</form>
</center>
....

编辑:以上是我2010年的回答,我无法确认它是否正常工作,但这是一个有效的。

<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('XXXXXXXXXXXXXXXX:YYYYYYYYYYYYYY');
    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    var options = new google.search.DrawOptions();
    options.setAutoComplete(true);
    customSearchControl.draw('cse', options);
  }, true);
</script>

有关详情,请参阅https://developers.google.com/custom-search/docs/js/cselement-devguide

答案 1 :(得分:18)

对于正在寻找具有“外观和感觉”下的新“覆盖结果”选项的解决方案的Google员工。我使用了你的答案并添加了一些小工具来使它工作。基本的想法是获取谷歌给你的代码,隐藏谷歌的搜索框和按钮,并使用正确的XXXXX:YYYY代码使用你的答案。隐藏<gcse:search></gcse:search>"时请勿使用display:none,否则搜索结果将无效。

<script>
    (function() {
    var cx = 'XXXXXXXXXX:YYYYYYYYY';
    var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();
</script>
<div style="width:0px;overflow:hidden;height:0px;"> <!-- if you use display:none here, it doesn't work-->
    <gcse:search></gcse:search>
</div>
<form id="searchbox_XXXXXXXXXX:YYYYYYYYY" action="">
    <input value="XXXXXXXXXX:YYYYYYYYY" name="cx" type="hidden"/>
    <input value="FORID:11" name="cof" type="hidden"/>
    <input id="q" style="" name="q" size="75" type="text"/>
    <button class="btn">Search</button>
</form>

答案 2 :(得分:0)

ge stackoverflow,

这个问题确实让我激动了做一个迷你漫步 - 如果你想设置一个v2吧,处理平板望远镜,只是想让望远镜工作,想要更换自定义栏完全使用v2,查找和定位使用的样式并覆盖它们。希望能帮助到你! http://t.co/9nvx2l0DeD @ eb_p1

长地址:http://eburnett.hubpages.com/hub/googlecustomsearchenginev2