Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: chrome/common/extensions/docs/faq.html

Issue 490006: Add Arne's FAQ. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/extension.html ('k') | chrome/common/extensions/docs/getstarted.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698