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 툴바를 설치하지 않은 사용자가 명령 URL을 누르면 툴바 다운로드 페이지로 이동합니다.
    • 두 번째는 맞춤 검색 버튼을 자동으로 만들거나 추가하는 방법으로, 사용자가 검색어 텍스트 입력 상자를 마우스 오른쪽 버튼으로 클릭하면 됩니다.
    • 세 번째는 Google 툴바 고급 편집기를 사용하여 맞춤 검색 버튼을 수정하는 방법으로, 설정 > 옵션 > 맞춤 검색 버튼(탭) > 수정 > 고급 편집기 사용으로 이동하여 수정할 수 있습니다.
    • 네 번째는 맞춤 검색 버튼을 수동으로 만들기 및 설치하는 방법입니다.
    • 다섯 번째는 IT 관리자가 그룹 정책 문자열을 사용하여 Windows 시스템에 있는 맞춤 검색 버튼을 XML 파일로 URL에 게시하거나, 설치 프로그램을 래핑하여 Windows 파일 시스템의 "All Users" 응용 프로그램 데이터 섹션에 파일을 작성할 수 있습니다.

    맞춤 검색 버튼 만드는 방법

    맞춤 검색 버튼 자동으로 만들기 및 추가하기

    1. Internet Explorer를 열어 검색 버튼을 만들려는 페이지를 검색하십시오.
      예: www.wikipedia.org

    2. 사용하려는 페이지의 검색창을 마우스 오른쪽 버튼으로 클릭하여 "맞춤 검색 만들기…"를 선택한 후 "추가"를 클릭하십시오.

    결과: 맞춤 검색 버튼이 설치되어 바로 사용할 수 있게 됩니다.

    한편, 이 절차를 통해 맞춤 검색 버튼 XML 파일과 아이콘이 생성되고 다음 경로에 해시된 이름으로 저장됩니다.

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

    이러한 접근법은 복잡한 POST 요청을 사용하는 웹사이트 또는 리디렉션을 사용하기 때문에 url-template을 결정하기 어려운 웹사이트에 유용하다는 점에서, 맞춤 검색 버튼을 수동으로 만드는 것보다 유리합니다.

    맞춤 검색 버튼 XML 파일

    맞춤 검색 버튼의 속성과 동작은 <custombuttons> 요소가 있는 XML 파일로 정의되며, 이 요소의 네임스페이스는 중첩된 <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 중간에 빈 줄을 포함하여 두 줄로 입력했음에도 제대로 작동하는 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 검색 엔진을 사용하여 인터넷을 검색하는 버튼이 나와 있습니다.

    버튼을 만들려면 <search> url-template </search> 형식의 검색 요소를 버튼의 XML 파일에 추가하십시오. 다음 예에서와 같이 {query} 변수를 사용하여 검색어 URL을 포함시키십시오. method 속성을 사용하여 지정된 GET 검색어와 POST 검색어를 모두 사용할 수 있습니다(기본값은 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로 보내기

    검색 작업을 GET 대신 POST로 보내려면 검색 요소에 method="post" 속성을 포함시키십시오. 마지막 물음표 '?' 뒤에 있는 문자는 모두 www URL로 인코딩된 양식의 post 데이터로 보내집니다. 웹사이트에서 URL로 인코딩된 데이터 대신 양식으로 인코딩된 데이터를 사용할 수 있으나 현재 Google에서 지원되지는 않습니다. 또한 CGI 매개변수와 post 데이터를 동시에 보낼 수도 있습니다. 동시에 보내려면 두 개의 물음표 '?'를 사용하십시오.

    Onion 검색

    다음은 POST 방식을 사용하여 post 데이터(하이라이트됨)를 보내는 예입니다.

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

    맞춤 검색 버튼 업데이트

    버튼의 XML 파일을 호스팅하는데 사용하는 다운로드 URL은 버튼 업데이트 시 버튼의 고유 ID가 됩니다 동일한 URL에서 버튼을 두 번 다운로드하면 툴바는 새 버튼을 추가하는 대신 이전 버튼의 변경을 제안합니다.

    버튼을 추가하는 5가지 방법 중 첫 번째와 다섯 번째 방법의 경우, 버튼이 업데이트되는 경로를 자동으로 인식하며 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.noescape} 또는 일반 웹사이트{url.host}로 현재 URL을 표시하도록 지정할 수 있습니다.

    다음은 현재 페이지의 이전 버전을 찾기 위해 {url.noescape}를 사용하여 현재 URL을 archive.org로 보내는 예입니다. archive.org에는 이스케이프되지 않은 URL이 있어야 합니다.

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

    다음은 {url}을 사용하여 archive.org를 검색하는 예입니다.

    <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 툴바에는 com 또는 co.uk와 같은 도메인을 얻는 데 사용할 수 있는 {domain} 변수가 있습니다. 검색 도메인은 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} 변수를 지원하는 경우, 이 변수는 다음과 같이 확장됩니다.

    <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 텍스트에 인코딩하면 됩니다. 대신 인코딩을 해주는 인터넷 사이트도 여럿 있습니다. 예를 들어, 이 사이트의 경우 "Browse(찾아보기)..." 버튼을 사용하여 인코딩할 파일을 선택한 후 "Convert the source data(원본 데이터 전환)" 버튼을 클릭하면 인코딩이 시작됩니다. Javascript 및 PHP에도 base64 인코딩을 위한 한 줄로 된 명령이 있습니다.

    다음은 <icon> 요소를 사용하여 base64로 인코딩된 Gmail 아이콘입니다.

        <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비트 알파를 사용하여 만든 다음 XP 스타일 RGBA 아이콘으로 저장한 아이콘입니다. 아이콘을 알파 투명도 기능이 있는 16x16 PNG 파일로 저장하고 이 파일을 IconWorkshop과 같은 프로그램을 사용하여 XP 스타일의 16x16 아이콘으로 전환한 후 base64로 인코딩할 수 있습니다. 원래 Windows에서 수많은 요소의 연결 없이는 PNG 파일을 지원하지 않으므로 PNG 파일을 바로 사용할 수 없습니다.

    알파 채널을 사용해야 하는 이유는 각 사용자가 설치한 툴바 배경색이 모두 동일한 회색, 은색 또는 베이지가 아니기 때문입니다. Windows XP 사용자는 툴바 배경을 비롯하여 색구성표를 사용자 정의할 수 있습니다. 투명한 부분이 없는 사각형 아이콘을 만들면 이 문제를 해결할 수 있지만 아이콘으로서의 시각적 재미는 덜하다고 할 수 있습니다. GIF 이미지와 같은 단일 색상의 알파 채널은 Google 툴바나 Internet Explorer 자체의 아이콘 등의 제대로 구성된 알파 혼합 아이콘에 비해 가장자리를 보다 흐릿하고 불분명하게 표시합니다.

    아이콘 및 도구 설명 자동 업데이트

    맞춤 검색 버튼의 또 다른 기능은 원격 서버에서 스스로의 버튼 이미지와 도구 설명을 일정 간격으로 업데이트하는 것입니다. 업데이트에는 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>
    

    위의 예는 다음과 같이 지정된 Google 맞춤 검색 버튼 네임스페이스를 사용하는 Atom 1.0 피드입니다.

    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, 아이콘 및 텍스트를 처리할 수 있습니다. 다음은 이 작업을 수행하기 위한 두 가지 방법이며 첫 번째 방법을 권장합니다.

    로케일 속성 사용

    권장 방법은 원하는 로케일에 iso-name을 포함하는 locale="iso-name" 속성을 사용하여 XML 태그 목록을 작성하는 것입니다. 다음은 대체 프랑스어 및 스페인어 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은 버튼 업데이트 시 버튼의 고유 ID가 되므로 매우 중요합니다. 동일한 URL에서 버튼을 두 번 다운로드하면 툴바는 새 버튼을 추가하는 대신 이전 버튼의 변경을 제안합니다. 자세한 내용을 보려면 맞춤 검색 버튼 업데이트를 참조하십시오.

    Google 버튼 갤러리에 버튼 추가

    Google 버튼 갤러리에 버튼을 추가하는 것은 전세계에 새로운 버튼을 알리는 좋은 방법입니다. 버튼 갤러리는 XML 파일로 직접 링크되므로 XML 파일이 사전에 호스팅되어 있어야 하고, 버튼은 Google 광고문안 가이드를 준수해야 합니다.

    자신의 사이트에 버튼을 만들었다면 사이트와 동일한 도메인에서 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>

    이 링크의 레이블은 Add입니다. 사용자가 이 링크를 클릭하면 Slashdot.com 버튼이 사용자의 Google 툴바에 설치됩니다.

    위의 Google URL은 기본적으로 툴바에 맞춤 검색 버튼을 설치하는 역할을 합니다. 사용자가 호환되는 툴바 버전을 사용하고 있지 않은 경우에는 해당 툴바를 설치하라는 메시지가 나타납니다. 해당 버전의 툴바가 설치되면 맞춤 검색 버튼이 자동으로 추가됩니다.

    피드 트래픽 관리

    피드가 있는 웹 트래픽은 문제를 발생시킬 수 있습니다. 버튼에 대한 클릭수가 증가하고 트래픽이 많이 발생할 것으로 예상되면 피드를 대역폭이 낮은 서버로 지정해서는 안됩니다. 그러한 서버의 경우 다시보기 요청으로 시스템 오버로드가 발생할 수 있습니다.

    맞춤 검색 버튼에는 피드에 대한 자체 다시보기 간격 속성이 있습니다. 툴바는 서버가 HTTP 헤더에 제공하는 "만료" 시간을 준수합니다. 이 설정은 버튼의 다시보기 간격에 우선합니다. 서버에 시스템 오버로드가 발생하면 "만료" 시간을 늘려 로드를 줄일 수 있습니다.. 예를 들어, 버튼을 매시간마다 다시보기하도록 설정한 경우 "만료" 시간을 매일 다시보기 하도록 재설정하면 버튼의 다시보기가 제한되어 트래픽이 현저히 줄어듭니다.

    다음은 향후 한 주 Expires 시간으로 설정된 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> text </title>
    맞춤 검색 버튼 목록(설정 > 옵션 > 맞춤 검색 버튼) 또는 버튼 옆(옵션)에 나타나는 맞춤 검색 버튼의 제목입니다. 이 값은 검색 유형으로 표시되는 경우 기본 키워드 역할도 수행하므로 고유해야 합니다.
    이 요소는 아래의 <search>와 동일한 locale 속성을 지원합니다.
    <title>를 참조하십시오.
    <description> tooltip </description>
    버튼 위로 마우스를 가져가면 나타나는 맞춤 검색의 도구 설명 제목입니다. 또한 웹사이트에서 버튼을 다운로드하면 이 설명이 표시되기도 합니다.
    이 요소는 아래의 <search>와 동일한 locale 속성을 지원합니다.
    <description>를 참조하십시오.
    <site> url </site>
    검색창에 새 텍스트가 입력되어 있지 않을 때 이동할 옵션 URL입니다. 보안상의 이유로 프로토콜은 http: 및 https:로 제한됩니다. 이 URL 내에 있는 다음 변수{domain}, {url}, {url.noescape}, {url.host}{locale}로 확장됩니다.
    이 요소는 아래의 <search>와 동일한 methodlocale 속성을 지원합니다.
    <site>를 참조하십시오.
    <search> url-template </search>
    검색창에 "새로운" 검색어를 입력한 상태에서 버튼 클릭 시 브라우저가 이동 및 검색할 웹사이트의 URL입니다. "새로운" 검색어란 검색창에 초점을 두는 것을 의미합니다. URL은 http: 또는 https:를 기반으로 해야 하며, javascript:는 사용할 수 없습니다. {query} 변수는 검색 템플릿에 있어야 하며, 다른 URL 템플릿에는 사용할 수 없습니다. 검색 버튼 목록에 이 버튼을 포함하지 않으려면 이 요소는 선택사항이므로 제거할 수 있습니다
    검색 요소로 다음 속성을 지정할 수 있습니다.
    method="post"|"get"
    기본값은 "get"입니다. URL로 인코딩된 형식 테이터를 보낼 때 GET 대신 POST를 사용하려면 "post"로 설정하십시오. 인코딩은 application/x-www-form-urlencoded 방식이어야 합니다. 검색 시 마지막 물음표 '?' 뒤에 있는 모든 텍스트가 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>와 동일한 method, charsetlocale 속성을 지원합니다.
    <send>를 참조하십시오.
    <icon> base64-encoding </icon>
    Windows 스타일의 .ico 파일에 대한 실제 비트는 많은 사이트에서 자체 favicon.ico 파일로 사용하고 있는 XP 스타일의 16x16 32비트 RGBA 이미지를 사용하는 것이 좋습니다. 이는 바이너리 값이므로 base64로 인코딩되어야 합니다. 아이콘이 나타나지 않으면 기본값이 선택됩니다. 선호하는 형식은 16x16 XP 스타일의 알파 혼합 .ico 이미지이지만, 일반 ICO, JPG, BMP 및 GIF도 지원되며 이러한 파일의 임의적인 크기들은 16x16으로 조정됩니다. XP RGBA 아이콘은 Google 툴바가 실행되는 모든 운영 체제에서 지원되므로 256 색상이나 16 색상을 별도로 만들 필요가 없습니다. PNG 파일은 지원되지 않습니다.
    modetype 속성은 필요하지는 않으나, 이를 해석하는 XML 편집기에서 보다 쉽게 편집할 수 있게 합니다.
    mode="base64"
    아이콘 인코딩입니다.
    type="image/x-icon"
    이미지 형식입니다.
    이 요소는 위의 <search>와 동일한 locale 속성을 지원합니다.
    <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이하로 설정하더라도 툴바에서는 1분에 두 번 이상 업데이트하지 않습니다.
    refresh-onclick="true"|"false"
    사용자가 버튼을 클릭할 때마다 다시 로드하려면 이 값을 true로 설정하십시오. 기본값은 false입니다.
    google-service="true"|"false"
    Google 계정 서비스인 경우, 즉 사용자가 Google에 로그인해야만 사용할 수 있는 경우 true로 설정하십시오. 로그인하면 새로고침이 실행되고 로그아웃하면 메뉴 항목이 사라집니다.
    이 요소는 위의 <search>와 동일한 locale 속성을 지원합니다.
    <feed>를 참조하십시오.
    <feed-icon> base64-encoding </feed-icon>
    피드에 새 항목이 있을 때 표시되는 <icon>과 동일한 형식의 대체 아이콘입니다. 사용자가 버튼을 클릭하면 다음 피드를 실행할 때까지 아이콘이 일반 아이콘으로 되돌아갑니다. <feed-icon> 또는<icon>이 우위에 있지 않는 경우 피드 서버에서 Atom 피드 또는 RSS 2.0 응답에서 아이콘을 바로 지정할 수 있습니다.
    이 요소는 위의 <search>와 동일한 locale 속성을 지원합니다.
    (<feed-icon>의 예는 포함되어 있지 않으나 <icon>와 유사하므로 참조하십시오.)
    <feed-description> tooltip </feed-description>
    피드에 새 항목이 있을 때 도구 설명에 표시되는 대체 설명입니다. 사용자가 버튼을 클릭하면 다음 피드를 실행할 때까지 설명이 일반 설명으로 되돌아갑니다.
    이 요소는 위의 <search>와 동일한 locale 속성을 지원합니다.
    (<feed-description>의 예는 포함되어 있지 않으나 <description>와 유사하므로 참조하십시오.)
    <update> url </update>
    이 버튼의 정의를 다운로드했고 사용자가 링크를 클릭하여 업데이트(설정 > 옵션 > 맞춤 검색 버튼 > 버튼 선택 > 수정 > 최신 버전 다운로드)할 경우 업데이트 버튼이 대체 XML 파일을 받아올 URL입니다. 이 URL은 버튼을 다운로드한 google.com이 아닌 웹사이트의 실제 URL로 덮어씁니다. 이는 맞춤 검색 버튼에서 로케일 속성을 가질 수 없는 유일한 요소입니다.
    <update> 예를 참조하십시오.
    <option> subelements </option>
    로컬로 정의된 옵션 문자열을 지정하며, 이 문자열은 사용자가 툴바 설정 대화 상자에서 쉽게 변경할 수 있습니다. 값은 {option1} 변수로 반환됩니다. 이 요소는 세 가지의 하위 요소를 가질 수 있으며, 첫 번째 요소는 필수 항목입니다.
    <title>
    옵션의 이름입니다. 이 이름은 툴바 설정 대화 상자에 표시됩니다. 이 하위 요소는 필수 항목입니다.
    <description>
    이 옵션에 대한 설명이며, 이 설명이 사용자에게 표시됩니다. 각 옵션은 여러 설명을 포함할 수 있습니다. 이 하위 요소는 선택 사항입니다.
    <default>
    {option1} 태그의 기본값입니다. 사용자가 값을 입력하지 않을 때 이 값이 사용됩니다. 이 하위 요소는 선택 사항입니다.
    <option> 예를 참조하십시오.

    이스케이프 문자

    XML 파일 및 HTML 파일의 문자열에는 HTML 항목으로 이스케이프된 다음 세 가지 문자가 필요합니다.

    문자 이스케이프 문자열
    & &amp;
    > &gt;
    < &lt;

    변수 참조

    참고사항 – 완벽하게 호환되는 변수에 대한 조건부 {a?b:c} 구문이 있습니다. 자세한 내용을 보려면 변수가 있는지 여부 테스트를 참조하십시오.

    다음은 특정 범위에 있는 요소에 사용되는 변수 또는 이스케이프 매개변수입니다. 예를 들어, {query}<search> 요소에만 사용할 수 있습니다.

    {query}
    사용자가 공백을 이스케이프하기 위한 더하기 기호 '+', 구두점 문자를 이스케이프하기 위한 URL 및 다른 언어에 대한 UTF-8 인코딩을 사용하여 툴바의 검색창에 입력한 문자열을 나타냅니다. 일부 웹사이트에서는 국가 고유의 문자 인코딩(예: 일본의 shift-JIS) 등 UTF-8 이외의 방식으로 인코딩된 검색어가 필요할 수 있습니다.
    예: 사용자가 검색창에 "여러분, 안녕하세요!"를 입력하면 이 변수는 "여러분, 안녕하세요!"가 됩니다.
    범위: <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 로케일을 나타냅니다.
    예: en, espt-BR
    범위: <search>, <site> 또는 <send> 요소
    {locale} 예를 참조하십시오.
    {selection}
    현재 브라우저 창에서 선택된 일반 텍스트를 나타냅니다. utf-8 또는 charset 속성이 지정하는 방식으로 인코딩되며 cgi로 이스케이프됩니다. 인코딩 방식이 POST이어야만 텍스트가 잘리지 않습니다.
    예: 사용자가 브라우저에서 굵은 글씨체의 "여러분, 안녕하세요!"를 선택하면 이 변수는 일반 글씨체의 "여러분, 안녕하세요!"로 나타냅니다.
    범위: <send> 요소
    {selection} 예를 참조하십시오.
    {option1}
    사용자가 <option> 요소에서 지정한 값을 나타냅니다. 이 변수는 URL 내에 삽입해야 합니다. (나중에 다른 옵션을 추가해야하는 경우를 대비해 이 변수의 이름이 option1로 지정됩니다.)
    예: 사용자가 맞춤 검색 버튼의 툴바 설정에서 우편번호를 지정하면 이 변수는 "94043" 등의 값을 URL의 일부로 제공합니다.
    범위: <search>, <site>, <send> 또는 <feed> 요소의 URL 내에 포함시켜야 함
    {option1} 예를 참조하십시오.