Пользовательский поиск Google с пользовательским полем поиска и кнопкой?

Я пытаюсь сделать пользовательский поиск Google (мне просто нужна какая-то поисковая система на моем сайте), и мне нужно сделать так, чтобы я мог использовать собственное окно поиска (поле ввода). Мне нужно, чтобы он был точного размера. Я также должен иметь возможность сделать свою собственную кнопку для поиска. Мне нужно будет изменить размер и фон кнопки поиска. Я еще не совсем уверен, но на самом деле мне может понадобиться регулярное img.

Кто-нибудь знает, как это сделать?

Если вы не можете сделать это с помощью Google, знаете ли вы другой способ сделать это?

Если нет другого способа, кроме использования собственной поисковой системы, могу ли я получить ссылку на очень упрощенный учебник о том, как сделать свой собственный. Я готов внести дополнительную работу, чтобы учиться, но я немного потрудился, и, посмотрев на три разные вещи, я сдался, потому что они были очень длинными и запутанными. Надеюсь, я просто искал неправильные места.

Ответы

Ответ 1

Вот тот, который я использую, вам просто нужно добавить некоторые стили в <input id='q', который является полем поиска, а < 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

Ответ 2

Для гуглеров, которые ищут решение с новыми параметрами "Overlay Results" в разделе "Look and Feel". Я использовал ВАС ответ и добавил некоторые незначительные хаки, чтобы заставить его работать. Основная идея - получить код, который Google дает вам, скрыть поле и кнопку поиска 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>

Ответ 3

ge stackoverflow,

проблема действительно заставила меня загореться достаточно, чтобы сделать мини-прогулку - если вы пытаетесь настроить бар v2, имея дело с плоским шпигоном, просто хотите, чтобы шпионский режим работал, хотите заменить пользовательский бар в целом с помощью v2, поиск и определение используемых стилей и их переопределение. Надеюсь, поможет! http://t.co/9nvx2l0DeD @eb_p1

длинный адрес: http://eburnett.hubpages.com/hub/googlecustomsearchenginev2