我們使用谷歌自定義搜索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