Google ツールバー
Google ツールバー API

Internet Explorer 用 Google ツールバー 4 にカスタム ボタンを作成する方法

ここではカスタム ボタンを作成する方法を説明します。 現時点では、カスタム ボタンは Internet Explorer にのみ対応しています。

目次

備考
  • XML リファレンス
  • エスケープ文字
  • 変数の参照
  • はじめに

    カスタム ボタンとは

    カスタム ボタンはカスタム ナビゲーション、検索、送信、更新の機能を実行するボタンで、Google ツールバーに追加することができます。 カスタム検索ボタンは、Google だけでなく、ほとんどのウェブ サイトの検索エンジンで使用可能です。

    検索ボタンをクリックすると次のような処理が実行されます。

    • ブックマークと同様に、ウェブ サイトをブラウザに表示します。
    • ウェブ サイトをブラウザに表示し、ユーザーがツールバー検索ボックスに入力したテキストの検索をそのページの検索エンジンで実行します。 たとえば、Wikipedia ボタンは wikipedia.org にアクセスし、ご自身で入力したクエリを検索します (ツールバーのロケールに基づき、各国のウェブ サイトのうち、どれにでもアクセスできます)。
    • ブラウザで選択したテキストを、メールやブログで送信できます。
    • ボタン アイコン、ツールのヒント、およびアイコンの文字列とプルダウン リストを、RSS フィードで更新できます。

    カスタム ボタンは次のようなユーザー インターフェース機能を備えています。

    • アクセスするウェブ サイトまたは実行する処理を表すアイコン (<icon>) このアイコンは、RSS フィードから更新することができます (<feed>)。
    • ニュース フィードの見出しなど、RSS フィードから更新できるアイコンや文字列のプルダウン リスト (下向きの矢印ボタンをクリックしてアクセスします) (<feed>)
    • ポインタを合わせると一時的に表示されるボタン ツールのヒントの説明 (<description>)
    • ボタンの横にタイトルが表示されるオプション (<title>)

    上記のユーザー インターフェース機能のプロパティに加えて、カスタム ボタンには上記のタスクを実行する次のプロパティを XML ファイルとして備えています。

    • 検索ボックスが空白のときにボタンをクリックするとアクセスするウェブ サイトの URL (<site>)
    • 検索ボックスに検索クエリを入力してボタンをクリックするとアクセスし、検索を実行する検索サイトの URL (<search>)
    • 選択したテキストが送信される、送信先ウェブ サイトの URL (<send>)
    • ボタンの更新時にアクセスする更新 URL (<update>)

    Slashdot、Wikipedia、および BBC (ハイライト表示) のカスタム ボタンのあるツールバーのサンプルは次をご覧ください。 BBC ボタンは、下向き矢印で表示されるニュース フィードの見出しのプルダウン リストです。

    カスタム ボタンを追加する

    Google ツールバーでカスタム ボタンの追加または管理を行うには、次をご覧ください。

    • ユーザーがカスタム ボタンを追加 (インストール) する最も簡単で一般的な方法は、直接、作成者のウェブ サイトで希望のボタンをクリックし、追加の確認をすることです。 この方法で追加できるアイコンについては Google ツールバー ボタン ギャラリー をご覧ください。作成者はインストールの確認のメッセージを表示する特別なコマンド URL を使用しています。 Google ツールバーがまだインストールされていない場合は、ツールバーのダウンロードのページが表示されます。
    • 2 番目の方法は、テキスト検索の入力ボックスを右クリックして、自動的にカスタム検索ボタンを作成し、追加する方法です。
    • 3 番目の方法は、Google ツールバーの詳細エディタを使用してカスタム ボタンを編集する方法です。詳細エディタは [設定] から [オプション] をクリックし、[ボタン] タブの中の[カスタム ボタン] を選択後に [編集] をクリックし、[詳細エディタを使用する] をクリックしてご利用ください。
    • 4 番目の方法は手動でカスタム ボタンを作成し、インストールする方法です。
    • 5 番目の方法は、IT 管理者が URL の XML ファイルにグループ ポリシーの文字列を使用して、Windows コンピュータ上でカスタム ボタンを作成するか、または、Windows のファイル システムの "All Users" のアプリケーション データにファイルを記述するためにインストーラを組み込む方法です。

    カスタム ボタンの作成方法

    自動的にカスタム検索ボタンを作成し、追加する

    1. Microsoft Internet Explorer (IE) を起動し、カスタム ボタンを作成したい検索ページにアクセスします。
      例: www.wikipedia.org

    2. 設定を希望するページの検索ボックスを右クリックして、[カスタム検索を実行...] を選択し、次に [追加] をクリックします。

    カスタム ボタンがインストールされ、すぐに利用できるようになります。

    この処理では、アイコンとカスタム ボタンの XML ファイルが生成され、次の場所にハッシュ化された名前で保存されます。:

    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 が 2 行に分けて記述してあり、URL の中間には改行文字が挿入されていますが、動作にはまったく問題ありません。
    注: このガイドに挙げられた例は共通して、<button> 要素内の XML コードの部分だけが変更されます。

    手動でカスタム ボタンを作成し、インストールする

    Google ツールバーにカスタム ボタンをインストールするには、次をご覧ください。

    1. 前記または次のセクションと同様に、ボタンの XML ファイルを作成します。
    2. ボタンの XML ファイルを次の場所に保存します。

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

      ユーザー名は Windows のログイン名で、ファイル名 はご自身が 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 の検索エンジンを使ってインターネットを検索できるボタンの 2 つの例をご紹介します。

    このように設定するには、ボタンの XML ファイルに <search> url-template </search> の形式で検索要素を追加します。 次の例にあるように、{query}変数を使用した検索クエリの URL を含めてください。 GET と POST のクエリを使用することもできます (method 属性を使用して指定)。デフォルトは GET です。 URL は http:、または https: に基づいたものである必要があります。 javascript: は使用できません。 url-template 内の小なり (<)、大なり (>)、およびアンパサンド (&) は エスケープ する必要があります。

    注: <search> 要素は、{query} 変数を含んでいる必要があります。含まれていない場合、ボタンは表示されません。

    Wikipedia 検索のカスタム ボタン

    Wikipedia の検索エンジンを使用して wikipedia.org を検索するボタンを作成するには、たとえば、"dog" のような最も単純な Wikipedia クエリから始めます。 http://en.wikipedia.org/wiki/Special:Search?search=dog&fulltext=Search. ツールバー検索ボックスに入力した検索クエリを検索するには、"dog" を "{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 検索のカスタム ボタン

    Goolge の検索エンジンを使用してインターネットを検索するボタンを作成するには、たとえば、"dog" のような最も単純な Google クエリから始めます。 http://www.google.com/search?q=dog. 次に、"dog" を "{query}" に置き換えます。

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

    次に例を示します。

    Slashdot 検索

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

    検索クエリを POST として送信する

    検索クエリを GET ではなく、POST として送信するには、検索要素に method="post" 属性を含めます。 最後の疑問符 “?” 以降はすべて www-urlencoded 形式の postdata として送信されます。 ウェブ サイトによっては URL エンコード形式のデータではなく、フォーム エンコード形式のデータを使用している場合もありますが、現時点では後者には対応していません。 また、疑問符 ”?” を 2 つ使うことで CGI パラメータと postdata を同時に送信することもできます。

    The Onion 検索

    この例では、postdata (ハイライト表示) の送信に POST 方式を使用しています。

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

    カスタム ボタンを更新する

    ボタンを定義する XML ファイルの置かれている URL が、ボタン固有の ID となり、ボタンの更新に必要となります。 同一の URL でダウンロードを繰り返しても、ツールバーでは古いボタンの置き換えのみが行われ、新しいボタンが追加されることはありません。

    ボタンを追加する 5 つの方法のうち、最初の方法と最後の方法では更新が自動的に行われ、XML ファイルに記述された <update> 値は無視されます。 残りの 3 つの方法については、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>
    

    option 内の title は必要ですが、default と description は必ずしも必要ではありません。 ユーザーのテキストを挿入するには、url テンプレートの定義内に変数 {option1} のを使用してください。

    この時点では、入力の検証やホワイトスペースのトリミングを行う必要はありません。{option1} 変数は、フォーム送信のテキスト編集ボックスと同様に、utf-8 を使った入力や cgi パラメータをすべてエスケープします。

    現在の URL を組み込む

    検索クエリを送信する以外に、現在ブラウザに表示している URL を指定する方法が 3 つあります。: {url}エンコードする、{url.noescape}エンコードしない、または{url.host}ウェブ サイトのみの 3 つです。

    archive.org にはエスケープしない URL が必要とされるため、次の例では、現在のページの古いバージョンを検索するために URL を archive.org に送信するのに {url.noescape} を使用しています。

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

    次の例でも、同じ archive.org の検索を実行できます。

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

    現在のウェブ サイトで Google 検索エンジンを使う場合は、{url.host} を使用してください。

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

    Google ドメインのサフィックスを組み込む

    Google ツールバーには、comco.uk のような、ドメイン取得のための変数 {domain} があります。 検索ドメインは Google ツールバーの [設定] > [オプション] > [検索] タブ > [使用する Google サイト] にあります。この文字列は "google." の後に続きます。

    ドメインの文字列は、ハードコーディングするのではなく、変数 {domain} を使用するようにしてください。 したがって、Google 検索は次のように記述される必要があります。

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

    ユーザーの選択したテキストを送信する

    ウェブ ページでユーザーが選択したプレーン テキストを送信するようカスタム ボタンを設定することもできます。 この設定は、翻訳サービス、ブログやメッセージングの アプリケーションなどで役立ちます。 テキストが選択されると、カスタム ボタン アイコンに小さなテキスト アイコンが表示されます。

    この操作には <send> 要素が必要です。 <send> 操作の対象 URL は <search> の対象 URLとは異なります。 <send> タグは、ブラウザ内で選択されたプレーン テキストを決定する変数 {selection} を含んでいる必要があります。

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

    送信操作を実行するカスタム ボタンは、テキストが選択されるとマウスの右クリックのコンテキスト メニューにも表示されます。

    変数が存在するかどうかを確認する

    ツールバーの拡張に伴い、挿入される URL 変数の数も増加します。 新しい変数との互換性を確保するために、次の {a?b:c} シンタックスがすべてのカスタム ボタン対応のパーサーでご利用いただけます。

    {存在有無を確認するパラメーター?パラメーターがある場合に表示するテキスト:ない場合に表示するテキスト}
    

    つまり、高度なカスタム ボタンの作成者が新しい機能を安全に利用でき、新しい機能を解析できないパーサーとの互換性を持たせることが可能になります。 たとえば、{locale} 変数が挿入されたとします。 このような URL テンプレートを使うと、古いバーションのツールバーには確実に影響を及ぼさないようにすることができます。

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

    ツールバーが {locale} 変数をサポートしている場合には、次のように拡張します。

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

    対応していない場合は、次のようになります。

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

    {a?b:c} 表現は最大 10 個までネストすることができますが、ネスト部分の前には "?" が記述されている必要があります。 たとえば、次のようにします。

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

    エスケープ処理が認識されない場合には、パーサーは空白の文字列で置き換えます。 したがって、”Hell{blah}o World” は、”Hello World” と表示されます。 また、中かっこの ’{‘または ’}’ の数があわない場合や他の構文上の問題がある場合には、URL 全体が空白の文字列にリセットされます。

    独自のアイコンを作成する方法

    ファビコンとして使用されているアイコンはほとんどの場合、カスタム ボタンのアイコンとして使用することができます。 これには 16×16 BMP、 ICO、GIF、および JPEG 画像が含まれます。 base64 エンコードを使用して ASCII テキストにエンコードしてください。 インターネットでは、エンコーディングを代行するサイトが幾つかあります。たとえば、こちらのサイトでは [Browse... (参照...)] ボタンでエンコードしたいファイルを選択し、[Convert the source data (データのソースを変換する)] ボタンをクリックするとエンコーディングを開始します。 Javascript と PHP にも base64 エンコードの 1 行コマンドがあります。

    次は 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>
    

    カスタム ボタン アイコンは 16×16 を超えた場合、ツールバーが自動的に 16×16 にリサイズしますので、大きな画像はご自身で高性能のイメージ エディタを使用してリサイズした場合と比べて見劣りしてしまいます。

    最もきれいに見えるアイコンは 24 ビット カラー (RGB) と 8 ビットのアルファ チャネルを使用し、XP スタイル RGBA アイコンとして保存されているものです。アルファチャネルを設定して、16×16 の PNG 形式で保存し、IconWorkshop のようなプログラムで XP スタイル 16×16 アイコンに変換した後、base64 でエンコードします。 PNG ファイルは Windows が本来サポートしている形式ではないため、サポートしていません。

    アルファ チャネルを使う必要があるのは、すべてのユーザーのツールバーの背景が(グレー、シルバー、ベージュなど)、お客様が設定した色であるとは限らないためです。 Windows XP では、ツールバーの背景色を含めた、カラースキームのカスタマイズが可能です。 透明色を使用せず、四角いアイコンを作成することもできますが、あまり魅力的ではありません。 GIF 画像のような単色のアルファ チャネルでは、Google ツールバーや Internet Explorer などのように、適切にアルファ ブレンドされたアイコンに比べて境界線が荒くなります。

    アイコンやツールのヒントを自動更新する

    カスタム ボタンの機能の中に、定期的にリモートサーバーからボタンの画像やツールのヒントを自動更新できるというものがあります。 この更新には RSS フィードが使用されます。 RSS フィードによって、ボタンを通知デバイスや、天気予報などのステータス アイコンとして利用することができます。 また、テキストやアイコンの各種アイテムからなるプルダウン メニューを備えることもできます。 それぞれのメニュー アイテムには、クリックによって作動する動的 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>
    

    この複雑な "mood" 分析システムを実行するる 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 データは省いてあります)。 上記の例は次の URL でご覧いただけます。: 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>
    

    ツールバーのフィードにも同じ'http://toolbar.google.com/custombuttons/' ネームスペースと説明、または RSS 1.0、RSS 2.0、Atom 1.0、Atom 0.3 フィードのアイコン タグを使用できます。

    複数の言語

    カスタム ボタンは、複数の URL やツールバーのロケールのアイコンとテキストに対応しています。 これを実行する 2 つの方法については、次をご覧ください。最初の方法をお勧めします。

    ロケール属性を使用する

    推奨する方法は、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} 変数の使用

    別の方法は、http://{locale}/wikipedia.org のように、URL に組み込まれた {locale} 変数を使用することです。 このメソッドは 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 ファイルが既にどこかにホストされており (ボタン ギャラリー からファイルに直接リンクされます)、ボタンが Google の編集ガイドラインに準拠している必要があります。

    ご自身のウェブ サイトのボタンを作成された場合は、サイトと同じドメインで XML ファイルをホストしてください。 Google のボタン ギャラリー にあるボタンは、ボタンがアクセスするドメインと同じドメインにホストされている場合、"公式" なものと認められます。 これによって、ユーザーはお客様のサイトへ導かれる公式なボタンを簡単に見つけることができます。

    完了したらボタン ギャラリー の申請フォームに記入し、ボタンの詳細を Google までお知らせください。

    サイトからボタンにリンクを貼る

    インストール リンクを作成すると、ご自身のサイトでボタンの配布ができるようになります。 Google ツールバー 4 のユーザーがそのリンクをクリックすると、設定されたボタンをインストールできることを通知するメッセージが表示されます。 ユーザーが互換性のあるツールバーをインストールしていない場合は、Google ツールバーのダウンロードのページが表示されます。

    開発者は次の URL シンタックスを使用して、インストール リンクを作成することができます。

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

    上記 url はカスタム ボタンの XML ファイルが存在する URL です。 たとえば、Slashdot.com ボタンをインストールするリンクは次のとおりです。

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

    このリンクのラベルは Add です。 ユーザーがこのリンクをクリックすると、Slashdot.com のボタンがユーザーのツールバーにインストールされます。

    上記の Google URL は、基本的にはツールバーのカスタム ボタンをインストールする URL です。 ユーザーが互換性のあるツールバーをインストールしていない場合は、Goolge ツールバーのダウンロードのページが表示されます。 Google ツールバーがインストールされると、カスタム ボタンは自動的に追加されます。

    フィード トラフィックを管理する

    フィードを含むウェブ トラフィックには問題が起こる可能性があります。 ボタンが誘導するフィードの人気が出て、トラフィックが増加することが予想される場合は、回線容量の少ないサーバーにリンクさせない方がよいでしょう。 更新のリクエストによって負荷がかかりすぎる場合があります。

    カスタム ボタンにはフィード用の refresh-interval 属性があります。 ツールバーは、サーバーが HTTP ヘッダーに記述する "Expires" 時間に従います。 この設定は、ボタンの refresh-interval を上書きします。 サーバーに負荷がかかりすぎた場合は、この "Expires" 時間を延ばし、負荷がかからないようにします。 たとえば、ボタンを 1 時間ごとに更新するように設定してある場合、"Expires" 時間で更新が 1 日に 1 度行われるように設定すれば、トラフィックを大幅に減らすことができます。

    Expires 時間を 1 週間先に延長する PHP スクリプトは次のとおりです。

    <?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>
    カスタム ボタンの一覧 ([設定] > [オプション] > [ボタン] > [カスタム ボタン]) に表示されている、またはオプションとしてボタンの横に表示される、カスタム検索ボタンのボタン名。 この値は、検索タイプで出現した場合、デフォルトのキーワードとして機能するため、他と重複しないものにします。
    この要素は次の<search> 属性と同じ locale 属性をサポートします。
    <title> の例を参照してください。
    <description> ツールのヒント </description>
    カスタム検索のツールのヒントのテキストは、ポインタを合わせることで表示されます。 ボタンをダウンロードした後にユーザーに表示される説明は次のとおりです。
    この要素は次の<search> と同じ locale 属性をサポートします。
    <description> の例を参照してください。
    <site> URL </site>
    検索ボックスに新しいテキストが入力されていないときに誘導されるオプションの URL です。プロトコルはセキュリティのために http と https に限られています。 この URL では次の変数が拡張されます。{domain}, {url}, {url.noescape}, {url.host}、および {locale}
    <site>要素は、次の<search>と同じmethod、およびlocale属性をサポートします。
    <site>の例を参照してください。
    <search> url-template </search>
    検索ボックスに検索クエリを入力してボタンをクリックするとアクセスし、検索を実行する URL です。URL は http:、または https: ベースである必要があり、javascript: は使用できません。 テンプレートには、変数 {query} が必要ですが、他の URL テンプレートに含めることはできません。 この要素は必須ではなく、検索ボタンの一覧に含めない場合は省略してかまいません。
    検索要素は次の属性を指定します。
    method="post"|"get"
    デフォルトは "get" ですが、 "post" に設定して、URL エンコード形式のデータを送信するときに post を使用することもできます。 エンコーディング メソッドはアプリケーション/x-www-form-urlencode である必要があります。 検索が実行されると、疑問符 ”?” に続くすべてのテキストが postdata として送信されます。
    locale="en"|"da"|"de"|"es"|"fi"|"fr"|"it"|"ja"|"ko"|"nl"|"no"|"pt-BR"|"ru"|"sv"|"zh-CN"|"zh-TW"
    この要素が別の URL を提供するようにロケールを指定します。 locale="fr" のように、完全な ISO ロケール名を含めてください。 通常は、独自のロケール属性と別の URL をそれぞれ持っている複数の要素を指定します (この属性に加えて、他の XML 要素を同時に使用する場合は、他のアイコンやテキストを指定することもできます)。ロケールの例、およびISO ロケール テーブルをご覧ください。
    <search> の例を参照してください。
    <send> url-template </send>
    検索ボックスに検索クエリが入力されておらず、ブラウザ内のテキストが選択されているときに誘導される、任意の URL 送信テンプレートには、変数 {selection} が必要ですが、他の URL テンプレートに含めることはできません。
    <send> 要素は、上記の <search> 属性と同じく methodcharset、および locale 属性をサポートします。
    <send> の例を参照してください。
    <icon> base64 エンコード </icon>
    Windows の .ico ファイルの実際の記述部分で、多くのサイトで "favicon.ico" ファイルとして使用している、XP スタイル 16×16 32 ビット RGBA 画像を推奨します。 これはバイナリ値であるため、base64 でエンコードする必要があります。 アイコンが存在しない場合は、デフォルトのアイコンが表示されます。 16×16 XP スタイルのアルファ ブレンドした .ico 画像が適していると言えますが、通常の ICO、JPG、BMP、GIF にも対応しています。サイズは任意でかまいませんが、16×16 にリサイズされます。 XP RGBA アイコンは Google ツールバーが動作する全ての OS で動作しますので、256 色や 16 色の予備を作成する必要はありません。. PNG はサポートしていません。
    mode、およびtype 属性は必須ではありませんが、あれば XML エディタでの編集作業が楽になります。
    mode="base64"
    アイコンのエンコーディング
    type="image/x-icon"
    画像の種類
    この要素は上記の <search> 属性と同じく locale 属性をサポートします。
    <icon> の例を参照してください。
    <feed> URL </feed>
    RSS 2.0、または Atom Feed 0.3/1.0 XML ファイルに URL を指定します。 この要素は、Firefox RSS ブックマークと同じような、RSS フィードのタイトル、詳細、リンクを備えたプルダウン メニューを開く機能を追加し、自動的に更新されます。 この要素は任意で、カスタム検索ではほとんど使用されることがありません。 {domain}、および {locale} 変数もフィードで使用します。
    この要素は次の属性を持っています。
    menu="true"|"false"
    false“ に設定して、フィードの入力内容のプルダウン メニューを非表示にする。 デフォルトは ”true” です。
    refresh-interval="secs"
    フィードをリロードするまでの秒数。 デフォルトは、3600 秒 (1 時間) です。 ツールバーは値が 60 未満の場合でも 1 分に 1 回以上の更新は行いません。
    refresh-onclick="true"|"false"
    true” に設定して、ユーザーがボタンをクリックするたびにリロードが行われるようにする。 デフォルトは ”false” です。
    google-service="true"|"false"
    Google アカウントのサービスの場合に ”true” に設定して、ユーザーが Google にログインしないと利用できないようにする。 ログインを検知すると更新が行われ、ログアウト時にメニュー アイテムがクリアされます。
    この要素は上記の<search> 属性と同じく locale 属性をサポートします。
    <feed> の例を参照してください。
    <feed-icon> base64 エンコード </feed-icon>
    フィードに新しいアイテムがある場合に表示される予備のアイコンで、<icon> と同じ形式です。 ユーザーがボタンをクリックすると、アイコンは次回のフィード時まで通常のアイコンに戻ります。 フィード サーバーは Atom Feed または RSS 2.0 レスポンスで直接アイコンを指定し、その場合、<feed-icon>、または<icon>は 2 番目の優先事項となります。
    この要素は上記の<search> 属性と同じく locale 属性をサポートします。
    (<feed-icon> の例はありませんが、こちらの <icon> の例に似たものとなります)
    <feed-description> ツールのヒント </feed-description>:
    フィードに新しいアイテムがある場合にツールのヒントに表示される予備の説明です。 ユーザーがボタンをクリックすると、説明は次回のフィード時まで通常の説明に戻ります。
    この要素は上記の<search>属性と同じく locale 属性をサポートします。
    (<feed-description>の例はありませんが、こちらの<description>に似たものとなります)
    <update> URL </update>
    このボタンをダウンロードした URL で、ユーザーが更新リンクをクリックしたとき、置き換え用の XML ファイルを入手する URL です ([設定] > [オプション] > [ボタン ] > [カスタム ボタン] > [ボタンの選択] > [編集] > [最新バージョンにアップデートする])。 この URL は Google 以外のウェブからインストーラをダウンロードした場合、実際にダウンロードした URL に置き換えられます。 この要素はカスタム ボタンでロケール属性を持たない唯一の要素です。
    詳細については、 <update> の例をご覧ください。
    <option> 部分要素 </option>
    ツールバーの設定のダイアログ ボックスで、ローカルに定義されたオプション文字列を簡単に指定することができます。 この値は {option1} 変数で返されます。 この要素は 3 つの部分要素を持ち、最初のものは必須です。
    <title>
    オプション名 ツールバーの設定ダイアログ ボックスにこの名前が表示されます。 この部分要素は必須です。
    <description>
    オプションの説明 この説明が表示されます。 それぞれのオプションには複数の説明を適用できます。 この部分要素は任意です。
    <default>
    {option1}タグのデフォルト値 この値はユーザーが値を指定しなかった場合に使用します。 この部分要素は任意です。
    <option> の例.を参照してください。

    エスケープ文字

    XML ファイル (および HTML ファイル) の文字列は、次にあるようにエスケープする必要があります。

    文字 エスケープ文字列
    & &amp;
    > &gt;
    < &lt;

    変数の参照

    注: 条件付き {a?b:c} シンタックスは前後の互換性を持たせるためにあります。 詳細については、変数が存在するかどうか、確認するをご覧ください。

    次の変数、またはエスケープ パラメータは指定された範囲に列挙された要素に使われます。 たとえば、{query} は、<search> 要素内でのみ使用できます。

    {query}
    ツールバーの検索ボックスに入力された文字列を、空白はプラス文字 "+"、URL に含まれる句読記号はエスケープし、英語以外の文字列は UTF-8 エンコードされたものをエスケープします。 日本語の shift-JIS など、UTF-8 以外のその国固有の文字エンコーディングでクエリをエンコードするメソッドが必要となるウェブ サイトもあります。
    値の例: ユーザーが検索ボックスに「hello world」と入力した場合、この変数が "hello world" と決定します。
    範囲: <search> 要素
    {query} の例を参照してください。
    {url}
    ブラウザのアドレス フィールドの入力内容から URL を返し、文字、記号、ピリオド (.)、アンダーバー (_) でない記号をエスケープします。 たとえば、アットマーク (@) は %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" のような値を返します。
    範囲: URL の <search><site>、または<send>、もしくは <feed> 要素に含まれる必要があります。
    {option1} の例を参照してください。