我们使用谷歌自定义搜索API(付费服务器端API)为我们的搜索结果提供支持。Google Custom Search API自动完成?
我想添加一个自动完成功能的搜索 - 然而,有没有人知道是否有支持(无论是通过服务器端API,还是通过某种客户端JSONP?)
我曾尝试使用Google自定义搜索的自动完成功能,但似乎想要绘制搜索框并显示带有结果的Google广告,而我不想。
我们使用谷歌自定义搜索API(付费服务器端API)为我们的搜索结果提供支持。Google Custom Search API自动完成?
我想添加一个自动完成功能的搜索 - 然而,有没有人知道是否有支持(无论是通过服务器端API,还是通过某种客户端JSONP?)
我曾尝试使用Google自定义搜索的自动完成功能,但似乎想要绘制搜索框并显示带有结果的Google广告,而我不想。
得到这个工作是这样的 - 希望这可以帮助别人:)
$(function() {
$('input.search')
.focus(function() { this.select(); })
.mouseup(function (e) { e.preventDefault(); })
.autocomplete({
position: {
my: "left top",
at: "left bottom",
offset: "0, 5",
collision: "none"
},
source: function (request, response) {
$.ajax({
url: "http://clients1.google.com/complete/search?q=" + request.term + "&hl=en&client=partner&source=gcsc&partnerid={GOOGLESEARCHID}&ds=cse&nocache=" + Math.random().toString(),
dataType: "jsonp",
success: function (data) {
response($.map(data[1], function (item) {
return {
label: item[0],
value: item[0]
};
}));
}
});
},
autoFill: true,
minChars: 0,
select: function (event, ui) {
$(this).closest('input').val(ui.item.value);
$(this).closest('form').trigger('submit');
}
});
});
在(2013年6月),写的时候,是需要有一个自动完成,而仍然得到结果的一种较为容易的方法XML:
<gcse:searchbox-only enableAutoComplete="true" resultsUrl="#"></gcse:searchbox-only>
感谢这段代码,我遇到了一个问题,我不明白。我看到网络请求正常运行,我看到200响应和预期的响应数据,但由于某种原因,成功功能从未被击中。有任何想法吗? – Paul
真棒,为我工作。保罗,如果你没有看到任何建议,那可能是Google对你没有任何帮助。我非常惊讶我的自定义网站搜索提供的建议有多少;我最终在CSE控制面板中手动添加了大量数据。 – jfsaliba
太好了,非常感谢,因为它也适用于我。我唯一的问题是'.ui-helper-hidden-accessible'跨度现在出现在关闭body标签之前。这是可以关闭的东西,而不是使用CSS来隐藏它? – onebitrocket