Home | History | Annotate | Download | only in docs
      1 <!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note:
      2     1) The <head> information in this page is significant, should be uniform
      3        across api docs and should be edited only with knowledge of the
      4        templating mechanism.
      5     3) All <body>.innerHTML is genereated as an rendering step. If viewed in a
      6        browser, it will be re-generated from the template, json schema and
      7        authored overview content.
      8     4) The <body>.innerHTML is also generated by an offline step so that this
      9        page may easily be indexed by search engines.
     10 --><html xmlns="http://www.w3.org/1999/xhtml"><head>
     11     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     12     <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css">
     13     <link href="css/print.css" rel="stylesheet" type="text/css" media="print">
     14     <script type="text/javascript" src="../../../third_party/jstemplate/jstemplate_compiled.js">
     15     </script>
     16     <script type="text/javascript" src="js/api_page_generator.js"></script>
     17     <script type="text/javascript" src="js/bootstrap.js"></script>
     18     <script type="text/javascript" src="js/sidebar.js"></script>
     19   <title>Tutorial: Getting Started (Hello, World!) - Google Chrome Extensions - Google Code</title></head>
     20   <body>  <div id="gc-container" class="labs">
     21       <div id="devModeWarning">
     22         You are viewing extension docs in chrome via the 'file:' scheme: are you expecting to see local changes when you refresh? You'll need run chrome with --allow-file-access-from-files.
     23       </div>
     24       <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION -->
     25       <!-- In particular, sub-templates that recurse, must be used by allowing
     26            jstemplate to make a copy of the template in this section which
     27            are not operated on by way of the jsskip="true" -->
     28       <div style="display:none">
     29 
     30         <!-- VALUE -->
     31         <div id="valueTemplate">
     32           <dt>
     33             <var>paramName</var>
     34               <em>
     35 
     36                 <!-- TYPE -->
     37                 <div style="display:inline">
     38                   (
     39                     <span class="optional">optional</span>
     40                     <span class="enum">enumerated</span>
     41                     <span id="typeTemplate">
     42                       <span>
     43                         <a> Type</a>
     44                       </span>
     45                       <span>
     46                         <span>
     47                           array of <span><span></span></span>
     48                         </span>
     49                         <span>paramType</span>
     50                         <span></span>
     51                       </span>
     52                     </span>
     53                   )
     54                 </div>
     55 
     56               </em>
     57           </dt>
     58           <dd class="todo">
     59             Undocumented.
     60           </dd>
     61           <dd>
     62             Description of this parameter from the json schema.
     63           </dd>
     64           <dd>
     65             This parameter was added in version
     66             <b><span></span></b>.
     67             You must omit this parameter in earlier versions,
     68             and you may omit it in any version.  If you require this
     69             parameter, the manifest key
     70             <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
     71             can ensure that your extension won't be run in an earlier browser version.
     72           </dd>
     73 
     74           <!-- OBJECT PROPERTIES -->
     75           <dd>
     76             <dl>
     77               <div>
     78                 <div>
     79                 </div>
     80               </div>
     81             </dl>
     82           </dd>
     83 
     84           <!-- OBJECT METHODS -->
     85           <dd>
     86             <div></div>
     87           </dd>
     88 
     89           <!-- OBJECT EVENT FIELDS -->
     90           <dd>
     91             <div></div>
     92           </dd>
     93 
     94           <!-- FUNCTION PARAMETERS -->
     95           <dd>
     96             <div></div>
     97           </dd>
     98 
     99         </div> <!-- /VALUE -->
    100 
    101         <div id="functionParametersTemplate">
    102           <h5>Parameters</h5>
    103           <dl>
    104             <div>
    105               <div>
    106               </div>
    107             </div>
    108           </dl>
    109         </div>
    110       </div> <!-- /SUBTEMPLATES -->
    111 
    112   <a id="top"></a>
    113     <div id="skipto">
    114       <a href="#gc-pagecontent">Skip to page content</a>
    115       <a href="#gc-toc">Skip to main navigation</a>
    116     </div>
    117     <!-- API HEADER -->
    118     <table id="header" width="100%" cellspacing="0" border="0">
    119       <tbody><tr>
    120         <td valign="middle"><a href="http://code.google.com/"><img src="images/code_labs_logo.gif" height="43" width="161" alt="Google Code Labs" style="border:0; margin:0;"></a></td>
    121         <td valign="middle" width="100%" style="padding-left:0.6em;">
    122           <form action="http://www.google.com/cse" id="cse" style="margin-top:0.5em">
    123             <div id="gsc-search-box">
    124               <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno">
    125               <input type="hidden" name="ie" value="UTF-8">
    126               <input type="text" name="q" value="" size="55">
    127               <input class="gsc-search-button" type="submit" name="sa" value="Search">
    128               <br>
    129               <span class="greytext">e.g. "page action" or "tabs"</span>
    130             </div>
    131           </form>
    132 
    133           <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    134           <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
    135           <script type="text/javascript" src="http://www.google.com/coop/cse/t13n?form=cse&t13n_langs=en"></script>
    136           <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse&lang=en"></script>
    137         </td>
    138       </tr>
    139     </tbody></table>
    140 
    141     <div id="codesiteContent" class="">
    142 
    143       <a id="gc-topnav-anchor"></a>
    144       <div id="gc-topnav">
    145         <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1>
    146         <ul id="home" class="gc-topnav-tabs">
    147           <li id="home_link">
    148             <a href="index.html" title="Google Chrome Extensions home page">Home</a>
    149           </li>
    150           <li id="docs_link">
    151             <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a>
    152           </li>
    153           <li id="faq_link">
    154             <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a>
    155           </li>
    156           <li id="samples_link">
    157             <a href="samples.html" title="Sample extensions (with source code)">Samples</a>
    158           </li>
    159           <li id="group_link">
    160             <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a>
    161           </li>
    162         </ul>
    163       </div> <!-- end gc-topnav -->
    164 
    165     <div class="g-section g-tpl-170">
    166       <!-- SIDENAV -->
    167       <div class="g-unit g-first" id="gc-toc">
    168         <ul>
    169           <li class="leftNavSelected">Getting Started</li>
    170           <li><a href="overview.html">Overview</a></li>
    171           <li><a href="whats_new.html">What's New?</a></li>
    172           <li><h2><a href="devguide.html">Developer's Guide</a></h2>
    173             <ul>
    174               <li>Browser UI
    175                 <ul>
    176                   <li><a href="browserAction.html">Browser Actions</a></li>
    177                   <li><a href="contextMenus.html">Context Menus</a></li>
    178                   <li><a href="notifications.html">Desktop Notifications</a></li>
    179                   <li><a href="omnibox.html">Omnibox</a></li>
    180                   <li><a href="options.html">Options Pages</a></li>
    181                   <li><a href="override.html">Override Pages</a></li>
    182                   <li><a href="pageAction.html">Page Actions</a></li>
    183                 </ul>
    184               </li>
    185               <li>Browser Interaction
    186                 <ul>
    187                   <li><a href="bookmarks.html">Bookmarks</a></li>
    188                   <li><a href="cookies.html">Cookies</a></li>
    189                   <li><a href="events.html">Events</a></li>
    190                   <li><a href="history.html">History</a></li>
    191                   <li><a href="management.html">Management</a></li>
    192                   <li><a href="tabs.html">Tabs</a></li>
    193                   <li><a href="windows.html">Windows</a></li>
    194                 </ul>
    195               </li>
    196               <li>Implementation
    197                 <ul>
    198                   <li><a href="a11y.html">Accessibility</a></li>
    199                   <li><a href="background_pages.html">Background Pages</a></li>
    200                   <li><a href="content_scripts.html">Content Scripts</a></li>
    201                   <li><a href="xhr.html">Cross-Origin XHR</a></li>
    202                   <li><a href="idle.html">Idle</a></li>
    203                   <li><a href="i18n.html">Internationalization</a></li>
    204                   <li><a href="messaging.html">Message Passing</a></li>
    205                   <li><a href="npapi.html">NPAPI Plugins</a></li>
    206                 </ul>
    207               </li>
    208               <li>Finishing
    209                 <ul>
    210                   <li><a href="hosting.html">Hosting</a></li>
    211                   <li><a href="external_extensions.html">Other Deployment Options</a></li>
    212                 </ul>
    213               </li>
    214             </ul>
    215           </li>
    216           <li><h2><a href="apps.html">Packaged Apps</a></h2></li>
    217           <li><h2><a href="tutorials.html">Tutorials</a></h2>
    218             <ul>
    219               <li><a href="tut_debugging.html">Debugging</a></li>
    220               <li><a href="tut_analytics.html">Google Analytics</a></li>
    221               <li><a href="tut_oauth.html">OAuth</a></li>
    222             </ul>
    223           </li>
    224           <li><h2>Reference</h2>
    225             <ul>
    226               <li>Formats
    227                 <ul>
    228                   <li><a href="manifest.html">Manifest Files</a></li>
    229                   <li><a href="match_patterns.html">Match Patterns</a></li>
    230                 </ul>
    231               </li>
    232               <li><a href="permission_warnings.html">Permission Warnings</a></li>
    233               <li><a href="api_index.html">chrome.* APIs</a></li>
    234               <li><a href="api_other.html">Other APIs</a></li>
    235             </ul>
    236           </li>
    237           <li><h2><a href="samples.html">Samples</a></h2></li>
    238           <div class="line"> </div>
    239           <li><h2>More</h2>
    240             <ul>
    241               <li><a href="http://code.google.com/chrome/webstore/docs/index.html">Chrome Web Store</a></li>
    242               <li><a href="http://code.google.com/chrome/apps/docs/developers_guide.html">Hosted Apps</a></li>
    243               <li><a href="themes.html">Themes</a></li>
    244             </ul>
    245           </li>
    246         </ul>
    247       </div>
    248       <script>
    249         initToggles();
    250       </script>
    251 
    252     <div class="g-unit" id="gc-pagecontent">
    253       <div id="pageTitle">
    254         <h1 class="page_title">Tutorial: Getting Started (Hello, World!)</h1>
    255       </div>
    256         <!-- TABLE OF CONTENTS -->
    257         <div id="toc">
    258           <h2>Contents</h2>
    259           <ol>
    260             <li>
    261               <a href="#load">Create and load an extension</a>
    262               <ol>
    263                 <li style="display: none; ">
    264                   <a>h3Name</a>
    265                 </li>
    266               </ol>
    267             </li><li>
    268               <a href="#code">Add code to the extension</a>
    269               <ol>
    270                 <li style="display: none; ">
    271                   <a>h3Name</a>
    272                 </li>
    273               </ol>
    274             </li><li>
    275               <a href="#summary">Now what?</a>
    276               <ol>
    277                 <li style="display: none; ">
    278                   <a>h3Name</a>
    279                 </li>
    280               </ol>
    281             </li>
    282               <li style="display: none; ">
    283                 <a href="#apiReference">API reference</a>
    284                 <ol>
    285                   <li>
    286                     <a href="#properties">Properties</a>
    287                     <ol>
    288                       <li>
    289                         <a href="#property-anchor">propertyName</a>
    290                       </li>
    291                     </ol>
    292                   </li>
    293                   <li>
    294                     <a>Methods</a>
    295                     <ol>
    296                       <li>
    297                         <a href="#method-anchor">methodName</a>
    298                       </li>
    299                     </ol>
    300                   </li>
    301                   <li>
    302                     <a>Events</a>
    303                     <ol>
    304                       <li>
    305                         <a href="#event-anchor">eventName</a>
    306                       </li>
    307                     </ol>
    308                   </li>
    309                   <li>
    310                     <a href="#types">Types</a>
    311                     <ol>
    312                       <li>
    313                         <a href="#id-anchor">id</a>
    314                       </li>
    315                     </ol>
    316                   </li>
    317                 </ol>
    318               </li>
    319           </ol>
    320         </div>
    321         <!-- /TABLE OF CONTENTS -->
    322 
    323         <!-- Standard content lead-in for experimental API pages -->
    324         <p id="classSummary" style="display: none; ">
    325           For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page.
    326         </p>
    327 
    328         <!-- STATIC CONTENT PLACEHOLDER -->
    329         <div id="static"><div id="pageData-name" class="pageData">Tutorial: Getting Started (Hello, World!)</div>
    330 <div id="pageData-showTOC" class="pageData">true</div>
    331 
    332 <p>
    333 This tutorial walks you through creating a simple extension.
    334 You'll add an icon to Google Chrome
    335 that, when clicked, displays an automatically generated page.
    336 The icon and page will look something like this:
    337 </p>
    338 
    339 <img src="images/hello-world-small.png" width="300" height="221" alt="a window with a grid of images related to HELLO WORLD">
    340 
    341 <p>
    342 You can develop extensions using any release of Google Chrome,
    343 on Windows, Mac, or Linux.
    344 </p>
    345 
    346 <h2 id="load">Create and load an extension</h2>
    347 <p>
    348 In this section, you'll write an extension
    349 that adds a <em>browser action</em>
    350 to the toolbar of Google Chrome.
    351 </p>
    352 
    353 <ol>
    354   <li>
    355     Create a folder somewhere on your computer to contain your extension's code.
    356   </li>
    357   <li>
    358     Inside your extension's folder,
    359     create a text file called <strong><code>manifest.json</code></strong>,
    360     and put this in it:
    361 <pre>{
    362   "name": "My First Extension",
    363   "version": "1.0",
    364   "description": "The first extension that I made.",
    365   "browser_action": {
    366     "default_icon": "icon.png"
    367   },
    368   "permissions": [
    369     "http://api.flickr.com/"
    370   ]
    371 }</pre>
    372   </li>
    373   <li>
    374     Copy this icon to the same folder:<br>
    375     <table cellpadding="0" cellspacing="0" style="border:0">
    376       <tbody><tr>
    377         <td style="text-align:center; border:0;"><a href="examples/tutorials/getstarted/icon.png"><img src="examples/tutorials/getstarted/icon.png" width="19" height="19" border="0"></a><br>
    378           <a href="examples/tutorials/getstarted/icon.png">Download icon.png</a></td>
    379       </tr>
    380     </tbody></table>
    381   </li>
    382   <li id="load-ext"> Load the extension.
    383     <ol type="a">
    384       <li style="margin-top:0">
    385       Bring up the extensions management page
    386       by clicking the wrench icon
    387       <img src="images/toolsmenu.gif" width="29" height="29" alt="" style="margin-top:0">
    388       and choosing <b>Tools &gt; Extensions</b>.
    389       </li>
    390 
    391       <li>
    392       If <b>Developer mode</b> has a + by it,
    393       click the + to add developer information to the page.
    394       The + changes to a -,
    395       and more buttons and information appear.
    396       </li>
    397 
    398       <li>
    399       Click the <b>Load unpacked extension</b> button.
    400       A file dialog appears.
    401       </li>
    402 
    403       <li>
    404       In the file dialog,
    405       navigate to your extension's folder
    406       and click <b>OK</b>.
    407       </li>
    408     </ol> </li>
    409   </ol>
    410 
    411 <p>
    412 If your extension is valid,
    413 its icon appears next to the address bar,
    414 and information about the extension
    415 appears in the extensions page,
    416 as the following screenshot shows.
    417 </p>
    418 
    419 <p>
    420 <a href="images/load_after.png"><img src="images/load_after_small.png" width="300" height="132"></a>
    421 </p>
    422 
    423 <h2 id="code">Add code to the extension</h2>
    424 <p> In this step, you'll make your extension <em>do</em> something besides just look good. </p>
    425 <ol>
    426   <li>
    427     <p> Edit <code>manifest.json</code> to add the following line:</p>
    428 <pre>  ...
    429   "browser_action": {
    430     "default_icon": "icon.png"<b>,
    431     "popup": "popup.html"</b>
    432   },
    433   ...
    434 </pre>
    435     <p> Inside your extension's folder,
    436     create a text file called <strong><code>popup.html</code></strong>,
    437     and add the following code to it:</p>
    438     <blockquote> <a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/tutorials/getstarted/popup.html?content-type=text/plain" target="_blank">CSS
    439     and JavaScript code for hello_world</a></blockquote>
    440   </li>
    441   <li>
    442     Return to the extensions management page,
    443     and click the <b>Reload</b> button
    444     to load the new version of the extension.</li>
    445   <li>Click the extension's icon.
    446   A popup should appear that displays the contents of
    447   <code>popup.html</code>. </li>
    448 </ol>
    449 <p> It should look something like this:</p>
    450 
    451 <img src="images/hello-world.png" width="500" height="369" alt="a popup with a grid of images related to HELLO WORLD">
    452 
    453 <p> If you don't see the popup,
    454 try the instructions again,
    455 following them exactly.
    456 Don't try loading an HTML file that isn't in the extension's folder 
    457 it won't work! </p>
    458 
    459 <h2 id="summary">Now what?</h2>
    460 
    461 <!-- [PENDING: Summarize what we did, what it means, what else we would've done if this were a real extension (e.g. package/zip it), and where to find more information.] -->
    462 
    463 <p>
    464 Here are some suggestions for what to read next:
    465 </p>
    466 
    467 <ul>
    468   <li>
    469     The <a href="overview.html">Overview</a>,
    470     which has important conceptual and practical information
    471   </li>
    472   <li>
    473     The
    474     <a href="tut_debugging.html">debugging tutorial</a>,
    475     which starts where this tutorial leaves off
    476   </li>
    477   <li>
    478     The <a href="hosting.html">hosting</a> page,
    479     which tells you about options for distributing your extension
    480   </li>
    481 </ul>
    482 
    483 <p>
    484 If you don't feel like reading, try these:
    485 </p>
    486 <ul>
    487   <li>
    488     Keep up to date with the latest news:
    489     <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions/subscribe">subscribe to chromium-extensions</a>
    490   </li>
    491   <li>
    492     Look at some
    493     <a href="samples.html">sample extensions</a>
    494   </li>
    495   <li>
    496     Watch some
    497     <a href="http://www.youtube.com/view_play_list?p=CA101D6A85FE9D4B">videos</a>, such as
    498     <a href="http://www.youtube.com/watch?v=e3McMaHvlBY&feature=PlayList&p=CA101D6A85FE9D4B&index=3">How to build an extension</a>
    499   </li>
    500 </ul>
    501 </div>
    502 
    503         <!-- API PAGE -->
    504         <div class="apiPage" style="display: none; ">
    505         <a name="apiReference"></a>
    506         <h2>API reference: chrome.apiname </h2>
    507 
    508           <!-- PROPERTIES -->
    509           <div class="apiGroup">
    510             <a name="properties"></a>
    511             <h3 id="properties">Properties</h3>
    512 
    513             <div>
    514               <a></a>
    515               <h4>getLastError</h4>
    516               <div class="summary">
    517                 <!-- Note: intentionally longer 80 columns -->
    518                 <span>chrome.extension</span><span>lastError</span>
    519               </div>
    520               <div>
    521               </div>
    522             </div>
    523 
    524           </div> <!-- /apiGroup -->
    525 
    526           <!-- METHODS -->
    527           <div id="methodsTemplate" class="apiGroup">
    528             <a></a>
    529             <h3>Methods</h3>
    530 
    531             <!-- iterates over all functions -->
    532             <div class="apiItem">
    533               <a></a> <!-- method-anchor -->
    534               <h4>method name</h4>
    535 
    536               <div class="summary"><span>void</span>
    537                   <!-- Note: intentionally longer 80 columns -->
    538                   <span>chrome.module.methodName</span>(<span><span>, </span><span></span>
    539                       <var><span></span></var></span>)</div>
    540 
    541               <div class="description">
    542                 <p class="todo">Undocumented.</p>
    543                 <p>
    544                   A description from the json schema def of the function goes here.
    545                 </p>
    546 
    547                 <!-- PARAMETERS -->
    548                 <h4>Parameters</h4>
    549                 <dl>
    550                   <div>
    551                     <div>
    552                     </div>
    553                   </div>
    554                 </dl>
    555 
    556                 <!-- RETURNS -->
    557                 <h4>Returns</h4>
    558                 <dl>
    559                   <div>
    560                     <div>
    561                     </div>
    562                   </div>
    563                 </dl>
    564 
    565                 <!-- CALLBACK -->
    566                 <div>
    567                   <div>
    568                   <h4>Callback function</h4>
    569                   <p>
    570                     The callback <em>parameter</em> should specify a function
    571                     that looks like this:
    572                   </p>
    573                   <p>
    574                     If you specify the <em>callback</em> parameter, it should
    575                     specify a function that looks like this:
    576                   </p>
    577 
    578                   <!-- Note: intentionally longer 80 columns -->
    579                   <pre>function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>;</pre>
    580                   <dl>
    581                     <div>
    582                       <div>
    583                       </div>
    584                     </div>
    585                   </dl>
    586                   </div>
    587                 </div>
    588 
    589                 <!-- MIN_VERSION -->
    590                 <p>
    591                   This function was added in version <b><span></span></b>.
    592                   If you require this function, the manifest key
    593                   <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a>
    594                   can ensure that your extension won't be run in an earlier browser version.
    595                 </p>
    596               </div> <!-- /description -->
    597 
    598             </div>  <!-- /apiItem -->
    599 
    600           </div>  <!-- /apiGroup -->
    601 
    602           <!-- EVENTS -->
    603           <div id="eventsTemplate" class="apiGroup">
    604             <a></a>
    605             <h3>Events</h3>
    606             <!-- iterates over all events -->
    607             <div class="apiItem">
    608               <a></a>
    609               <h4>event name</h4>
    610 
    611               <div class="summary">
    612                 <!-- Note: intentionally longer 80 columns -->
    613                 <span class="subdued">chrome.bookmarks</span><span>onEvent</span><span class="subdued">.addListener</span>(function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>);
    614               </div>
    615 
    616               <div class="description">
    617                 <p class="todo">Undocumented.</p>
    618                 <p>
    619                   A description from the json schema def of the event goes here.
    620                 </p>
    621 
    622                 <!-- PARAMETERS -->
    623                 <div>
    624                   <h4>Parameters</h4>
    625                   <dl>
    626                     <div>
    627                       <div>
    628                       </div>
    629                     </div>
    630                   </dl>
    631                 </div>
    632               </div> <!-- /decription -->
    633 
    634             </div> <!-- /apiItem -->
    635 
    636           </div> <!-- /apiGroup -->
    637 
    638           <!-- TYPES -->
    639           <div class="apiGroup">
    640             <a name="types"></a>
    641             <h3 id="types">Types</h3>
    642 
    643             <!-- iterates over all types -->
    644             <div class="apiItem">
    645               <a></a>
    646               <h4>type name</h4>
    647 
    648               <div>
    649               </div>
    650 
    651             </div> <!-- /apiItem -->
    652 
    653           </div> <!-- /apiGroup -->
    654 
    655         </div> <!-- /apiPage -->
    656       </div> <!-- /gc-pagecontent -->
    657     </div> <!-- /g-section -->
    658   </div> <!-- /codesiteContent -->
    659     <div id="gc-footer" --="">
    660       <div class="text">
    661   <p>
    662   Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>,
    663   the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
    664   Attribution 3.0 License</a>, and code samples are licensed under the
    665   <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>.
    666   </p>
    667   <p>
    668   2011 Google
    669   </p>
    670 
    671 <!-- begin analytics -->
    672 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
    673 <script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
    674 
    675 <script type="text/javascript">
    676   // chrome doc tracking
    677   try {
    678     var engdocs = _gat._getTracker("YT-10763712-2");
    679     engdocs._trackPageview();
    680   } catch(err) {}
    681 
    682   // code.google.com site-wide tracking
    683   try {
    684     _uacct="UA-18071-1";
    685     _uanchor=1;
    686     _uff=0;
    687     urchinTracker();
    688   }
    689   catch(e) {/* urchinTracker not available. */}
    690 </script>
    691 <!-- end analytics -->
    692       </div>
    693     </div> <!-- /gc-footer -->
    694   </div> <!-- /gc-container -->
    695 </body></html>
    696