OLD | NEW |
1 <!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc.
Note: | 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 | 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 | 3 across api docs and should be edited only with knowledge of the |
4 templating mechanism. | 4 templating mechanism. |
5 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a | 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 | 6 browser, it will be re-generated from the template, json schema and |
7 authored overview content. | 7 authored overview content. |
8 4) The <body>.innerHTML is also generated by an offline step so that this | 8 4) The <body>.innerHTML is also generated by an offline step so that this |
9 page may easily be indexed by search engines. | 9 page may easily be indexed by search engines. |
10 --><html xmlns="http://www.w3.org/1999/xhtml"><head> | 10 --><html xmlns="http://www.w3.org/1999/xhtml"><head> |
11 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | 11 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
12 <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css"> | 12 <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css"> |
13 <link href="css/print.css" rel="stylesheet" type="text/css" media="print"> | 13 <link href="css/print.css" rel="stylesheet" type="text/css" media="print"> |
14 <script type="text/javascript" src="../../../third_party/jstemplate/jstempla
te_compiled.js"> | 14 <script type="text/javascript" src="../../../third_party/jstemplate/jstempla
te_compiled.js"> |
15 </script> | 15 </script> |
16 <script type="text/javascript" src="js/api_page_generator.js"></script> | 16 <script type="text/javascript" src="js/api_page_generator.js"></script> |
17 <script type="text/javascript" src="js/bootstrap.js"></script> | 17 <script type="text/javascript" src="js/bootstrap.js"></script> |
18 <title>FAQ - Google Chrome Extensions - Google Code</title></head><body> <div
id="gc-container" class="labs"> | 18 <title>Frequently Asked Questions - Google Chrome Extensions - Google Code</ti
tle></head><body> <div id="gc-container" class="labs"> |
19 <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION --> | 19 <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION --> |
20 <!-- In particular, sub-templates that recurse, must be used by allowing | 20 <!-- In particular, sub-templates that recurse, must be used by allowing |
21 jstemplate to make a copy of the template in this section which | 21 jstemplate to make a copy of the template in this section which |
22 are not operated on by way of the jsskip="true" --> | 22 are not operated on by way of the jsskip="true" --> |
23 <div style="display:none"> | 23 <div style="display:none"> |
24 | 24 |
25 <!-- VALUE --> | 25 <!-- VALUE --> |
26 <div id="valueTemplate"> | 26 <div id="valueTemplate"> |
27 <dt> | 27 <dt> |
28 <var>paramName</var> | 28 <var>paramName</var> |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 <a id="gc-topnav-anchor"></a> | 102 <a id="gc-topnav-anchor"></a> |
103 <div id="gc-topnav"> | 103 <div id="gc-topnav"> |
104 <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Lab
s</a>)</h1> | 104 <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Lab
s</a>)</h1> |
105 <ul id="home" class="gc-topnav-tabs"> | 105 <ul id="home" class="gc-topnav-tabs"> |
106 <li id="home_link"> | 106 <li id="home_link"> |
107 <a href="index.html" title="Google Chrome Extensions home page">Home
</a> | 107 <a href="index.html" title="Google Chrome Extensions home page">Home
</a> |
108 </li> | 108 </li> |
109 <li id="docs_link"> | 109 <li id="docs_link"> |
110 <a href="docs.html" title="Official Google Chrome Extensions documen
tation">Docs</a> | 110 <a href="docs.html" title="Official Google Chrome Extensions documen
tation">Docs</a> |
111 </li> | 111 </li> |
| 112 <li id="faq_link"> |
| 113 <a href="faq.html" title="Answers to frequently asked questions abou
t Google Chrome Extensions">FAQ</a> |
| 114 </li> |
| 115 <li id="samples_link"> |
| 116 <a href="samples.html" title="Sample extensions (with source code)">
Samples</a> |
| 117 </li> |
112 <li id="group_link"> | 118 <li id="group_link"> |
113 <a href="http://groups.google.com/group/chromium-extensions" title="
Google Chrome Extensions developer forum">Group</a> | 119 <a href="http://groups.google.com/group/chromium-extensions" title="
Google Chrome Extensions developer forum">Group</a> |
114 </li> | 120 </li> |
115 <li id="samples_link"> | |
116 <a href="samples.html" title="Sample extensions (with source code)">
Samples</a> | |
117 </li> | |
118 <!-- | |
119 <li id="terms_link"> | |
120 Terms | |
121 </li> | |
122 --> | |
123 </ul> | 121 </ul> |
124 </div> <!-- end gc-topnav --> | 122 </div> <!-- end gc-topnav --> |
125 | 123 |
126 <div class="g-section g-tpl-170"> | 124 <div class="g-section g-tpl-170"> |
127 <!-- SIDENAV --> | 125 <!-- SIDENAV --> |
128 <div class="g-unit g-first" id="gc-toc"> | 126 <div class="g-unit g-first" id="gc-toc"> |
129 <ul> | 127 <ul> |
130 <li><a href="getstarted.html">Getting Started</a></li> | 128 <li><a href="getstarted.html">Getting Started</a></li> |
131 <li><a href="overview.html">Overview</a></li> | 129 <li><a href="overview.html">Overview</a></li> |
132 <li><h2><a href="devguide.html">Developer's Guide</a></h2> | 130 <li><h2><a href="devguide.html">Developer's Guide</a></h2> |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 <li><a href="api_index.html">chrome.* APIs</a></li> | 180 <li><a href="api_index.html">chrome.* APIs</a></li> |
183 <li><a href="api_other.html">Other APIs</a></li> | 181 <li><a href="api_other.html">Other APIs</a></li> |
184 </ul> | 182 </ul> |
185 </li> | 183 </li> |
186 <li><h2><a href="samples.html">Samples</a></h2></li> | 184 <li><h2><a href="samples.html">Samples</a></h2></li> |
187 </ul> | 185 </ul> |
188 </div> | 186 </div> |
189 | 187 |
190 <div class="g-unit" id="gc-pagecontent"> | 188 <div class="g-unit" id="gc-pagecontent"> |
191 <div id="pageTitle"> | 189 <div id="pageTitle"> |
192 <h1 class="page_title">FAQ</h1> | 190 <h1 class="page_title">Frequently Asked Questions</h1> |
193 </div> | 191 </div> |
194 <!-- TABLE OF CONTENTS --> | 192 <!-- TABLE OF CONTENTS --> |
195 <div id="toc" style="display: none; "> | 193 <div id="toc" style="display: none; "> |
196 <h2>Contents</h2> | 194 <h2>Contents</h2> |
197 <ol> | 195 <ol> |
198 <li> | 196 <li> |
199 <a>h2Name</a> | 197 <a>h2Name</a> |
200 <ol> | 198 <ol> |
201 <li> | 199 <li> |
202 <a>h3Name</a> | 200 <a>h3Name</a> |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
240 </ol> | 238 </ol> |
241 </li> | 239 </li> |
242 </ol> | 240 </ol> |
243 </li> | 241 </li> |
244 </div> | 242 </div> |
245 </ol> | 243 </ol> |
246 </div> | 244 </div> |
247 <!-- /TABLE OF CONTENTS --> | 245 <!-- /TABLE OF CONTENTS --> |
248 | 246 |
249 <!-- STATIC CONTENT PLACEHOLDER --> | 247 <!-- STATIC CONTENT PLACEHOLDER --> |
250 <div id="static"><div id="pageData-name" class="pageData">FAQ</div> | 248 <div id="static"><div id="pageData-name" class="pageData">Frequently Ask
ed Questions</div> |
251 | 249 |
252 <!-- | |
253 <div id="pageData-showTOC" class="pageData">true</div> | |
254 --> | |
255 | 250 |
| 251 <!-- <div id="pageData-showTOC" class="pageData">true</div> --> |
| 252 <div id="faq-TOC"> |
| 253 <h4>General</h4> |
| 254 <ul> |
| 255 <li><a href="#faq-gen-01">What are Google Chrome Extensions?</a></li> |
| 256 <li><a href="#faq-gen-02">What technologies are used to write extensions
for Google Chrome?</a></li> |
| 257 <li><a href="#faq-gen-03">Are extensions fetched from the web every time
the browser is loaded?</a></li> |
| 258 </ul> |
| 259 <h4>Development</h4> |
| 260 <ul> |
| 261 <li><a href="#faq-dev-01">How can I set up Google Chrome for extension d
evelopment?</a></li> |
| 262 <li><a href="#faq-dev-02">Can I make cross-domain Ajax requests in an ex
tension?</a></li> |
| 263 <li><a href="#faq-dev-03">Can I use 3rd party web services in my extensi
on?</a></li> |
| 264 <li><a href="#faq-dev-04">Can I use OAuth in my extensions?</a></li> |
| 265 <li><a href="#faq-dev-05">What UI controls can I create for my extension
?</a></li> |
| 266 <li><a href="#faq-dev-06">Can I load DLLs in my extension?</a></li> |
| 267 <li><a href="#faq-dev-07">Can Google Chrome Extensions encode/decode JSO
N data?</a></li> |
| 268 <li><a href="#faq-dev-08">Can I store data locally in my extension?</a><
/li> |
| 269 <li><a href="#faq-dev-09">How much data can I store in localStorage?</a>
</li> |
| 270 <li><a href="#faq-dev-10">Can I create an options menu for my applicatio
n?</a></li> |
| 271 <li><a href="#faq-dev-11">Can two extensions communicate with each other
?</a></li> |
| 272 <li><a href="#faq-dev-12">What debugging tools are available to extensio
n developers?</a></li> |
| 273 <li><a href="#faq-dev-13">Can extensions use Google Analytics?</a></li> |
| 274 </ul> |
| 275 </div> |
| 276 |
| 277 <h2>General</h2> |
| 278 |
| 279 <h3 id="faq-gen-01">What are Google Chrome Extensions?</h3> |
256 <p> | 280 <p> |
257 This page will give answers to frequently asked questions. | 281 Google Chrome Extensions are applications that run inside the Google |
| 282 Chrome browser and provide additional functionality, integration with third |
| 283 party websites or services, and customized browsing experiences. |
258 </p> | 284 </p> |
| 285 |
| 286 <h3 id="faq-gen-02">What technologies are used to write extensions for Google Ch
rome?</h3> |
| 287 <p> |
| 288 Google Chrome Extensions are written using the same standard web |
| 289 technologies that developers use to create websites. HTML is used as a |
| 290 content markup language, CSS is used for styling, and JavaScript for |
| 291 scripting. Because Google Chrome supports HTML5 and CSS3, developers can |
| 292 use the latest open web technologies such as canvas and CSS animations in |
| 293 their extensions. Extensions also have access to several |
| 294 <a href="http://code.google.com/chrome/extensions/api_other.html">JavaScript A
PIs</a> |
| 295 that help perform functions like JSON encoding and interacting with the |
| 296 browser. |
| 297 </p> |
| 298 |
| 299 |
| 300 <h3 id="faq-gen-03">Are extensions fetched from the web every time the browser i
s loaded?</h3> |
| 301 <p> |
| 302 Extensions are downloaded by the Google Chrome browser upon install, and |
| 303 are subsequently run off of the local disk in order to speed up |
| 304 performance. However, if a new version of the extension is pushed online, |
| 305 it will be automatically downloaded in the background to any users who |
| 306 have the extension installed. Extensions may also make requests for remote |
| 307 content at any time, in order to interact with a web service or pull new |
| 308 content from the web. |
| 309 </p> |
| 310 |
| 311 |
| 312 <h2>Development</h2> |
| 313 |
| 314 |
| 315 <h3 id="faq-dev-01">How can I set up Google Chrome for extension development?</h
3> |
| 316 <p> |
| 317 As long as you are using a version of Google Chrome that supports |
| 318 extensions, you already have everything you need to start writing an |
| 319 extension of your own. Select "Extensions" from the Tools menu |
| 320 <img style="vertical-align: middle;" src="images/toolsmenu.gif"> (or from |
| 321 the window menu on Mac) and click "Developer Mode". From there, you can load |
| 322 an unpacked directory of files as if it were a packaged extension, reload |
| 323 extensions, and more. For a complete tutorial, please view |
| 324 <a href="http://code.google.com/chrome/extensions/getstarted.html">this gettin
g started guide</a>. |
| 325 </p> |
| 326 |
| 327 <h3 id="faq-dev-02">Can I make cross-domain Ajax requests in an extension?</h3> |
| 328 <p> |
| 329 Yes. Extensions can make cross-domain requests. See |
| 330 <a href="http://code.google.com/chrome/extensions/xhr.html">this page</a> |
| 331 for more information. |
| 332 </p> |
| 333 |
| 334 <h3 id="faq-dev-03">Can I use 3rd party web services in my extension?</h3> |
| 335 <p> |
| 336 Yes. Google Chrome Extensions are capable of making cross-domain Ajax |
| 337 requests, so they can call remote APIs directly. APIs which provide data |
| 338 in JSON format are particularly easy to use. |
| 339 </p> |
| 340 |
| 341 <h3 id="faq-dev-04">Can I use OAuth in my extensions?</h3> |
| 342 <p> |
| 343 Absolutely, there are extensions which use OAuth to access remote data |
| 344 APIs. Most developers find it convenient to use a |
| 345 <a href="http://unitedheroes.net/OAuthSimple/js/OAuthSimple.js">JavaScript OAu
th library</a> |
| 346 in order to simplify the process of signing OAuth requests. |
| 347 </p> |
| 348 |
| 349 <h3 id="faq-dev-05">What UI controls can I create for my extension?</h3> |
| 350 <p> |
| 351 Extensions use HTML and CSS to define their user interfaces, so you can use |
| 352 standard form controls to build your UI, or style the interface with CSS, |
| 353 as you would a web page. Additionally, your extension may add buttons |
| 354 to the Google Chrome browser itself. See |
| 355 <a href="http://code.google.com/chrome/extensions/browserAction.html">browser
actions</a> |
| 356 and |
| 357 <a href="http://code.google.com/chrome/extensions/pageAction.html">page action
s</a> |
| 358 for more information. |
| 359 </p> |
| 360 |
| 361 <h3 id="faq-dev-06">Can I load DLLs in my extension?</h3> |
| 362 <p> |
| 363 Yes, using the |
| 364 <a href="http://code.google.com/chrome/extensions/trunk/npapi.html">NPAPI inte
rface</a>. |
| 365 Because of the possibility for abuse, though, we will review your extension |
| 366 before hosting it in the Google Chrome Extensions gallery. |
| 367 </p> |
| 368 |
| 369 <h3 id="faq-dev-07">Can Google Chrome Extensions encode/decode JSON data?</h3> |
| 370 <p> |
| 371 Yes, because V8 (Google Chrome's JavaScript engine) supports |
| 372 JSON.stringify and JSON.parse natively, you may use these functions in your |
| 373 extensions |
| 374 <a href="http://json.org/js.html">as described here</a> without including |
| 375 any additional JSON libraries in your code. |
| 376 </p> |
| 377 |
| 378 <h3 id="faq-dev-08">Can I store data locally in my extension?</h3> |
| 379 <p> |
| 380 Yes, extensions can use <a href="http://dev.w3.org/html5/webstorage/">localSto
rage</a> |
| 381 to store string data permanently. Using Google Chrome's built-in JSON |
| 382 functions, you can store complex data structures in localStorage. For |
| 383 extensions which have the need to execute SQL queries on their stored data, |
| 384 Google Chrome implements |
| 385 <a href="http://dev.w3.org/html5/webdatabase/">client side SQL databases</a> |
| 386 which may be used as well. |
| 387 </p> |
| 388 |
| 389 <h3 id="faq-dev-09">How much data can I store in localStorage?</h3> |
| 390 <p> |
| 391 Extensions can store up to 5MB of data in localStorage. |
| 392 </p> |
| 393 |
| 394 <h3 id="faq-dev-10">Can I create an options menu for my application?</h3> |
| 395 <p> |
| 396 You can let users set options for your extension by creating an |
| 397 <a href="http://code.google.com/chrome/extensions/trunk/options.html">options
page</a> |
| 398 which is a simple HTML page that will be loaded when a user clicks the |
| 399 "options" button for your extension. This page can read and write settings |
| 400 to localStorage, or even send options to a web server so that they can be |
| 401 persisted across browsers. |
| 402 </p> |
| 403 |
| 404 <h3 id="faq-dev-11">Can two extensions communicate with each other?</h3> |
| 405 <p> |
| 406 Extensions may pass messages to other extensions. See the |
| 407 <a href="http://code.google.com/chrome/extensions/trunk/messaging.html#externa
l">message passing documentation</a> |
| 408 for more information. |
| 409 </p> |
| 410 |
| 411 <h3 id="faq-dev-12">What debugging tools are available to extension developers?<
/h3> |
| 412 <p> |
| 413 Google Chrome's built-in developer tools can be used to debug extensions |
| 414 as well as web pages. See this |
| 415 <a href="http://code.google.com/chrome/extensions/tut_debugging.html ">tutoria
l on debugging extensions</a> |
| 416 for more information. |
| 417 </p> |
| 418 |
| 419 <h3 id="faq-dev-13">Can extensions use Google Analytics?</h3> |
| 420 <p> |
| 421 Yes, since extensions are built just like websites, they can use |
| 422 <a href="http://www.google.com/analytics/">Google Analytics</a> to track |
| 423 usage. |
| 424 </p> |
| 425 |
259 </div> | 426 </div> |
260 | 427 |
261 <!-- API PAGE --> | 428 <!-- API PAGE --> |
262 <div class="apiPage" style="display: none; "> | 429 <div class="apiPage" style="display: none; "> |
263 <a name="apiReference"></a> | 430 <a name="apiReference"></a> |
264 <h2>API reference: chrome.apiname </h2> | 431 <h2>API reference: chrome.apiname </h2> |
265 | 432 |
266 <!-- PROPERTIES --> | 433 <!-- PROPERTIES --> |
267 <div class="apiGroup"> | 434 <div class="apiGroup"> |
268 <a name="properties"></a> | 435 <a name="properties"></a> |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 urchinTracker(); | 605 urchinTracker(); |
439 } | 606 } |
440 catch(e) {/* urchinTracker not available. */} | 607 catch(e) {/* urchinTracker not available. */} |
441 </script> | 608 </script> |
442 <!-- end analytics --> | 609 <!-- end analytics --> |
443 </div> | 610 </div> |
444 </div> <!-- /gc-footer --> | 611 </div> <!-- /gc-footer --> |
445 </div> <!-- /gc-container --> | 612 </div> <!-- /gc-container --> |
446 </body></html> | 613 </body></html> |
447 | 614 |
OLD | NEW |