搜尋控制容器顧名思義就是用來裝載搜尋功能的容器,
所有搜尋功能的物件都必須放入這個容器中才能運作。
換言之,
Google AJAX Search API最基礎的物件就是搜尋控制容器。
搜尋控制容器目前有兩種物件可以使用,
它們分別是google.search.SearchControl和google.search.SearchForm,
本文將先介紹google.search.SearchControl物件。
google.search.SearchControl是建立搜尋控制容器時,
第一種可以使用的物件。
google.search.SearchControl有許多函式可以幫助我們使用Google公司的搜尋服務,
不過在使用這些函式之前,
必須先建立這個搜尋控制容器物件。
要建立google.search.SearchControl物件,
可以使用下列語法。
var searchControl = new google.search.SearchControl();google.search.SearchControl(searcher,opt_options) 這個函式可以將搜尋器加入搜尋控制容器中。
搜尋控制容器在最後執行搜尋動作的階段,
會針對它所擁有的搜尋器進行相對應的搜尋與顯示搜尋結果的動作。
google.search.SearchControl共可以帶入兩個引數,
以下為其說明。
searcher – 指定搜尋器的種類,目前Google公司提供的搜尋器種類如下表所示的。
opt_options – 非必填引數。這個引數可以針對搜尋器進行外觀與行為的細部設定。
最後,
有興趣的朋友可以根據上述函式撰寫如下的範例程式碼,
這樣就可以製作出一個具有多項搜尋功能的搜尋列喔。
<html>PS:如果網友對Google API有興趣,
<head>
<title>My Google AJAX Search API Application</title>
<script src="http://www.google.com/jsapi?key=金鑰" type="text/javascript">
</script>
<script language="Javascript" type="text/javascript">
google.load("search", "1");
function OnLoad() {
// 建立搜尋控制容器
var searchControl = new google.search.SearchControl ();
// 將所有搜尋器加入搜尋控制容器
searchControl.addSearcher(new google.search.WebSearch ());
searchControl.addSearcher(new google.search.LocalSearch ());
searchControl.addSearcher(new google.search.VideoSearch ());
searchControl.addSearcher(new google.search.BlogSearch ());
searchControl.addSearcher(new google.search.NewsSearch ());
searchControl.addSearcher(new google.search.BookSearch ());
searchControl.addSearcher(new google.search.ImageSearch ());
searchControl.addSearcher(new google.search.PatentSearch ());
// 將搜尋結果顯示在網頁中
searchControl.draw(document.getElementById("searchcontrol"));
}
google.setOnLoadCallback(OnLoad);
</script>
</head>
<body>
<div id="searchcontrol">Loading...</div>
</body>
</html>
也可以參考我所撰寫的【Google APIs程式工具錦集】一書。
文章標籤
全站熱搜

太感恩了 我終於在我的部落格上加上 Google AJAX Search 我是程式無能者 你的書,有空去書局逛逛後再去買,真的感恩啊... 對了,能否在部落格提供您的Mail呢... 如果買書有問題的話 也許可以麻煩您...
能幫到你真是太棒嚕 你有問題都可以在blog上留言給我喔.. 還是你有玩twitter或plurk呢??我的id都是ddsakura
晚點再申請twitter 我今天去買書了79折 我照書上第2-107頁的做法,做好後右上角的tab式AJAX Google Search,現在的問題是蒐尋結果的文字顏色很醜(您可以試試),然後我參考第2-100頁的做法,想要改顏色,但是我貼選其中的CSS到Blogger的模板或是2個HTML/JavaScript小工具中,對於我的顏色都沒有改變哩...能建議我看看應該如何調整嗎? 方便的話,您可以直接用您第2-107為例教我應該把相關的語法安插在那邊,用Firefox的Firebug還是弄不會 Orz...
感謝一騎的支持.. 請檢視 http://apibook101.googlepages.com/searchcsssample.html 的原始碼.. 希望有幫助喔...^^
莊老師: 請問一下。 我按照你書中的作法完成了插入google map的網頁( http://140.111.145.3/~stu999/topic/topic_04.html ) 在Firefox可以看到地圖,不過在IE卻看不到地圖,請問問題出在哪裡?謝謝! PS.用到的css在: http://140.111.145.3/~stu999/tab.css supau
supau你好 請將 <script src="http://maps.google.com/maps?file=api&v=1&key=..... 改成 <script src="http://maps.google.com/maps?file=api&v=2&oe=big5&key=.... 理論上就可以運作喔...^^
莊老師您好: 覺得您的書真是百寶箱,讓我得到很多知識,只是我想要一個功能,只是我沒看到,可否麻煩賜教,就是在使用AJAX search 的搜尋,我要將搜尋到的資料顯示到一個新的頁面,而不是在目前頁面的下方,是要修改那一部份,或是書中sample那一頁可修改的部份,或要如何做,由於對網頁的程式不是那麼熟悉,謝謝.
基本上都是在該頁面呈現 但是如果你熟悉javascript應該也可以將結果導向別的頁面 此外用curl直接抓也是一種方式 最後Google提供Google Custom Search Engine的服務..可以經過設定後.將結果直接導向新的頁面.請參考http://www.google.com/cse/