OLD | NEW |
1 <div id="pageData-name" class="pageData">FAQ</div> | 1 <div id="pageData-name" class="pageData">Frequently Asked Questions</div> |
2 | 2 |
3 <!-- | |
4 <div id="pageData-showTOC" class="pageData">true</div> | |
5 --> | |
6 | 3 |
| 4 <!-- <div id="pageData-showTOC" class="pageData">true</div> --> |
| 5 <div id="faq-TOC"> |
| 6 <h4>General</h4> |
| 7 <ul> |
| 8 <li><a href="#faq-gen-01">What are Google Chrome Extensions?</a></li> |
| 9 <li><a href="#faq-gen-02">What technologies are used to write extensions
for Google Chrome?</a></li> |
| 10 <li><a href="#faq-gen-03">Are extensions fetched from the web every time
the browser is loaded?</a></li> |
| 11 </ul> |
| 12 <h4>Development</h4> |
| 13 <ul> |
| 14 <li><a href="#faq-dev-01">How can I set up Google Chrome for extension d
evelopment?</a></li> |
| 15 <li><a href="#faq-dev-02">Can I make cross-domain Ajax requests in an ex
tension?</a></li> |
| 16 <li><a href="#faq-dev-03">Can I use 3rd party web services in my extensi
on?</a></li> |
| 17 <li><a href="#faq-dev-04">Can I use OAuth in my extensions?</a></li> |
| 18 <li><a href="#faq-dev-05">What UI controls can I create for my extension
?</a></li> |
| 19 <li><a href="#faq-dev-06">Can I load DLLs in my extension?</a></li> |
| 20 <li><a href="#faq-dev-07">Can Google Chrome Extensions encode/decode JSO
N data?</a></li> |
| 21 <li><a href="#faq-dev-08">Can I store data locally in my extension?</a><
/li> |
| 22 <li><a href="#faq-dev-09">How much data can I store in localStorage?</a>
</li> |
| 23 <li><a href="#faq-dev-10">Can I create an options menu for my applicatio
n?</a></li> |
| 24 <li><a href="#faq-dev-11">Can two extensions communicate with each other
?</a></li> |
| 25 <li><a href="#faq-dev-12">What debugging tools are available to extensio
n developers?</a></li> |
| 26 <li><a href="#faq-dev-13">Can extensions use Google Analytics?</a></li> |
| 27 </ul> |
| 28 </div> |
| 29 |
| 30 <h2>General</h2> |
| 31 |
| 32 <h3 id="faq-gen-01">What are Google Chrome Extensions?</h3> |
7 <p> | 33 <p> |
8 This page will give answers to frequently asked questions. | 34 Google Chrome Extensions are applications that run inside the Google |
| 35 Chrome browser and provide additional functionality, integration with third |
| 36 party websites or services, and customized browsing experiences. |
9 </p> | 37 </p> |
| 38 |
| 39 <h3 id="faq-gen-02">What technologies are used to write extensions for Google Ch
rome?</h3> |
| 40 <p> |
| 41 Google Chrome Extensions are written using the same standard web |
| 42 technologies that developers use to create websites. HTML is used as a |
| 43 content markup language, CSS is used for styling, and JavaScript for |
| 44 scripting. Because Google Chrome supports HTML5 and CSS3, developers can |
| 45 use the latest open web technologies such as canvas and CSS animations in |
| 46 their extensions. Extensions also have access to several |
| 47 <a href="http://code.google.com/chrome/extensions/api_other.html">JavaScript A
PIs</a> |
| 48 that help perform functions like JSON encoding and interacting with the |
| 49 browser. |
| 50 </p> |
| 51 |
| 52 |
| 53 <h3 id="faq-gen-03">Are extensions fetched from the web every time the browser i
s loaded?</h3> |
| 54 <p> |
| 55 Extensions are downloaded by the Google Chrome browser upon install, and |
| 56 are subsequently run off of the local disk in order to speed up |
| 57 performance. However, if a new version of the extension is pushed online, |
| 58 it will be automatically downloaded in the background to any users who |
| 59 have the extension installed. Extensions may also make requests for remote |
| 60 content at any time, in order to interact with a web service or pull new |
| 61 content from the web. |
| 62 </p> |
| 63 |
| 64 |
| 65 <h2>Development</h2> |
| 66 |
| 67 |
| 68 <h3 id="faq-dev-01">How can I set up Google Chrome for extension development?</h
3> |
| 69 <p> |
| 70 As long as you are using a version of Google Chrome that supports |
| 71 extensions, you already have everything you need to start writing an |
| 72 extension of your own. Select "Extensions" from the Tools menu |
| 73 <img style="vertical-align: middle;" src="images/toolsmenu.gif" /> (or from |
| 74 the window menu on Mac) and click "Developer Mode". From there, you can load |
| 75 an unpacked directory of files as if it were a packaged extension, reload |
| 76 extensions, and more. For a complete tutorial, please view |
| 77 <a href="http://code.google.com/chrome/extensions/getstarted.html">this gettin
g started guide</a>. |
| 78 </p> |
| 79 |
| 80 <h3 id="faq-dev-02">Can I make cross-domain Ajax requests in an extension?</h3> |
| 81 <p> |
| 82 Yes. Extensions can make cross-domain requests. See |
| 83 <a href="http://code.google.com/chrome/extensions/xhr.html">this page</a> |
| 84 for more information. |
| 85 </p> |
| 86 |
| 87 <h3 id="faq-dev-03">Can I use 3rd party web services in my extension?</h3> |
| 88 <p> |
| 89 Yes. Google Chrome Extensions are capable of making cross-domain Ajax |
| 90 requests, so they can call remote APIs directly. APIs which provide data |
| 91 in JSON format are particularly easy to use. |
| 92 </p> |
| 93 |
| 94 <h3 id="faq-dev-04">Can I use OAuth in my extensions?</h3> |
| 95 <p> |
| 96 Absolutely, there are extensions which use OAuth to access remote data |
| 97 APIs. Most developers find it convenient to use a |
| 98 <a href="http://unitedheroes.net/OAuthSimple/js/OAuthSimple.js">JavaScript OAu
th library</a> |
| 99 in order to simplify the process of signing OAuth requests. |
| 100 </p> |
| 101 |
| 102 <h3 id="faq-dev-05">What UI controls can I create for my extension?</h3> |
| 103 <p> |
| 104 Extensions use HTML and CSS to define their user interfaces, so you can use |
| 105 standard form controls to build your UI, or style the interface with CSS, |
| 106 as you would a web page. Additionally, your extension may add buttons |
| 107 to the Google Chrome browser itself. See |
| 108 <a href="http://code.google.com/chrome/extensions/browserAction.html">browser
actions</a> |
| 109 and |
| 110 <a href="http://code.google.com/chrome/extensions/pageAction.html">page action
s</a> |
| 111 for more information. |
| 112 </p> |
| 113 |
| 114 <h3 id="faq-dev-06">Can I load DLLs in my extension?</h3> |
| 115 <p> |
| 116 Yes, using the |
| 117 <a href="http://code.google.com/chrome/extensions/trunk/npapi.html">NPAPI inte
rface</a>. |
| 118 Because of the possibility for abuse, though, we will review your extension |
| 119 before hosting it in the Google Chrome Extensions gallery. |
| 120 </p> |
| 121 |
| 122 <h3 id="faq-dev-07">Can Google Chrome Extensions encode/decode JSON data?</h3> |
| 123 <p> |
| 124 Yes, because V8 (Google Chrome's JavaScript engine) supports |
| 125 JSON.stringify and JSON.parse natively, you may use these functions in your |
| 126 extensions |
| 127 <a href="http://json.org/js.html">as described here</a> without including |
| 128 any additional JSON libraries in your code. |
| 129 </p> |
| 130 |
| 131 <h3 id="faq-dev-08">Can I store data locally in my extension?</h3> |
| 132 <p> |
| 133 Yes, extensions can use <a href="http://dev.w3.org/html5/webstorage/">localSto
rage</a> |
| 134 to store string data permanently. Using Google Chrome's built-in JSON |
| 135 functions, you can store complex data structures in localStorage. For |
| 136 extensions which have the need to execute SQL queries on their stored data, |
| 137 Google Chrome implements |
| 138 <a href="http://dev.w3.org/html5/webdatabase/">client side SQL databases</a> |
| 139 which may be used as well. |
| 140 </p> |
| 141 |
| 142 <h3 id="faq-dev-09">How much data can I store in localStorage?</h3> |
| 143 <p> |
| 144 Extensions can store up to 5MB of data in localStorage. |
| 145 </p> |
| 146 |
| 147 <h3 id="faq-dev-10">Can I create an options menu for my application?</h3> |
| 148 <p> |
| 149 You can let users set options for your extension by creating an |
| 150 <a href="http://code.google.com/chrome/extensions/trunk/options.html">options
page</a> |
| 151 which is a simple HTML page that will be loaded when a user clicks the |
| 152 "options" button for your extension. This page can read and write settings |
| 153 to localStorage, or even send options to a web server so that they can be |
| 154 persisted across browsers. |
| 155 </p> |
| 156 |
| 157 <h3 id="faq-dev-11">Can two extensions communicate with each other?</h3> |
| 158 <p> |
| 159 Extensions may pass messages to other extensions. See the |
| 160 <a href="http://code.google.com/chrome/extensions/trunk/messaging.html#externa
l">message passing documentation</a> |
| 161 for more information. |
| 162 </p> |
| 163 |
| 164 <h3 id="faq-dev-12">What debugging tools are available to extension developers?<
/h3> |
| 165 <p> |
| 166 Google Chrome's built-in developer tools can be used to debug extensions |
| 167 as well as web pages. See this |
| 168 <a href="http://code.google.com/chrome/extensions/tut_debugging.html ">tutoria
l on debugging extensions</a> |
| 169 for more information. |
| 170 </p> |
| 171 |
| 172 <h3 id="faq-dev-13">Can extensions use Google Analytics?</h3> |
| 173 <p> |
| 174 Yes, since extensions are built just like websites, they can use |
| 175 <a href="http://www.google.com/analytics/">Google Analytics</a> to track |
| 176 usage. |
| 177 </p> |
| 178 |
OLD | NEW |