Пользовательский поиск 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