日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Google AJAX Search API+TAG=美味的站點(diǎn)

系統(tǒng) 1773 0

前言

del.icio.us 提供了多種可重用的數(shù)據(jù)格式。而它提供了通用 API 訪問和類似 PHP 的輸出格式,使這些數(shù)據(jù)也可以被 JavaScript 開發(fā)者將其作為 JSON 格式所使用。

Google AJAX Search API 提供一些簡單的 web 對象:它們執(zhí)行建立在各種 Google 服務(wù)(頁面搜索、本地搜索、視頻搜索、 Blog 搜索、新聞搜索)之上的內(nèi)嵌( inline )搜索。

如何把這兩項(xiàng)技術(shù)結(jié)合在一起呢? Google AJAX Search API+TAG= 美味的站點(diǎn)?

什么是 Google AJAX Search API ?

Google AJAX Search API+TAG=美味的站點(diǎn)

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 147pt; HEIGHT: 165.75pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:%5CDOCUME~1%5CWast%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.png"></imagedata></shape>

-1 這就是 Google AJAX Search API?

Google AJAX Search API 是提供在頁面和 web 應(yīng)用中嵌入 Google Search JavaScript 代碼庫。當(dāng)然像其它 Google 開發(fā) API 相同,在使用它之前,你首先需要 注冊一個 API key 。

Google AJAX Search API 提供一些簡單的 web 對象:它們執(zhí)行建立在各種 Google 服務(wù)(頁面搜索、本地搜索、視頻搜索、 Blog 搜索、新聞搜索)之上的內(nèi)嵌( inline )搜索。如果你設(shè)計(jì)頁面是為了幫助用戶建立內(nèi)容(比如信息板、 blog 等),而這個 API 可以設(shè)計(jì)成:通過允許它們直接把搜索結(jié)果復(fù)制到它們的信息中的方式來支持前面的這些活動。

Google AJAX Search API 是最新發(fā)布的,它的特性被廣泛地用戶使用,你可以通過加入 Google AJAX Search API 討論組 來進(jìn)行反饋和技術(shù)討論。

用戶群

最好具有 JavaScript 編程和面向?qū)ο缶幊谈拍睢?

介紹

“Hello , World” 開場白

這是學(xué)習(xí) API 的最簡單方式。下面的 web 頁面代碼顯示了對關(guān)鍵詞 “VW GTI” 的內(nèi)嵌搜索結(jié)果集合。之所以稱之為集合,因?yàn)樗吮镜厮阉鳌㈨撁嫠阉?、視頻和 Blog 搜索結(jié)果。

<! DOCTYPE html PUBLIC "-//W<chmetcnv unitname="C" sourcevalue="3" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">3C</chmetcnv>//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >

< html xmlns = "http://www.w3.org/1999/xhtml" >

< head >

< meta http-equiv = "content-type" content = "text/html;

charset=utf-8" />

< title > Hello World - Google AJAX Search API Sample </ title >

< link href = "http://www.google.com/uds/css/gsearch.css"

type = "text/css" rel = "stylesheet" />

< script src = "http://www.google.com/uds/api?file=uds.js&amp;v=1.0"

type = "text/javascript" ></ script >

< script language = "Javascript" type = "text/javascript" >

//<![CDATA[

function OnLoad() {

// Create a search control

var searchControl = new GSearchControl();

// Add in a full set of searchers

var localSearch = new GlocalSearch();

searchControl.addSearcher(localSearch);

searchControl.addSearcher( new GwebSearch());

searchControl.addSearcher( new GvideoSearch());

searchControl.addSearcher( new GblogSearch());

searchControl.addSearcher( new GnewsSearch());

// Set the Local Search center point

localSearch.setCenterPoint( "<place w:st="on"><city w:st="on">New York</city>, <state w:st="on">NY</state></place>" );

// tell the searcher to draw itself and tell it where to attach

searchControl.draw(document.getElementById( "searchcontrol" ));

// execute an inital search

searchControl.execute( "VW GTI" );

}

//]]>

</ script >

</ head >

< body onload = "OnLoad()" >

< div id = "searchcontrol" />

</ body >

</ html >

你可以下載本例代碼,并進(jìn)行相應(yīng)修改,但要注意的一點(diǎn) : 你必須使用你自己的 API key 替換掉原代碼中的 API key 。

上面代碼中包含的 Google AJAX Search API javascript 庫:

http://www.google.com/uds/api?file=uds.js&v=1.0&key=ABCDEFG ,此庫囊括了 Google Search API 所用到的對象和符號。

代碼中的主角是 GSearchControl 對象,它控制了一個跨越多種搜索服務(wù)的搜索。

可以看到, GlocalSearch 、 GwebSearch 、 GvideoSearch 、 GblogSearch GnewsSearch 類型的對象(后稱搜索者對象)通過 GSearchControl 對象的 addSearcher 方法被添加到了搜索控制( search control )中,這些搜索者對象( searcher objects )決定了那些搜索服務(wù)在搜索控制的操控之下。

通過調(diào)用 GSearchControl draw() 方法,使搜索控制顯示在頁面中。此方法也可把搜索控制綁定到頁面的 DOM 中。默認(rèn)情況下,搜索控制以線性布局 (linear layout) 顯示,你也可以選擇標(biāo)簽布局 (tabbed layout) 。關(guān)于布局的選將在下面講解。

為了使用標(biāo)簽布局選項(xiàng),搜索控制允許開發(fā)者輕松地把 “search form” 從搜索結(jié)果集合中脫離出來。這種做法的用處之一:在頁面的 sidebar 中顯示 search form ,而搜索結(jié)果羅列在頁面中央。

用戶通過在搜索控制的文本框中輸入搜索單詞后按下回車按鈕或者點(diǎn)擊搜索按鈕的方式啟動一次搜索。搜索控制將自動進(jìn)行一次對所要求的各種 Google 搜索服務(wù)的并行搜索。你也可以通過把搜索單詞作為參數(shù)傳遞給搜索控制的 execute() 方法來以編程的方式啟動搜索。

瀏覽器兼容性

Google AJAX Search API+TAG=美味的站點(diǎn)

<shape id="_x0000_i1026" style="WIDTH: 232.5pt; HEIGHT: 284.25pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:%5CDOCUME~1%5CWast%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.png"></imagedata></shape>

-2 租用哪種瀏覽器去沖浪?

Google AJAX Search API 目前支持 Firefox 1.5 以上 ,IE 6,Safari,Opera 9 以上。

API 升級問題

通過在 URL http://www.google.com/uds/api?file=uds.js&v=1.0 中的參數(shù) v 來聲明所使用的 API 版本(這里的參數(shù) v 聲明的是 1.0 版本)。當(dāng) Google 進(jìn)行 API 升級時(shí),版本號將被升高,并在 Google AJAX Search API 討論組 中發(fā)布通知。請注意在版本升級時(shí)的任何必需的代碼變化,如果新版本和你的代碼兼容的話,請更新你的 URL 到新的版本。

當(dāng)然,在新版本發(fā)布后, Google 仍然會在一段時(shí)間內(nèi)同時(shí)支持新、舊版本,這段時(shí)間可能長達(dá)一個月。而這段時(shí)間過后,使用舊版本 API client 將不再被接受,所以請盡量保持使用新版本。

在某個版本的使用期間, Google AJAX Search API 開發(fā)團(tuán)隊(duì)會周期性的更新 API 以達(dá)到修正 bug 、提高性能的目的,而這是不會產(chǎn)生新版本的。大多數(shù)情況,這些修正對用戶來講是保持透明的,但也存在一些對 client 產(chǎn)生無意識的破壞,請?jiān)L問 Google AJAX Search API 討論組 報(bào)告這些問題。

示例

注意:這里的示例僅提供了相關(guān)的 Javascript 代碼而并非全部的 HTML 文件。你可以將這些代碼插入到 HTML 文件或者通過點(diǎn)擊下載鏈接下載完整的 HTML 文件。

基本功能

下面的代碼建立了一個搜索控制,并配置它用以完成跨越本地搜索、頁面搜索、視頻搜索、 blog 搜索的搜索,然后將搜索控制放置在頁面中。

// create a search control

var searchControl = new GSearchControl( null );

// add in a full set of searchers

searchControl.addSearcher( new GlocalSearch());

searchControl.addSearcher( new GwebSearch());

searchControl.addSearcher( new GvideoSearch());

searchControl.addSearcher( new GblogSearch());

searchControl.addSearcher( new GnewsSearch());

// tell the searcher to draw itself and tell it where to attach

// Note that an element must exist within the HTML document with id

"search_control"

searchControl.draw(document.getElementById( "search_control" ));

GSearcherControl 繪制( Draw )模式

搜索控制可以通過編程選擇不同的繪制模式:線性( linear )、標(biāo)簽( tabbed )。 GdrawOptions 對象通過它的 setDrawMode() 方法控制了這種行為。此方法可選擇的參數(shù):

* GSearchControl.DRAW_MODE_LINEAR

* GSearchControl.DRAW_MODE_TABBED

為了實(shí)際設(shè)置搜索控制對象的繪制模式,需要把 GdrawOptions 對象作為參數(shù)傳送給搜索控制對象的 draw 方法。

// create a drawOptions object

var drawOptions = new GdrawOptions();

// tell the searcher to draw itself in linear mode

drawOptions.setDrawMode(GSearchControl.DRAW_MODE_LINEAR);

searchControl.draw(element, drawOptions);

// tell the searcher to draw itself in tabbed mode

drawOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED);

searchControl.draw(element, drawOptions);

此方法的另一種常見的選項(xiàng)能將 “search form” 從搜索結(jié)果集合中脫離出來。 GdrawOptions 對象通過 setSearchFormRoot() 方法控制這種行為。此方法接受將作為 search form 容器的 DOM 元素作為參數(shù)。

// create a drawOptions object

var drawOptions = new GdrawOptions();

drawOptions.setSearchFormRoot(document.getElementById( "searchForm" ));

searchControl.draw(element, drawOptions);

搜索者對象( Searcher Objects

搜索控制對象的 addSearcher() 方法決定了搜索控制對象操控哪些搜索服務(wù)。此方法需要 2 個參數(shù):一個參數(shù)提供服務(wù)對象,另一個提供該服務(wù)的選項(xiàng)。下面是當(dāng)前所支持的搜索者對象:

* GlocalSearch

* GwebSearch

* GvideoSearch

* GblogSearch

* GnewsSearch

隨著 Google AJAX Search API 的進(jìn)化,將會有更多支持的服務(wù)被加進(jìn)來。

搜索者選項(xiàng)( GsearcherOptions

在單獨(dú)添加搜索者給搜索控制時(shí), addSearcher() 方法的第二個可選參數(shù):

GsearcherOptions 對象,它控制每個服務(wù)的默認(rèn)展開模式,后者影響到搜索結(jié)果如何顯示在頁面中。展開模式有以下幾種:

GsearchControl.EXPAND_MODE_OPEN :盡可能地顯示全部的搜索結(jié)果。

GSearchControl.EXPAND_MODE_CLOSED :隱藏搜索結(jié)果,除非通過 UI 元素(比如一個箭頭)被打開。

GSearchControl.EXPAND_

Google AJAX Search API+TAG=美味的站點(diǎn)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 宜川县| 莲花县| 公主岭市| 榆林市| 呼伦贝尔市| 云梦县| 开远市| 天长市| 沂南县| 莱芜市| 河池市| 甘谷县| 大余县| 葫芦岛市| 龙州县| 任丘市| 札达县| 石泉县| 宝兴县| 瑞金市| 新营市| 邵阳市| 大名县| 灌阳县| 阳原县| 靖西县| 都兰县| 鄂州市| 舟曲县| 洛阳市| 都匀市| 峨边| 六安市| 广东省| 惠来县| 嘉黎县| 弥渡县| 通城县| 田林县| 靖江市| 运城市|