Google 工具列
Google 工具列 API

適用 Internet Explorer 的 Google 工具列 4 的《建立自訂按鈕指南》

本文件說明如何建立自訂按鈕。 自訂按鈕目前只適用於 Internet Explorer。

目次

參照
  • XML 參照
  • 逸出字元
  • 變數參照
  • 簡介

    何謂自訂按鈕?

    自訂按鈕是您可以加入 Google 工具列的按鈕,這種按鈕可以擁有自訂瀏覽、搜尋、傳送及更新等功能。 其中,自訂搜尋按鈕幾乎可以使用任何網站的搜尋引擎,而不限於 Google 的搜尋引擎。

    按一下搜尋按鈕即可執行下列任何一項工作:

    • 使瀏覽器瀏覽到網站,就像書籤一樣
    • 使瀏覽器瀏覽至網站,並執行該網站的搜尋引擎,搜尋使用者輸入工具列搜尋框內的文字。 例如,Wikipedia 按鈕會移到 wikipedia.org,並搜尋您所輸入的字詞 (此按鈕可以依據工具列的地區設定,移到多個特定地區網站中的任何一個網站)。
    • 將目前選取的瀏覽器文字傳送至某個服務,例如撰寫新的電子郵件、blog 項目或簡訊
    • 從 RSS 資訊提供更新其按鈕圖示、工具秘訣以及圖示與字串的下拉式清單

    自訂按鈕可以具有下列使用者介面的功能:

    • 代表存取的網站或執行的動作之圖示 (<icon>)。 您可以從 RSS 資訊提供更新這個按鈕 (<feed>)
    • 圖示與字串下拉式清單 (可按一下向下箭頭按鈕加以存取);這份清單可以從 RSS 資訊提供 (例如新聞資訊提供中的頭條新聞) 進行更新 (<feed>)
    • 工具秘訣說明,將滑鼠游標移到按鈕上方時,此說明就會立即出現 (<description>)
    • 可選擇是否要在按鈕旁邊顯示標題 (<title>)

    除了上述使用者介面的功能外,自訂按鈕也可具有下列能夠執行上述工作的內容 (儲存在 XML 檔):

    • 網站 URL;當搜尋框空白並按下按鈕時,瀏覽器所會瀏覽到的 URL (<site>)
    • 搜尋 URL;當搜尋框中有搜尋字詞並按下按鈕時,瀏覽器便會瀏覽到此 URL 指向的網站並加以搜尋 (<search>)
    • 傳送 URL;瀏覽器將會瀏覽到此 URL 指向的網站,並將目前選取的文字傳送到該網站 (<send>)
    • 更新 URL;您可以透過這個 URL 位置存取按鈕的更新 (<update>)

    下列工具列顯示 Slashdot、Wikipedia 和 BBC (以顏色標明之處) 等自訂按鈕的範例。 BBC 按鈕是新聞資訊提供,包含一份頭條新聞的下拉式清單 (以向下箭頭表示)。

    新增自訂按鈕

    若要在 Google 工具列上新增或管理自訂按鈕:

    • 使用者新增 (安裝) 自訂按鈕最簡單也最常用的方法,是直接按一下出版者網站上的按鈕,並確認新增該按鈕。 Google 工具列按鈕集提供一份這種按鈕的清單。 出版者使用一種特殊的指令 URL 要求使用者許可。 如果使用者沒有安裝 Google 工具列,此指令 URL 便會連到工具列的下載網頁。
    • 第二種方法是自動建立及新增自訂搜尋按鈕,由使用者在搜尋文字輸入方塊上按一下滑鼠右鍵。
    • 第三種方法是使用 Google 工具列進階編輯器來修改自訂按鈕;此進階編輯器的存取路徑為 [設定] > [選項] > [自訂按鈕] (標籤) > [編輯] > [使用進階編輯器]。
    • 第四種方法是手動建立及安裝自訂按鈕
    • 第五種方法是由 IT 管理員在使用群組原則字串的 Windows 電腦上,以 XML 檔將自訂按鈕發佈到 URL,或是透過包裝安裝程式的方式,將檔案寫入 Windows 檔案系統的 [All Users] 應用程式資料區段。

    如何建立自訂按鈕

    自動建立及新增自訂搜尋按鈕

    1. 開啟 Internet Explorer,並連上您要建立搜尋按鈕的搜尋網頁。
      範例: www.wikipedia.org

    2. 在該網頁所要使用的搜尋框上按一下滑鼠右鍵,選取 [產生自訂搜尋...],然後按一下 [新增]。

    結果: 自訂按鈕安裝完成,而且可以立即使用。

    上述程序會在幕後建立具有圖示的自訂按鈕 XML 檔,並以雜湊名稱 (hashed name) 將這個檔案儲存在下列位置:

    C:\Documents and Settings\larry\Local Settings\Application Data\Google\Custom Buttons\

    這種方法擁有一項手動建立自訂搜尋按鈕比不上的優勢,那就是它非常適用於使用複雜 POST 要求的網站,或是在其網站上使用重新導向,而讓判斷 url-template 變得相當困難的情況。

    自訂按鈕 XML 檔

    自訂按鈕的內容和行為都在 XML 檔中定義,這個檔案具有一個 <custombuttons> 元素,其名稱領域設定成具有巢狀 <button> 元素的 "http://toolbar.google.com/custombuttons/"。 最簡單的自訂按鈕使用 <site> 定義網站連結。 下列 XML 會產生一個按鈕,按一下這個按鈕即可在目前的瀏覽器視窗中開啟 http://www.wikipedia.org。

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
    
      <button>
        <site>http://www.wikipedia.org</site>
      </button>
    </custombuttons>
    
    注意 - 您可以在 XML 檔裡的 URL 字串的任何位置包含新行字元或空格;工具列會在解譯檔案時去除這些新行字元或空格。 這表示如果您的 URL 需要空格 (也就是說您不想將空格去除),您必須以 "%20" 取代空格 (如果瀏覽器尚未代替您執行這項動作)。 下列許多範例都顯示分成兩行輸入且中間有一個新行字元的 URL;這種格式完全沒有任何問題。
    注意 - 在本指南的所有範例中,變更的部分只有 <button> 元素內的 XML 程式碼。

    手動建立及安裝自訂按鈕

    若要在 Google 工具列上安裝自訂按鈕:

    1. 依照前面 (及後面) 各節所示,建立按鈕 XML 檔。
    2. 將按鈕的 XML 檔儲存在下列位置:

      C:\Documents and Settings\username\Local Settings\Application Data\Google\Custom Buttons\filename.xml

      其中 username 是您的 Windows 登入名稱,而 filename 則是您選擇指定給 XML 檔的檔名。

      在我們的 Wikipedia 範例中,如果登入名稱是 "larry",請將按鈕的 XML 檔儲存在下列位置:

      C:\Documents and Settings\larry\Local Settings\Application Data\Google\Custom Buttons\wikipedia.xml

    3. 接著,開啟已經安裝 Google 工具列 4.0 的一個新的 Internet Explorer 視窗。 此視窗中將會出現一個顯示問號圖片的新按鈕 (如下列螢幕畫面所示),按一下此問號圖示即可連到 Wikipedia。

    新增按鈕標題與工具秘訣

    如下圖所示,使用 <title> 新增按鈕標題。 標題可能出現在按鈕右邊 ([設定] > [選項] > [更多設定] > [按鈕的文字標籤] > [全部]),而且可以在自訂按鈕清單中識別該按鈕 ([設定] > [選項] > [自訂按鈕])。 如果您的按鈕可以執行搜尋,則此標題在所有的搜尋自訂按鈕標題中應該具有獨特性,因為它也是 Google 工具列搜尋框中的按鈕名稱 (例如,使用者可以使用 Alt-G 移到搜尋框,接著按向下箭頭展開搜尋引擎選單,然後在搜尋框中輸入 "w",以選取 "wikipedia" 搜尋引擎)。

    請使用 <description> 來新增工具秘訣。

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <site>http://www.wikipedia.org</site>
    
        <title>Wikipedia</title>
        <description>The Free Encyclopedia</description>
      </button>
    </custombuttons>
    

    自訂搜尋按鈕

    Google 工具列也可以讓您建立按鈕,以便利用使用者在工具列搜尋框中輸入的字詞,執行多數網站的搜尋引擎。 下列兩個範例包含兩個按鈕,其中一個可以使用 Wikipedia 搜尋引擎搜尋 wikipedia.org,另外一個按鈕則使用 Google 搜尋引擎搜尋網際網路。

    若要建立自訂搜尋按鈕,請以 <search> url-template </search> 的格式,在按鈕的 XML 檔中加入搜尋元素。 請依照下列範例所示,使用 {query} 變數加入搜尋查詢 URL。 GET 和 POST 兩種查詢都適用 (使用 method 屬性指定) -- 預設值為 GET。 此 URL 必須使用 http:https: 標準,不能使用 javascript:url-template 中有三個字元必須使用逸出字元: 小於 (<)、大於 (>) 以及 & 符號。

    注意 - <search> 元素必須包含 {query} 變數,否則按鈕將無法顯示。

    Wikipedia 搜尋的自訂按鈕

    例如,若要建立按鈕以使用 Wikipedia 搜尋引擎來搜尋 wikipedia.com,請先使用最簡單的 Wikipedia 查詢來搜尋任何字詞,例如「狗」: http://en.wikipedia.org/wiki/Special:Search?search=dog&fulltext=Search. 若要改為搜尋使用者輸入工具列搜尋框的字詞,請將「狗」取代成 "{query}",並將 & 符號改成逸出字元,如下所示:

    <search>http://en.wikipedia.org/wiki/Special:Search?search={query}&amp;fulltext=Search</search>
    
    

    將搜尋元素加入前述按鈕之後,將會產生下列結果:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <site>http://www.wikipedia.org</site>
    
        <title>Wikipedia</title>
        <description>The Free Encyclopedia</description>
        <search>http://en.wikipedia.org/wiki/Special:Search?search={query}&amp;fulltext=Search</search>
    
      </button>
    </custombuttons>
    

    請注意,URL 中的 & 符號已經改成逸出字元 "&amp;"。 在 XML 檔的字串中,&、小於 (<) 和大於 (>) 等字元必須使用逸出字元。

    Google 搜尋的自訂按鈕

    若要建立按鈕以使用 Google 搜尋引擎搜尋網際網路,請先使用最簡單的 Google 查詢來搜尋任何字詞,例如「狗」: http://www.google.com/search?q=dog. 然後再將「狗」取代成 "{query}",如下所示:

    <search>http://www.google.com/search?q={query}</search>
    

    請參考此範例:

    Slashdot 搜尋

    <search>http://slashdot.org/search.pl?query={query}</search>
    

    以 POST 傳送搜尋動作

    若要以 POST 取代 GET 傳送搜尋動作,請在搜尋元素中加入 method="post" 屬性。 問號 '?' 後面的所有字元 都會以 www-url 編碼格式的發佈資料傳送。 網站可能會使用表單編碼的資料,而不是 url 編碼的資料,但是目前我們的產品並不支援這種情況。 此外,網站也可能同時傳送 CGI 參數和發佈資料;如果要這樣做,請使用兩個問號 '?' 字元。

    Onion 搜尋

    這個範例使用發佈的方式傳送發佈資料 (以顏色標明之處):

    <search method="post">http://www.theonion.com/content/search/node
            ?edit%5Bkeys%5D={query}</search>
    

    更新自訂按鈕

    您用來保存按鈕之 XML 檔案的下載 URL,會變成可以用來更新按鈕的唯一按鈕 ID。 如果您再次嘗試從相同的 URL 下載按鈕時,工具列只會提供取代原有按鈕的選項,而不會讓您新增按鈕。

    新增按鈕的五種方法中,第一種和最後一種方法都會自動取得按鈕更新程式的所在位置,並忽略寫入 XML 檔的任何 <update> 值。 在其他三種方法中,您可以在 XML 檔中指定 <update> 元素,以指定按鈕應該在哪些位置搜尋更新程式。

    <update>http://buttons.com/updated_button.xml</update>
    

    按鈕選項

    按鈕可以使用 <option> 標記指定本機定義的選項字串;使用者可以輕易地在工具列的設定對話方塊中變更這個標記。 例如,在指定郵遞區號的氣象按鈕,或指定股票代號的股票按鈕上,都可以使用這個選項。 例如:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <title>Weather</title>
        <option>
    
          <title>Zip code</title>
          <description>Enter a US zip code.  For example, 94043 is Mountain View, CA</description>
          <default>94043</default>
        </option>
    
        <site>http://www.google.com/search?q=weather+{option1}</site>
      </button>
    </custombuttons>
    

    選項標題為必要項目, 但是預設值和說明並不是必須項目。 請在任何 url 範本規格內使用變數 {option1} 來插入使用者的文字。

    目前本程式並不會驗證輸入文字,也不會刪除空白,而且 {option1} 變數也會像提交表單的文字編輯方塊一樣,使用 utf-8 和 cgi 參數逸出,將使用者輸入的文字轉換成逸出字元。

    包含目前的 URL

    除了傳送搜尋查詢以外,您也可以利用下列三種方法來指定瀏覽器目前顯示的 URL: 包含編碼的 {url}、不含編碼的 {url.noescape},或是只有網站的 {url.host}

    此範例使用 {url.noescape} 將目前的 URL傳送到 archive.org,以尋找目前網頁的舊版本 -- archive.org 需要未經逸出的 URL:

    <site>http://web.archive.org/web/*/{url.noescape}*</site>
    

    下列範例將會執行相同的 archive.org 搜尋,但會改用 {url}

    <site method="post">http://www.archive.org/searchresults.php?search={url}&amp;mediatype=mediatype&amp;Submit=Submit</site>
    

    如果您要在目前的網站內使用 Google 搜尋引擎,請使用 {url.host} -- 這是功能強大的捷徑,也是 Google 網站無法提供的功能。

    <search>http://www.google.com/search?q=site:{url.host}+{query}</search>
    

    包含 Google 網域後置字元

    Google 工具列有一個 {domain} 變數,可以用來取得諸如 comco.uk 等網域。 您可以在 Google 工具列的 [設定] > [選項] > [搜尋] 標籤 > [使用 Google 網站] 中找到搜尋網域—也就是 "google." 字詞後面的字串。

    您應該使用 {domain} 變數,而不要將網域字串寫入程式碼。 因此,Google 搜尋實際寫入的內容應該如下:

    <search>http://www.google.{domain}/search?q={query}</search>
    

    傳送使用者選取的文字

    您也可以使用自訂按鈕傳送使用者可以在網頁上選取的一段純文字。 這項功能適用於翻譯服務、blogging 應用程式或傳訊應用程式。 選取文字之後,自訂按鈕圖示上便會出現一個小型的文字圖示。

    這項作業需要使用 <send> 元素。 <send> 作業的 URL 目標可能與 <search> 的目標不同。 <send> 標記應該包含 {selection} 變數,以便傳回瀏覽器中目前選取的純文字:

    <send>http://www.google.com/search?hl=en&amp;lr=&amp;q=define%3A+{selection}</send>
    

    選取文字時,包含傳送作業的自訂按鈕也會顯示在瀏覽器的右鍵內容選單中。

    測試變數是否存在

    隨著工具列的演變,使用者可以執行的 URL 變數也愈來愈多。 為了提供這些新變數的正向與反向相容性,所有支援自訂按鈕的剖析器都會提供 {a?b:c} 語法,其語意如下:

    {param_to_be_tested?use this text if the param is implemented:use this text if not}
    

    簡單來說,這個語法可以讓進階自訂按鈕的作者放心地使用新功能,也可以提供無法識別新功能之舊剖析器的反向相容性。 例如,假設 {locale} 是剛採用的新變數, 那麼您就可以使用如下的 URL 範本,確定這個變數不會影響到舊版工具列:

    <site>http://google.com/{locale??hl={locale}}</site>
    

    如果工具列支援 {locale} 變數,此 URL 範本將擴充為:

    <site>http://google.com/?hl=en</site>
    

    否則便為:

    <site>http://google.com/</site>
    

    您最多可以將 {a?b:c} 運算式套疊成 10 層的巢狀結構,但是巢狀結構只能出現在 "?" 後面。 以下顯示正確的範例:

    <site>http://google.com/{locale??hl={domain?{domain}:{query}}}</site>
    
    

    另外請注意,當您使用無法辨識的逸出字元,剖析器都會將它取代成空白字串。 因此 Hell{blah}o World 只會顯示成 Hello World。 此外,如果發生大括弧 '{' 或 '}' 字元左右不對稱的問題,或是其他任何剖析問題,整個 URL 便會重設為空白字串。

    如何建立美觀的圖示

    大部分的 Favicon 圖示也都可以當作自訂按鈕的圖示。 這些圖示包括 16x16 BMP、ICO、GIF 和 JPEG 圖片。 您只需要將這些圖片的編碼改成使用 base64 編碼的 ASCII 文字。 網際網路上有許多網站可以為您執行這項編碼作業 – 例如,這個網站。 請在這個網站上使用 [瀏覽...] 按鈕選取您要編碼的檔案,然後按一下 [Convert the source data] (轉換原始資料) 按鈕,開始進行編碼。 Javascript 和 PHP 也提供可以執行 base64 編碼的單行指令。

    下列範例為 base64 編碼格式的 Gmail 圖示 -- 使用 <icon> 元素:

        <icon mode="base64" type="image/x-icon">
    AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ONr/ODja/6en+f+np/n/p6f5/6en+f+np/n/p6f5
    /6en+f+np/n/p6f5/6en+f+np/n/p6f5/zg42v84ONr/ODja/zg42v/i4v//////////////////
    /////////////////////////////////////+Li//84ONr/ODja/zg42v84ONr/p6f5/+Li////
    /////////////////////////////////////////+Li//+np/n/ODja/zg42v84ONr/ODja/+Li
    //+np/n/4uL/////////////gYHy/4GB8v///////////+Li//+np/n/4uL//zg42v84ONr/ODja
    /zg42v//////4uL//6en+f+2tv//gYHy/1pa6f9aWun/gYHy/7a2//+np/n/4uL///////84ONr/
    ODja/zg42v84ONr///////////+2tv//gYHy/1pa6f84ONr/ODja/1pa6f+BgfL/trb/////////
    ////ODja/zg42v84ONr/ODja////////////gYHy/1pa6f84ONr/trb//7a2//84ONr/Wlrp/4GB
    8v///////////zg42v84ONr/ODja/zg42v//////gYHy/1pa6f84ONr/trb/////////////trb/
    /zg42v9aWun/gYHy//////84ONr/ODja/zg42v84ONr/gYHy/1pa6f84ONr/trb/////////////
    //////////+2tv//ODja/1pa6f+BgfL/ODja/zg42v84ONr/ODja/zg42v84ONr/trb/////////
    /////////////////////////7a2//84ONr/ODja/zg42v84ONr/ODja/zg42v84ONr/gYHy/6en
    +f+np/n/p6f5/6en+f+np/n/p6f5/6en+f+np/n/gYHy/zg42v84ONr/ODja/wAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAA//8AAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAD//wAA//8AAA==
        </icon>
    

    自訂按鈕的圖示可以大於 16x16,但是工具列會將圖示縮小成 16x16,因此除了大於必要尺寸之外,這些圖示的顯示效果可能不如您使用高畫質影像編輯器調整後的效果。

    最美觀的圖示必須使用 24 位元色彩 (RGB) 與 8 位元 Alpha 建立,並儲存成 XP 樣式 RGBA 圖示。 您可以將圖示儲存成具 Alpha 透明模式的 16x16 PNG,然後將圖示轉換成 XP 樣式的 16x16 圖示 (使用 IconWorkshop 之類的程式),最後再將它轉成 base64 編碼。 在沒有連結許多額外工具的情況下,Windows 的原始設定並不支援 PNG 檔案,因此無法直接支援 PNG 檔案。

    您必須使用 Alpha 色板的原因,在於並不是每個人的工具列背景顏色都會與您設定的灰色、銀色或米黃色調相同。 Windows XP 允許使用者自訂顏色配置,包括工具列背景。 您可以建立沒有任何透明部分的方形圖示來避免這種情況,但是這樣的圖示看起來會很單調。 與正確建立的 Alpha 混色圖示 (例如 Google 工具列上的圖示或 Internet Explorer 本身的圖示) 相比,單色 Alpha 色板 (例如 GIF 圖片) 邊緣的外圍部分將會呈現顆粒狀。

    自動更新圖示與工具秘訣

    自訂按鈕包含許多有趣的功能,其中一項就是定期從遠端伺服器更新本身的按鈕圖片和工具秘訣。 自訂按鈕使用 RSS 資訊提供來進行更新。 這讓按鈕可以當作通知裝置或狀態圖示 (例如氣象或您想得到的任何資訊) 使用。 按鈕可能也會有下拉式選單,用來包含具有文字或圖示的個別項目。 每個選單項目都可以有自己的動態 URL;按一下各個項目即可啟動這些動態 URL。 我們將在下一節提供這些選單項目的範例。

    新增 RSS 資訊提供

    RSS 資訊提供使用 <feed> 元素。 以下顯示 CNN 新聞資訊提供的範例:

    <feed refresh-interval="1800">http://rss.cnn.com/rss/cnn_topstories.rss</feed>
    

    用來取得這些更新資訊提供的通訊協定可能是 Atom 1.0、Atom 0.3、RSS 2.0 或 RSS 1.0。一般標準的資訊提供都可以適用。

    使用資訊提供更新按鈕圖示/工具秘訣

    若要使用資訊提供更新工具列上的圖示或其工具秘訣說明,您必須使用名稱領域將特定工具列延伸名稱加入 RSS 或 ATOM。 以下顯示從資訊提供擷取情緒戒指按鈕的範例:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <title>Mood ring</title>
        <description>Your virtual mood ring</description>
    
        <site>http://www.google.com/search?q=mood+ring</site>
        <feed menu="false" refresh-interval="900">
              http://www.example.com/custombuttons/samples/feeds/mood</feed>
      </button>
    </custombuttons>
    
    

    請注意,此範例指定 menu="false",代表這個資訊提供只能用來更新圖示和工具秘訣,不能填入子項目的下拉式選單。

    如果在實際伺服器上進行設定,資訊提供輸出的外觀應該如下:

    <?xml version='1.0'?>
    <feed xmlns='http://www.w3.org/2005/Atom' 
        xmlns:gtb='http://toolbar.google.com/custombuttons/'>
    <id>http://www.example.com/custombuttons/samples/feeds/mood</id>
    
    <title>Mood</title>
    <link href='http://www.google.com/search?q=+ring' />
    <link rel='self' 
        href='http://www.example.com/custombuttons/samples/feeds/mood' />
    <gtb:description>Bluegreen:
    Inner emotions charged, somewhat relaxed</gtb:description>
    <gtb:icon mode="base64" type="image/x-icon">
    AAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAMAA
    AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAGAAAAHAAAAEAAAABhAAAAcwAAAHQAAABpAAAAVQAAAD4AAAApAAAAGAAAAAoAAAAD
    AAAAAQAAAAAAAAAAAAAAESZIXl4zdJvAXbHS8m3C3f9LnrrLFUtsmwILEX4AAABzAAAAYQAAAEcA
    AAAqAAAAEwAAAAcAAAACAAAAACs9RTNOjrDtW6nS/53u/f+n/P//hej//2bP/P9Fq93wHGaNrxEv
    O4kAAAB6AAAAXwAAADwAAAAfAAAADAAAAANihaWST6XK/0h/kcAdKCyWKTtAgVJ/kIhytNKse873
    9E+w6v9RuN39SXuJpgQHCIoAAAB2AAAAUQAAACsAAAAPb6nU7mK65v9jqs76KkNPqAUICJoAAACE
    AAAAaxUgJWBkrMiwsvv+//D+/v+y1NniIj1FnAAAAIgAAABcAAAALHS74PV1zPn/c835/1Oezv9N
    iq7vNVRjrxUiJ5kBAgORAQICh3uLjZz3+vr1+f///4PL5/wvVmusAAAAigAAAFNyu+TPdtL8/0Cp
    7v8ng8X/CFOH/ytpjv86gJ//R46z+Th6jsovVmCsd56pxNf2/f9TuPH/W7fs/ypGV6UAAAByf77Y
    r02y7P9Zwfb/puH3/y+AtP8jZ5f/KWKH/0p7hP+ZrVr/zcUt/9vMKf/bzSz/tsBP/3OzrP9kl7Pp
    AAAAgHGdpThatuT/0fn+//b///+V0uv/NICu/4mvfP/czjL/3M0v/9rMKP/dzzT/3c83/9vNLf/b
    zS//nrWA/gAAAIMAMzMFbrrd2d/+///5////t+n6/4q6nf/czzX/3tA+/97QPf/czjP/3dA7/97R
    Qv/czjD/3M4z/9DHLPoAAAB/AAAAAWShtUix5+//5v7+/5Hf7//Bvjn/3M0v/9/SSP/g1FL/39RR
    /+DVWv/e0kf/3tFA/9zNL//bzCj/AAAAbwAAAAAAAAADcq7Fmpzo8f9rsL3/2ssl/93POf/f0kj/
    49pu/+ffhP/q45b/49pp/97SSv/czS//yb0q4wAAAE8AAAAAAAAAAF54hhNrq77BXpCj/7+7Of/c
    zjH/3tFH/+bdeP/w7cv/9PLa/+zlnf/g1VP/1so5/mBfJHsAAAArAAAAAAAAAAAAAAABa5GgIHWs
    t/dymG3/3tE//9/UUv/o4Ij/9PHT//v67P/v6a3/08xY/3uMX6UAAAAuAAAAEAAAAAAAAAAAAAAA
    AAAAAAKSvb9YSoWa+WyagP+wv2X/4NRO/+ngfv/m4Zf/rLeB+lpubIkAAAAlAAAADgAAAAMAAAAA
    AAAAAAAAAAAAAAAAAAAAAoqvuDxkkp2gYo+c51mHkv9lk5v/Y4eNtlBfaEgAAAAWAAAACQAAAAIA
    AAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAMAA
    AADgAAAA8AEAAA==
    </gtb:icon>
    
    </feed>
    

    上述範例是 Atom 1.0 資訊提供,其指定的 Google 自訂按鈕名稱領域則為:

    xmlns:gtb='http://toolbar.google.com/custombuttons/'
    

    若要覆寫按鈕隨附的工具秘訣,請指定:

    <gtb:description> new-description </gtb:description>
    
    

    若要覆寫按鈕隨附的圖示,請指定:

    <gtb:icon> icon-base64-code </gtb:icon>
    

    驅動這個複雜「情緒」分析系統的 PHP 指令碼看起來就像這樣:

    <?php
    
    header('Content-type: text/xml');
    
    switch(rand(1, 7)) {
      case 1:
        $icon = "amber.ico";
        $desc = "Amber:\nNervous, on edge, uncertain";
        break;
    
      case 2:
        $icon = "black.ico";
        $desc = "Black:\nTense, stressed, working too hard";
        break;
    
      case 3:
        $icon = "blue.ico";
        $desc = "Blue:\nComfortable, breeze, at rest, loveable";
        break;
    
      case 4:
        $icon = "bluegreen.ico";
        $desc = "Bluegreen:\nHeightened inner emotional state, moderately relaxed";
        break;
    
      case 5:
        $icon = "gray.ico";
        $desc = "Gray:\nAnxious, ill at ease, strained";
        break;
    
      case 6:
        $icon = "green.ico";
        $desc = "Green:\nSteady, stable, no emotional turmoil";
        brea;
    
      case 7:
        $icon = "purple.ico";
        $desc = "Dark Blue:\nImpassioned, delighted, whiff of romance";
        break;
    }
    
    $icon = base64_encode(file_get_contents($icon));
    
    echo "<?xml version='1.0'?>";
    echo "\n<feed xmlns='http://www.w3.org/2005/Atom' xmlns:gtb='http://toolbar.google.com/custombuttons/'>";
    echo "\n<id>http://www.example.com/custombuttons/samples/feeds/mood</id>";
    echo "\n<title>Mood</title>";
    echo "\n<link href='http://www.google.com/search?q=$mood+ring' />";
    echo "\n<link rel='self' href='http://www.example.com/custombuttons/samples/feeds/mood' />";
    echo "\n<gtb:description>$desc</gtb:description>";
    echo "\n<gtb:icon mode='base64' type='image/x-icon'>$icon</gtb:icon>";
    echo "\n</feed>";
    
    ?>
    
    

    圖示應該與指令碼放在同一個資料夾。

    使用資訊提供更新按鈕與下拉式選單圖示

    您也可以在資訊提供下拉式選單的個別項目中,新增自訂伺服器架構圖示。 以下顯示的氣象按鈕範例具有包含下拉式選單的資訊提供 (預設值),但是此按鈕也指定 refresh-menuitem="false",以便在順利建立伺服器連線之後,隱藏重新整理的選單項目, 以呈現較為簡潔的選單外觀。

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <title>Weather 94043</title>
        <description>Weather updates for Mountain View, CA</description>
    
        <site>http://www.google.com/search?q=weather+94043&num=1</site>
        <feed refresh-interval="3600" refresh-menuitem="false">
            http://www.example.com/custombuttons/samples/feeds/weather?zip=94043</feed>
      </button>
    
    </custombuttons>
    

    下列範例顯示氣象資訊提供的外觀,其下拉式選單中的每個選單項目旁邊都有一個自訂圖示 (大部分的 base64 圖示都已移除,以避免混淆)。 在前述範例中,此內容將顯示在下列位置: http://www.example.com/custombuttons/samples/feeds/weather/?zip=94043

    <?xml version='1.0'?>
    <feed xmlns='http://www.w3.org/2005/Atom' 
        xmlns:gtb='http://toolbar.google.com/custombuttons/'>
    <id>http://www.example.com/custombuttons/samples/feeds/weather</id>
    
    <title>Weather Mountain View, CA</title>
    <link href='http://www.google.com/search?q=weather+94043/' />
    <link rel='self'
        href='http://www.example.com/custombuttons/samples/feeds/weather' />
    <gtb:description>Mountain View, CA
    63F Mostly Cloudy
    Humidity: 48%
    Wind: NW at 8 mph</gtb:description>
    <gtb:icon mode='base64' type='image/x-icon'>
    R0lGODlhKAAoANUAAEuc/Pz8/Fik/Ii00k9daZGPivLy8tbW1k2R0uvr6wZj3HSq0f/QMMfHx7a2
    tj2F0fu0EePj4yx81neUp4J/eKanphJq3IJtOGB3iI3C5BFt5B5XnWis7H2346jO5/6+IWKo8923
    ... and so on...
    </gtb:icon>
    
    <entry>
    <title>Today: Mostly Cloudy 65 | 50</title>
    
    <link href='http://www.google.com/search?q=weather+94043/' />
    <id>http://www.example.com/custombuttons/samples/feeds/weather/0</id>
    <gtb:icon mode='base64' type='image/x-icon'>
    R0lGODlhKAAoANUAAEuc/Pz8/Fik/Ii00k9daZGPivLy8tbW1k2R0uvr6wZj3HSq0f/QMMfHx7a2
    tj2F0fu0EePj4yx81neUp4J/eKanphJq3IJtOGB3iI3C5BFt5B5XnWis7H2346jO5/6+IWKo8923
    ... and so on...
    </entry>
    
    <entry>
    <title>Thu:  66 | 51</title>
    <link href='http://www.google.com/search?q=weather+94043/' />
    <id>http://www.example.com/custombuttons/samples/feeds/weather/1</id>
    <gtb:icon mode='base64' type='image/x-icon'>
    R0lGODlhKAAoAPcAAAAAAP///4WOwPT1+tDT3unr8sHG1ff5/6Wy0mZ8rGqAr3mJrJakxa+zvHSK
    tcDBw1R2slBql110njBXjztmqS9OfjtekTZWhGeJuoqctklLTgJYyQJQtQ9hzhRr3BZlzBVRoS1S
    ... and so on...
    </gtb:icon>
    
    </entry>
    
    <entry>
    <title>Fri:  67 | 51</title>
    <link href='http://www.google.com/search?q=weather+94043/' />
    <id>http://www.example.com/custombuttons/samples/feeds/weather/2</id>
    <gtb:icon mode='base64' type='image/x-icon'>
    
    R0lGODlhKAAoANUAAObm52ms7k2Q0Uuc/Fmk+v2zDoS01HOp0avP5tvb26CPXQZj3DqG14yLh05Y
    Yf/IKv/VN3mCiMPDw6SkpCt82GhxePz8/JG+2pd5NRZu3hBq3fb29rCAFrm5uSN549OWE4WltqHI
    ... and so on...
    </gtb:icon>
    </entry>
    <entry>
    <title>Sat:  67 | 50</title>
    <link href='http://www.google.com/search?q=weather+94043/' />
    
    <id>http://www.example.com/custombuttons/samples/feeds/weather/3</id>
    
    <gtb:icon mode='base64' type='image/x-icon'>
    R0lGODlhKAAoANUAAObm52ms7k2Q0Uuc/Fmk+v2zDoS01HOp0avP5tvb26CPXQZj3DqG14yLh05Y
    Yf/IKv/VN3mCiMPDw6SkpCt82GhxePz8/JG+2pd5NRZu3hBq3fb29rCAFrm5uSN549OWE4WltqHI
    ... and so on...
    </gtb:icon>
    </entry>
    </feed>
    

    執行這項作業的 PHP 程式碼採用的是氣象預報回覆格式

    <?php
    
    // Script to convert Google xml weather interface to custom buttons AtomFeed 1.0
    // Sample input at http://www.google.com/ig/api?weather=94043
    // To see sample output, run this script with ?zip=94043
    
    $zip = $_GET['zip'];
    
    header('Content-type: text/xml');
    
    // http://www.google.com/ig/api?weather=94043
    $dom= domxml_open_file("http://www.google.com/ig/api?weather=$zip");
    
    $xpath = xpath_new_context($dom);
    // $params = $dom->documentElement->firstChild->getElementsByTagName('param');
    
    $temp = $xpath->xpath_eval('//city/@data');
    $city = $temp->nodeset[0]->value;
    
    $icons = $xpath->xpath_eval('//current_conditions/icon/@data');
    $icon_url = $icons->nodeset[0]->value;
    $icon = base64_encode(file_get_contents("http://www.google.com$icon_url"));
    
    $conditions = $xpath->xpath_eval('//current_conditions/condition/@data');
    $condition = $conditions->nodeset[0]->value;
    
    $temp = $xpath->xpath_eval('//current_conditions/temp_f/@data');
    $tempf = $temp->nodeset[0]->value;
    
    $temp = $xpath->xpath_eval('//current_conditions/humidity/@data');
    $humidity = $temp->nodeset[0]->value;
    
    $temp = $xpath->xpath_eval('//current_conditions/wind_condition/@data');
    $wind = $temp->nodeset[0]->value;
    
    echo "<?xml version='1.0'?>";
    echo "\n<feed xmlns='http://www.w3.org/2005/Atom' ";
    echo     "xmlns:gtb='http://toolbar.google.com/custombuttons/'>";
    echo "\n<id>http://www.example.com/custombuttons/samples/feeds/weather</id>";
    echo "\n<title>Weather $city</title>";
    echo "\n<link href='http://www.google.com/search?q=weather+$zip/' />";
    echo "\n<link rel='self' href='http://www.example.com/custombuttons/";
    echo     "samples/feeds/weather' />";
    echo "\n<gtb:description>$city\n$tempfF $condition\n$humidity\n$wind";
    echo   "</gtb:description>";
    echo "\n<gtb:icon mode='base64' type='image/x-icon'>$icon</gtb:icon>";
    
    $days = $xpath->xpath_eval('//forecast_conditions/day_of_week/@data');
    $conditions = $xpath->xpath_eval('//forecast_conditions/condition/@data');
    $icons = $xpath->xpath_eval('//forecast_conditions/icon/@data');
    $highs = $xpath->xpath_eval('//forecast_conditions/high/@data');
    $lows = $xpath->xpath_eval('//forecast_conditions/low/@data');
    
    for ($i = 0; $i < count($conditions->nodeset); $i++) {
      $day_of_week = $days->nodeset[$i]->value;
      $condition = $conditions->nodeset[$i]->value;
      $high = $highs->nodeset[$i]->value;
      $low = $lows->nodeset[$i]->value;
      echo "\n<entry>";
      echo "\n<title>$day_of_week: $condition $high | $low</title>";
      echo "\n<link href='http://www.google.com/search?q=weather+$zip/' />";
      echo "\n<id>http://www.example.com/custombuttons/samples/feeds/weather/$i</id>";
      $icon_url = $icons->nodeset[$i]->value;
      $icon = base64_encode(file_get_contents("http://www.google.com$icon_url"));
      echo "\n<gtb:icon mode='base64' type='image/x-icon'>$icon</gtb:icon>";
      echo "\n</entry>";
    }
    
    echo "\n</feed>";
    
    ?>
    
    

    您也可以在工具列資訊提供中,使用與 RSS 1.0、RSS 2.0、Atom 1.0 和 Atom 0.3 資訊提供相同的 'http://toolbar.google.com/custombuttons/' 名稱領域和說明或圖示標記。

    多國語言

    自訂按鈕可以處理特定工具列地區設定的替代 URL、圖示和文字。 以下列出執行這項作業的兩種方法 -- 建議您使用第一種方法。

    使用 locale 屬性

    建議的使用方法是建立一份 XML 標記清單,清單中的每一個標記都使用 locale="iso-name" 屬性,以 iso-name 代表相關的地區設定。 下列範例顯示可替代法文與西班牙文 URL 及說明的按鈕:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <title>Wikipedia</title>
        <site>http://www.wikipedia.org</site>
    
        <site locale="fr">http://fr.wikipedia.org</site>
        <site locale="es">http://es.wikipedia.org</site>
        <description>The Free Encyclopedia</description>
    
        <description locale="fr">L'encyclopdie libre</description>
        <description locale="es">La enciclopedia libre</description>
      </button>
    </custombuttons>
    
    

    如果無法直接從 XML 標記找出目前工具列語言的地區設定,便會使用上列清單中的第一個標記作為預設值。

    使用 {locale} 變數

    另一種方法是使用內嵌在 URL 中的 {locale} 變數,例如 http://{locale}/wikipedia.org。 如果得出的地區設定集合完全對映至不同的網站 (Google.com 就是一個例子),這種方法就可發揮絕佳的效果。 不過,大多數的使用者都不符合這種情況, 因為現存網站可能使用 Google 工具列尚未支援的特定地區設定。 例如,在我們撰寫這篇文章時,Wikipedia 已經有波蘭文版本 (http://pl.wikipedia.org),但是波蘭文 (pl) 不是原始的工具列地區設定,因此波蘭文的使用者無法連上該網站。 相反地,雖然工具列可以支援巴西葡萄牙文 (pt-BR) 地區設定,但是 Wikipedia 卻沒有這個特殊地區設定的網站。 另外,您也可以在適當情況下混合使用指定 locale 屬性的陳述式,以及指定 {locale} 變數的陳述式 – 在這種情況下,第一個屬性仍為預設值。

    ISO 地區設定表

    目前支援的工具列地區設定包括:

    ISO 地區設定 語言
    en 英文
    da 丹麥文
    de 德文
    es 西班牙文
    fi 芬蘭文
    fr 法文
    it 義大利文
    ja 日文
    ko 韓文
    nl 荷蘭文
    no 挪威文
    pt-BR 巴西葡萄牙文
    ru 俄文
    sv 瑞典文
    zh-CN 中文 (簡體)
    zh-TW 中文 (繁體)

    保存自訂按鈕

    保存按鈕的位置

    您用來保存按鈕之 XML 檔案的下載 URL 非常重要,因為該 URL 會變成可以用來更新按鈕的唯一按鈕 ID。 如果您再次嘗試從相同的 URL 下載按鈕時,工具列只會提供取代原有按鈕的選項,而不會讓您新增按鈕。 如需詳細資訊,請參閱更新自訂按鈕

    將按鈕加入 Google 的按鈕集

    將按鈕加入 Google 的按鈕集是對外公開新按鈕的好方法。 您的 XML 檔必須已經保存在某個位置 (按鈕集會直接連結到這個檔案),而且按鈕必須符合我們的編輯指南

    如果您已經為自有的網站建立了按鈕,就應該將 XML 檔保存在該網站的相同網域上。 如果 Google 按鈕集裡的按鈕保存在該按鈕存取之網站的相同網域上,這些按鈕將會標示為「官方」。 以方便使用者找到您網站的官方按鈕。

    完成上述所有步驟之後,請填寫按鈕集提交表單,向 Google 介紹您的按鈕。

    連結到網站上的按鈕

    您可以透過建立安裝連結的方式,在自己的網站上提供您的按鈕。 當 Google 工具列 4 的使用者按一下這個連結時,就會收到安裝按鈕的提示。 如果使用者沒有相容版本的工具列,這個連結就會連結到 Google 工具列的下載網頁。

    開發人員可以使用下列 URL 語法建立安裝連結:

    http://toolbar.google.com/buttons/add?url=url

    其中 url 指向自訂按鈕的 XML 檔。 例如,以下連結將會安裝 Slashdot.com 按鈕:

    <a href="http://toolbar.google.com/buttons/add?url=http://www.slashdot.org/slashdot_button.xml">Add</a>

    這個連結的標籤是 [新增]。 在使用者按一下這個連結之後,Slashdot.com 按鈕便會安裝在他們的 Google 工具列上。

    上述的 Google URL 基本上是工具列安裝任何自訂按鈕的觸發器。 如果使用者沒有相容版本的工具列,就會收到安裝工具列的提示。 工具列安裝完成之後,便會自動加入自訂按鈕。

    管理資訊提供流量

    資訊提供的網頁流量可能會造成問題。 如果您相信按鈕將會愈來愈受歡迎,網頁流量也會愈來愈大,就不應該將按鈕的資訊提供指向頻寬較低的伺服器, 因為伺服器可能因為更新要求而發生超載的狀況。

    自訂按鈕本身擁有適用於資訊提供的 refresh-interval 屬性。 工具列會採用伺服器在 HTTP 標頭中提供的「到期」時間。 這項設定會覆寫按鈕的 refresh-interval。 如果伺服器已經超載,您應該延長「到期」時間,以降低其負載。 例如,如果按鈕設定成每一小時重新整理一次,可以將「到期」時間設為每天重新整理一次,如此便可大幅降低流量 (不過這也可能會降低按鈕的更新率)。

    下列範例 PHP 指令碼可以將 Expires 時間設定成一個星期後:

    <?php
    $expires = gmdate("D, d M Y H:i:s", time() + 3600 * 24 * 7) . " GMT";
    Header("Expires: " . $expires);
    ?>
    

    伺服器傳回的 HTTP 回應範例:

    HTTP/1.1 200 OK
    Date: Thu, 05 Jan 2006 23:39:54 GMT
    Server: Apache/2.0.47 (Red Hat Linux)
    Accept-Ranges: bytes
    X-Powered-By: PHP/4.3.2
    Expires: Thu, 12 Jan 2006 23:39:54 GMT
    Transfer-Encoding: chunked
    Content-Type: text/html
    

    參照

    XML 參照

    自訂按鈕 XML 檔具有下列結構:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
    
      <button>
        <!-- XML elements -->
      </button>
    </custombuttons>
    

    下列 XML 元素可以出現在 <button> 元素內。 任何元素 (<update> 除外) 都可以出現一次以上,但是您必須將各個元素指定給不同的地區設定

    <title> 文字 </title>
    使用者可以在自訂按鈕清單 ([設定] > [選項] > [自訂按鈕]) 中看到自訂搜尋按鈕標題,此標題也可能在按鈕旁邊顯示。 這個值應該具有獨特性,因為如果這個值顯示成搜尋類型,它也會具有預設關鍵字的功能。
    這個元素支援的 locale 屬性與下面的 <search> 相同。
    請參閱 <title> 範例
    <description> 工具秘訣 </description>
    自訂搜尋的工具秘訣文字:如果使用者將滑鼠游標移到自訂搜尋上方,就會看到這段文字。 這段文字也是使用者從網站下載按鈕之後會看到的說明。
    這個元素支援的 locale 屬性與下面的 <search> 相同。
    請參閱 <description> 範例
    <site> url </site>
    當搜尋框中沒有新文字時,瀏覽器便會連到這個選用 URL。 基於安全性考量,通訊協定只能使用 http: 和 https: 。 本文後面將詳述此 URL 內的下列變數{domain}{url}{url.noescape}{url.host}{locale}
    <site> 元素支援的 methodlocale 屬性與下面的 <search> 相同。
    請參閱 <site> 範例
    <search> url-範本 </search>
    當使用者按下按鈕且搜尋框中有「新」的搜尋字詞時,瀏覽器就會連到這個 URL 並加以搜尋 (「新」表示搜尋框有要搜尋的目標)。 此 URL 必須使用 http:https: 標準,不能使用 javascript:。 搜尋範本必須有 {query} 變數 (其他 URL 範本則不能有這個變數)。 這個元素是選用項目;如果搜尋按鈕清單不應該包含這個按鈕,便可省略這個元素。
    搜尋元素可以指定下列屬性:
    method="post"|"get"
    預設值為 "get"。 設為 "post" 則可在傳送 URL 編碼的表單資料時,使用 post 取代 get。 編碼方式必須為 application/x-www-form-urlencoded。 執行搜尋時,問號 '?' 後面的所有文字 都會以發佈資料的形式來傳送。
    locale="en"|"da"|"de"|"es"|"fi"|"fr"|"it"|"ja"|"ko"|"nl"|"no"|"pt-BR"|"ru"|"sv"|"zh-CN"|"zh-TW"
    指定這個元素可以提供替代 URL 的地區設定。 請加入 ISO 地區設定名稱,例如 locale="fr"。 您通常都會指定多個元素,各個元素都有自己的地區設定屬性和替代 URL (搭配其他 XML 元素使用時,這個屬性可以指定不同的圖示或文字)。 請參閱地區設定範例ISO 地區設定表
    請參閱 <search> 範例
    <send> url-範本 </send>
    當搜尋框中沒有任何文字,而且使用者已在瀏覽器視窗中選取了文字時,瀏覽器便會連到這個選用 URL。 傳送範本必須有 {selection} 變數 (其他 URL 則不能有這個變數)。
    <send> 元素支援的 methodcharsetlocale 屬性與上述的 <search> 相同。
    請參閱 <send> 範例
    <icon> base64-編碼 </icon>
    Windows 樣式之 .ico 檔的實際位元數,最好是 XP 樣式的 16x16 32 位元 RGBA 圖片,許多網站都使用這種圖片當作他們的 favicon.ico 檔。 由於這是二進位值,因此必須使用 base64 編碼。 如果沒有任何圖示,將會選擇預設圖示。 一般偏好的格式為 16x16 XP 樣式的 Alpha 混色 .ico 圖片,但是也支援任意大小 (但是工具列會將它調整成 16x16) 的標準 ICO、JPG、BMP 和 GIF 圖片。XP RGBA 圖示適用於可以執行 Google 工具列的所有作業系統,因此不需要建立 256 色或 16 色的替代圖示。 不支援 PNG。
    modetype 不是必要屬性,但是可以簡化您在 XML 編輯器 (可以解譯這些屬性) 中的編輯工作:
    mode="base64"
    圖示編碼。
    type="image/x-icon"
    圖片的類型。
    這個元素支援的 locale 屬性與上述的 <search> 相同。
    請參閱 <icon> 範例
    <feed> url </feed>
    指定連到 RSS 2.0 或 Atom 資訊提供 0.3/1.0 XML 檔的 URL。 這個元素可以增加開啟包含 RSS 資訊提供標題、說明和連結之下拉式選單的功能;這項功能與 Firefox RSS 書籤類似,都會自動更新 (不必由使用者啟動)。 這是選用的元素,而且大部分的自訂搜尋都不會用到這個元素。 您也可以在資訊提供中使用 {domain}{locale} 變數。
    這個元素具有下列屬性:
    menu="true"|"false"
    將這個屬性設為 false 即可隱藏資訊提供的下拉式項目選單。 預設值是 true。
    refresh-interval="secs"
    重新載入資訊提供之前等待的秒數。 預設值是 3600 (1 小時)。 即使將這個值設定成小於 60,工具列更新的頻率也不會超過一分鐘一次。
    refresh-onclick="true"|"false"
    將這個屬性設為 true 即可強制工具列在每次使用者按一下按鈕時重新載入按鈕。 預設值是 false。
    google-service="true"|"false"
    如果這是 Google 帳戶服務,請將這個屬性設為 true,這表示使用者必須登入 Google 才能使用這項服務。 工具列會在偵測到登入作業時執行重新整理,而登出作業則會清除選單項目。
    這個元素支援的 locale 屬性與上述的 <search> 相同。
    請參閱 <feed> 範例
    <feed-icon> base64-編碼 </feed-icon>
    當資訊提供中有新項目時,便會顯示這個替代圖示 (格式與 <icon> 相同)。 在使用者按一下按鈕之後,這個圖示就會回復成正常圖示,直到下次資訊提供更新為止。 資訊提供伺服器可以直接在 Atom 資訊提供或 RSS 2.0 回應中指定圖示,在這種情況下,<feed-icon><icon> 將會變成第二順位的圖示。
    這個元素支援的 locale 屬性與上述的 <search> 相同。
    (本文未提供任何 <feed-icon> 範例,但是這個範例與 <icon> 範例類似)。
    <feed-description> 工具秘訣 </feed-description>
    當資訊提供中有新項目時,工具秘訣中便會顯示這段替代說明。 在使用者按一下按鈕之後,這段說明就會回復成正常說明,直到下次資訊提供更新為止。
    這個元素支援的 locale 屬性與上述的 <search> 相同。
    (本文未提供任何 <feed-description> 範例,但是這個範例與 <description> 範例類似)。
    <update> url </update>
    下載此按鈕定義的來源 URL;如果使用者按一下連結進行更新 ([設定] > [選項] > [自訂按鈕] > [選取按鈕] > [編輯] > [下載最新版本]),這也是更新按鈕取得替代 XML 檔的來源 URL。 如果按鈕的下載來源不是 google.com 提供的網頁安裝程式,便會以實際的 URL 覆寫這個 URL。 這是自訂按鈕中唯一一個不能有 locale 屬性的元素。
    請參閱 <update> example
    <option> 子元素 </option>
    指定本機定義的選項字串;使用者可以輕易地在工具列設定方塊中變更這個字串。 此值由 {option1} 變數傳回。 這個元素可以有三個子元素,其中第一個子元素是必要項:
    <title>
    選項的名稱。 使用者會在工具列設定對話方塊中看到這個名稱。 這是必要的子元素。
    <description>
    這個選項的說明。 使用者會看到這段說明。 每個選項可以有多個說明。 這是選用的子元素。
    <default>
    {option1} 標記的預設值。 如果使用者沒有輸入任何值,便會使用這個值。 這是選用的子元素。
    請參閱 <option> 範例

    逸出字元

    顯示 HTML 實體時,XML 檔案 (和 HTML 檔案) 中的字串必須將下列三個字元轉換成逸出字元:

    字元 逸出字串
    & &amp;
    > &gt;
    < &lt;

    變數參照

    注意 - 變數包含一種條件式 {a?b:c} 語法,可以提供正向與反向相容性。 如需詳細資訊,請參閱測試變數是否存在

    下列變數 (又稱逸出參數) 適用於指定範圍內列出的元素。 例如,{query} 只適用於 <search> 元素。

    {query}
    傳回使用者在工具列的搜尋框中輸入的字串,其使用加號 '+' 逸出字元代表空格,以 URL 逸出字元代表標點符號字元,並使用 UTF-8 編碼字元代表國際字元。 某些網站的查詢可能必須使用 UTF-8 以外的其他編碼方式,例如所在國家的本國字元編碼 (如日本為 shift-JIS)。
    範例值: 如果使用者在搜尋框中輸入 "hello world",這個變數便會傳回 "hello world"
    範圍: <search> 元素
    請參閱 {query} 範例
    {url}
    傳回瀏覽器網址欄位中的 URL,除了字母、數字、句號 (.) 或底線 (_) 以外,任何字元都會進行編碼 (逸出)。 例如,"at" 符號 (@) 的編碼為 %40,而空格的編碼則為 %20。
    範例值: http%3A%2F%2Fwww.wikipedia.org (http://www.wikipedia.org 的逸出版本)
    範圍: <search><site><send> 元素
    請參閱 {url} 範例
    {url.host}
    傳回網站字串。
    範例值: www.google.com
    範圍: <search><site><send> 元素
    請參閱 {url.host} 範例
    {url.noescape}
    一字不漏地傳回與瀏覽器網址欄位顯示完全相同的 URL,不再進行任何編碼。
    範例值: http://www.wikipedia.org
    範圍: <search><site><send> 元素
    請參閱 {url.noescape} 範例
    {domain}
    傳回該工具列的主要 Google 搜尋網域。 也就是說,這個變數會傳回對應搜尋結果的網域,而不是使用者所在的網域。
    範例值: comco.uk
    範圍: <search><site><send><feed> 元素
    請參閱 {domain} 範例
    {locale}
    傳回工具列的 ISO 地區設定
    範例值: enespt-BR
    範圍: <search><site><send> 元素
    請參閱 {locale} 範例
    {selection}
    傳回目前在瀏覽器視窗中選取的純文字。 這段文字會以 utf-8 或 charset 屬性指定的任何方式進行編碼,並採用 cgi 逸出功能。 如果編碼方式不是 post,可能會將文字截斷。
    範例值: 如果使用者在瀏覽器中選取粗體文字 "hello world",這個變數將會傳回純文字 "hello world"
    範圍: <send> 元素
    請參閱 {selection} 範例
    {option1}
    傳回使用者利用 <option> 元素指定的值。 這個變數必須放在 URL 中 (這個變數使用 option1 這個名稱是為了預防將來還需要加入其他選項)。
    範例值: 如果使用者在自訂按鈕的工具列設定中指定郵遞區號,這個變數會在 URL 中傳回這個值,例如 "94043"。
    範圍: 必須放入 <search><site><send><feed> 元素中的 URL
    請參閱 {option1} 範例