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> |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 <ul> | 163 <ul> |
164 <li>Browser UI | 164 <li>Browser UI |
165 <ul> | 165 <ul> |
166 <li><a href="browserAction.html">Browser Actions</a></li> | 166 <li><a href="browserAction.html">Browser Actions</a></li> |
167 <li><a href="contextMenus.html">Context Menus</a></li> | 167 <li><a href="contextMenus.html">Context Menus</a></li> |
168 <li><a href="notifications.html">Desktop Notifications</a></li
> | 168 <li><a href="notifications.html">Desktop Notifications</a></li
> |
169 <li><a href="omnibox.html">Omnibox</a></li> | 169 <li><a href="omnibox.html">Omnibox</a></li> |
170 <li><a href="options.html">Options Pages</a></li> | 170 <li><a href="options.html">Options Pages</a></li> |
171 <li><a href="override.html">Override Pages</a></li> | 171 <li><a href="override.html">Override Pages</a></li> |
172 <li><a href="pageAction.html">Page Actions</a></li> | 172 <li><a href="pageAction.html">Page Actions</a></li> |
173 <li><a href="themes.html">Themes</a></li> | |
174 </ul> | 173 </ul> |
175 </li> | 174 </li> |
176 <li>Browser Interaction | 175 <li>Browser Interaction |
177 <ul> | 176 <ul> |
178 <li><a href="bookmarks.html">Bookmarks</a></li> | 177 <li><a href="bookmarks.html">Bookmarks</a></li> |
179 <li><a href="cookies.html">Cookies</a></li> | 178 <li><a href="cookies.html">Cookies</a></li> |
180 <li><a href="events.html">Events</a></li> | 179 <li><a href="events.html">Events</a></li> |
181 <li><a href="history.html">History</a></li> | 180 <li><a href="history.html">History</a></li> |
182 <li><a href="management.html">Management</a></li> | 181 <li><a href="management.html">Management</a></li> |
183 <li><a href="tabs.html">Tabs</a></li> | 182 <li><a href="tabs.html">Tabs</a></li> |
(...skipping 13 matching lines...) Expand all Loading... |
197 </ul> | 196 </ul> |
198 </li> | 197 </li> |
199 <li>Finishing | 198 <li>Finishing |
200 <ul> | 199 <ul> |
201 <li><a href="hosting.html">Hosting</a></li> | 200 <li><a href="hosting.html">Hosting</a></li> |
202 <li><a href="external_extensions.html">Other Deployment Option
s</a></li> | 201 <li><a href="external_extensions.html">Other Deployment Option
s</a></li> |
203 </ul> | 202 </ul> |
204 </li> | 203 </li> |
205 </ul> | 204 </ul> |
206 </li> | 205 </li> |
| 206 <li><h2><a href="apps.html">Packaged Apps</a></h2></li> |
207 <li><h2><a href="tutorials.html">Tutorials</a></h2> | 207 <li><h2><a href="tutorials.html">Tutorials</a></h2> |
208 <ul> | 208 <ul> |
209 <li><a href="tut_debugging.html">Debugging</a></li> | 209 <li><a href="tut_debugging.html">Debugging</a></li> |
210 <li><a href="tut_analytics.html">Google Analytics</a></li> | 210 <li><a href="tut_analytics.html">Google Analytics</a></li> |
211 <li><a href="tut_oauth.html">OAuth</a></li> | 211 <li><a href="tut_oauth.html">OAuth</a></li> |
212 </ul> | 212 </ul> |
213 </li> | 213 </li> |
214 <li><h2>Reference</h2> | 214 <li><h2>Reference</h2> |
215 <ul> | 215 <ul> |
216 <li>Formats | 216 <li>Formats |
217 <ul> | 217 <ul> |
218 <li><a href="manifest.html">Manifest Files</a></li> | 218 <li><a href="manifest.html">Manifest Files</a></li> |
219 <li><a href="match_patterns.html">Match Patterns</a></li> | 219 <li><a href="match_patterns.html">Match Patterns</a></li> |
220 <!-- <li>Packages (.crx)</li> --> | |
221 </ul> | 220 </ul> |
222 </li> | 221 </li> |
| 222 <li><a href="permission_warnings.html">Permission Warnings</a></li
> |
223 <li><a href="api_index.html">chrome.* APIs</a></li> | 223 <li><a href="api_index.html">chrome.* APIs</a></li> |
224 <li><a href="api_other.html">Other APIs</a></li> | 224 <li><a href="api_other.html">Other APIs</a></li> |
225 </ul> | 225 </ul> |
226 </li> | 226 </li> |
227 <li><h2><a href="samples.html">Samples</a></h2></li> | 227 <li><h2><a href="samples.html">Samples</a></h2></li> |
228 <div class="line"> </div> | 228 <div class="line"> </div> |
229 <li><h2>More</h2> | 229 <li><h2>More</h2> |
230 <ul> | 230 <ul> |
231 <li><a href="http://code.google.com/chrome/webstore/docs/index.htm
l">Chrome Web Store</a></li> | 231 <li><a href="http://code.google.com/chrome/webstore/docs/index.htm
l">Chrome Web Store</a></li> |
232 <li><a href="http://code.google.com/chrome/apps/docs/developers_gu
ide.html">Installable Web Apps</a></li> | 232 <li><a href="http://code.google.com/chrome/apps/docs/developers_gu
ide.html">Hosted Apps</a></li> |
233 <li><a href="themes.html">Themes</a></li> | 233 <li><a href="themes.html">Themes</a></li> |
234 </ul> | 234 </ul> |
235 </li> | 235 </li> |
236 </ul> | 236 </ul> |
237 </div> | 237 </div> |
238 <script> | 238 <script> |
239 initToggles(); | 239 initToggles(); |
240 </script> | 240 </script> |
241 | 241 |
242 <div class="g-unit" id="gc-pagecontent"> | 242 <div class="g-unit" id="gc-pagecontent"> |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 | 303 |
304 <!-- STATIC CONTENT PLACEHOLDER --> | 304 <!-- STATIC CONTENT PLACEHOLDER --> |
305 <div id="static"><div id="pageData-name" class="pageData">Frequently Ask
ed Questions</div> | 305 <div id="static"><div id="pageData-name" class="pageData">Frequently Ask
ed Questions</div> |
306 | 306 |
307 | 307 |
308 <!-- <div id="pageData-showTOC" class="pageData">true</div> --> | 308 <!-- <div id="pageData-showTOC" class="pageData">true</div> --> |
309 | 309 |
310 <p> | 310 <p> |
311 If you don't find an answer to your question here, | 311 If you don't find an answer to your question here, |
312 try the | 312 try the |
313 <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions">grou
p</a> or the | 313 <a href="http://code.google.com/chrome/webstore/faq.html">Chrome Web Store FAQ</
a>, the |
| 314 <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions">grou
p</a>, or the |
314 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">galle
ry help</a>. | 315 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">galle
ry help</a>. |
| 316 <!-- PENDING: add a link to store help --> |
315 </p> | 317 </p> |
316 | 318 |
317 <div id="faq-TOC"> | 319 <div id="faq-TOC"> |
318 <h4>General</h4> | 320 <h4>General</h4> |
319 <ul> | 321 <ul> |
320 <li><a href="#faq-gen-01">What are Google Chrome Extensions?</a></li> | 322 <li><a href="#faq-gen-01">What are Google Chrome Extensions?</a></li> |
321 <li><a href="#faq-gen-02">What technologies are used to write extensions for
Google Chrome?</a></li> | 323 <li><a href="#faq-gen-02">What technologies are used to write extensions for
Chrome?</a></li> |
322 <li><a href="#faq-gen-03">Are extensions fetched from the web every time the
browser is loaded?</a></li> | 324 <li><a href="#faq-gen-03">Are extensions fetched from the web every time the
browser is loaded?</a></li> |
323 </ul> | 325 </ul> |
324 <h4>Development</h4> | 326 <h4>Development</h4> |
325 <ul> | 327 <ul> |
326 <li><a href="#faq-dev-01">How can I set up Google Chrome for extension devel
opment?</a></li> | 328 <li><a href="#faq-dev-01">How can I set up Chrome for extension development?
</a></li> |
327 <li><a href="#faq-dev-02">Can I make cross-domain Ajax requests in an extens
ion?</a></li> | 329 <li><a href="#faq-dev-02">Can I make cross-domain Ajax requests in an extens
ion?</a></li> |
328 <li><a href="#faq-dev-03">Can I use 3rd party web services in my extension?<
/a></li> | 330 <li><a href="#faq-dev-03">Can I use 3rd party web services in my extension?<
/a></li> |
329 <li><a href="#faq-dev-04">Can I use OAuth in my extensions?</a></li> | 331 <li><a href="#faq-dev-04">Can I use OAuth in my extensions?</a></li> |
330 <li><a href="#faq-dev-05">What UI controls can I create for my extension?</a
></li> | 332 <li><a href="#faq-dev-05">What UI controls can I create for my extension?</a
></li> |
331 <li><a href="#faq-dev-06">Can I load DLLs in my extension?</a></li> | 333 <li><a href="#faq-dev-06">Can I load DLLs in my extension?</a></li> |
332 <li><a href="#faq-dev-07">Can Google Chrome Extensions encode/decode JSON da
ta?</a></li> | 334 <li><a href="#faq-dev-07">Can extensions encode/decode JSON data?</a></li> |
333 <li><a href="#faq-dev-08">Can I store data locally in my extension?</a></li> | 335 <li><a href="#faq-dev-08">Can I store data locally in my extension?</a></li> |
334 <li><a href="#faq-dev-09">How much data can I store in localStorage?</a></li
> | 336 <li><a href="#faq-dev-09">How much data can I store in localStorage?</a></li
> |
335 <li><a href="#faq-dev-10">Can I create an options menu for my application?</
a></li> | 337 <li><a href="#faq-dev-10">Can I create an options menu for my application?</
a></li> |
336 <li><a href="#faq-dev-11">Can two extensions communicate with each other?</a
></li> | 338 <li><a href="#faq-dev-11">Can two extensions communicate with each other?</a
></li> |
337 <li><a href="#faq-dev-12">What debugging tools are available to extension de
velopers?</a></li> | 339 <li><a href="#faq-dev-12">What debugging tools are available to extension de
velopers?</a></li> |
338 <li><a href="#faq-dev-13">Can extensions use Google Analytics?</a></li> | 340 <li><a href="#faq-dev-13">Can extensions use Google Analytics?</a></li> |
339 <li><a href="#faq-dev-14">How do I determine which version of Google Chrome
is deployed to which channel?</a></li> | 341 <li><a href="#faq-dev-14">How do I determine which version of Chrome is depl
oyed to which channel?</a></li> |
340 <li><a href="#faq-dev-15">Can I add a content script to chrome:// URLs?</a><
/li> | 342 <li><a href="#faq-dev-15">Can I add a content script to chrome:// URLs?</a><
/li> |
341 <li><a href="#faq-dev-16">Why do wildcard matches not work for top level dom
ains (TLDs)?</a></li> | 343 <li><a href="#faq-dev-16">Why do wildcard matches not work for top level dom
ains (TLDs)?</a></li> |
342 </ul> | 344 </ul> |
343 <h4>Features and bugs</h4> | 345 <h4>Features and bugs</h4> |
344 <ul> | 346 <ul> |
345 <li><a href="#faq-fea-01">I think I've found a bug! How do I make sure it ge
ts fixed?</a></li> | 347 <li><a href="#faq-fea-01">I think I've found a bug! How do I make sure it ge
ts fixed?</a></li> |
346 <li><a href="#faq-fea-02">I have a feature request! How can I report it?</a>
</li> | 348 <li><a href="#faq-fea-02">I have a feature request! How can I report it?</a>
</li> |
347 </ul> | 349 </ul> |
348 </div> | 350 </div> |
349 | 351 |
350 <h2>General</h2> | 352 <h2>General</h2> |
351 | 353 |
352 <h3 id="faq-gen-01">What are Google Chrome Extensions?</h3> | 354 <h3 id="faq-gen-01">What are Google Chrome Extensions?</h3> |
353 <p> | 355 <p> |
354 Google Chrome Extensions are applications that run inside the Google | 356 Google Chrome Extensions are applications that run inside the |
355 Chrome browser and provide additional functionality, integration with third | 357 Chrome browser and provide additional functionality, integration with third |
356 party websites or services, and customized browsing experiences. | 358 party websites or services, and customized browsing experiences. |
357 </p> | 359 </p> |
358 | 360 |
359 <h3 id="faq-gen-02">What technologies are used to write extensions for Google Ch
rome?</h3> | 361 <h3 id="faq-gen-02">What technologies are used to write extensions for Chrome?</
h3> |
360 <p> | 362 <p> |
361 Google Chrome Extensions are written using the same standard web | 363 Extensions are written using the same standard web |
362 technologies that developers use to create websites. HTML is used as a | 364 technologies that developers use to create websites. HTML is used as a |
363 content markup language, CSS is used for styling, and JavaScript for | 365 content markup language, CSS is used for styling, and JavaScript for |
364 scripting. Because Google Chrome supports HTML5 and CSS3, developers can | 366 scripting. Because Chrome supports HTML5 and CSS3, developers can |
365 use the latest open web technologies such as canvas and CSS animations in | 367 use the latest open web technologies such as canvas and CSS animations in |
366 their extensions. Extensions also have access to several | 368 their extensions. Extensions also have access to several |
367 <a href="http://code.google.com/chrome/extensions/api_other.html">JavaScript A
PIs</a> | 369 <a href="http://code.google.com/chrome/extensions/api_other.html">JavaScript A
PIs</a> |
368 that help perform functions like JSON encoding and interacting with the | 370 that help perform functions like JSON encoding and interacting with the |
369 browser. | 371 browser. |
370 </p> | 372 </p> |
371 | 373 |
372 | 374 |
373 <h3 id="faq-gen-03">Are extensions fetched from the web every time the browser i
s loaded?</h3> | 375 <h3 id="faq-gen-03">Are extensions fetched from the web every time the browser i
s loaded?</h3> |
374 <p> | 376 <p> |
375 Extensions are downloaded by the Google Chrome browser upon install, and | 377 Extensions are downloaded by the Chrome browser upon install, and |
376 are subsequently run off of the local disk in order to speed up | 378 are subsequently run off of the local disk in order to speed up |
377 performance. However, if a new version of the extension is pushed online, | 379 performance. However, if a new version of the extension is pushed online, |
378 it will be automatically downloaded in the background to any users who | 380 it will be automatically downloaded in the background to any users who |
379 have the extension installed. Extensions may also make requests for remote | 381 have the extension installed. Extensions may also make requests for remote |
380 content at any time, in order to interact with a web service or pull new | 382 content at any time, in order to interact with a web service or pull new |
381 content from the web. | 383 content from the web. |
382 </p> | 384 </p> |
383 | 385 |
384 | 386 |
385 <h2>Development</h2> | 387 <h2>Development</h2> |
386 | 388 |
387 | 389 |
388 <h3 id="faq-dev-01">How can I set up Google Chrome for extension development?</h
3> | 390 <h3 id="faq-dev-01">How can I set up Chrome for extension development?</h3> |
389 <p> | 391 <p> |
390 As long as you are using a version of Google Chrome that supports | 392 As long as you are using a version of Chrome that supports |
391 extensions, you already have everything you need to start writing an | 393 extensions, you already have everything you need to start writing an |
392 extension of your own. | 394 extension of your own. |
393 You can start by turning on Developer mode. | 395 You can start by turning on Developer mode. |
394 </p> | 396 </p> |
395 | 397 |
396 <p> | 398 <p> |
397 Click the wrench icon | 399 Click the wrench icon |
398 <img src="images/toolsmenu.gif" height="29" width="29" alt="" class="nomargin"
> | 400 <img src="images/toolsmenu.gif" height="29" width="29" alt="" class="nomargin"
> |
399 and select <b>Extensions</b> from the <b>Tools</b> menu | 401 and select <b>Extensions</b> from the <b>Tools</b> menu. |
400 (or from the <b>Window</b> menu on Mac). | |
401 If there's a "+" next to "Developer mode", | 402 If there's a "+" next to "Developer mode", |
402 click the "+" so it turns into a "-". | 403 click the "+" so it turns into a "-". |
403 Now you can reload extensions, | 404 Now you can reload extensions, |
404 load an unpacked directory of files as if it were a packaged extension, | 405 load an unpacked directory of files as if it were a packaged extension, |
405 and more. For a complete tutorial, see | 406 and more. For a complete tutorial, see |
406 <a href="http://code.google.com/chrome/extensions/getstarted.html">Getting Sta
rted</a>. | 407 <a href="http://code.google.com/chrome/extensions/getstarted.html">Getting Sta
rted</a>. |
407 </p> | 408 </p> |
408 | 409 |
409 <h3 id="faq-dev-02">Can I make cross-domain Ajax requests in an extension?</h3> | 410 <h3 id="faq-dev-02">Can I make cross-domain Ajax requests in an extension?</h3> |
410 <p> | 411 <p> |
411 Yes. Extensions can make cross-domain requests. See | 412 Yes. Extensions can make cross-domain requests. See |
412 <a href="http://code.google.com/chrome/extensions/xhr.html">this page</a> | 413 <a href="http://code.google.com/chrome/extensions/xhr.html">this page</a> |
413 for more information. | 414 for more information. |
414 </p> | 415 </p> |
415 | 416 |
416 <h3 id="faq-dev-03">Can I use 3rd party web services in my extension?</h3> | 417 <h3 id="faq-dev-03">Can I use 3rd party web services in my extension?</h3> |
417 <p> | 418 <p> |
418 Yes. Google Chrome Extensions are capable of making cross-domain Ajax | 419 Yes. Extensions are capable of making cross-domain Ajax |
419 requests, so they can call remote APIs directly. APIs which provide data | 420 requests, so they can call remote APIs directly. APIs that provide data |
420 in JSON format are particularly easy to use. | 421 in JSON format are particularly easy to use. |
421 </p> | 422 </p> |
422 | 423 |
423 <h3 id="faq-dev-04">Can I use OAuth in my extensions?</h3> | 424 <h3 id="faq-dev-04">Can I use OAuth in my extensions?</h3> |
424 <p> | 425 <p> |
425 Absolutely, there are extensions which use OAuth to access remote data | 426 Absolutely, there are extensions that use OAuth to access remote data |
426 APIs. Most developers find it convenient to use a | 427 APIs. Most developers find it convenient to use a |
427 <a href="http://unitedheroes.net/OAuthSimple/js/OAuthSimple.js">JavaScript OAu
th library</a> | 428 <a href="http://unitedheroes.net/OAuthSimple/js/OAuthSimple.js">JavaScript OAu
th library</a> |
428 in order to simplify the process of signing OAuth requests. | 429 in order to simplify the process of signing OAuth requests. |
429 </p> | 430 </p> |
430 | 431 |
431 <h3 id="faq-dev-05">What UI controls can I create for my extension?</h3> | 432 <h3 id="faq-dev-05">What UI controls can I create for my extension?</h3> |
432 <p> | 433 <p> |
433 Extensions use HTML and CSS to define their user interfaces, so you can use | 434 Extensions use HTML and CSS to define their user interfaces, so you can use |
434 standard form controls to build your UI, or style the interface with CSS, | 435 standard form controls to build your UI, or style the interface with CSS, |
435 as you would a web page. Additionally, your extension may add buttons | 436 as you would a web page. Additionally, your extension may add buttons |
436 to the Google Chrome browser itself. See | 437 to the Chrome browser itself. See |
437 <a href="http://code.google.com/chrome/extensions/browserAction.html">browser
actions</a> | 438 <a href="http://code.google.com/chrome/extensions/browserAction.html">browser
actions</a> |
438 and | 439 and |
439 <a href="http://code.google.com/chrome/extensions/pageAction.html">page action
s</a> | 440 <a href="http://code.google.com/chrome/extensions/pageAction.html">page action
s</a> |
440 for more information. | 441 for more information. |
441 </p> | 442 </p> |
442 | 443 |
443 <h3 id="faq-dev-06">Can I load DLLs in my extension?</h3> | 444 <h3 id="faq-dev-06">Can I load DLLs in my extension?</h3> |
444 <p> | 445 <p> |
445 Yes, using the | 446 Yes, using the |
446 <a href="http://code.google.com/chrome/extensions/trunk/npapi.html">NPAPI inte
rface</a>. | 447 <a href="http://code.google.com/chrome/extensions/trunk/npapi.html">NPAPI inte
rface</a>. |
447 Because of the possibility for abuse, though, we will review your extension | 448 Because of the possibility for abuse, though, we will review your extension |
448 before hosting it in the Google Chrome Extensions Gallery. | 449 before hosting it in the Google Chrome Extensions Gallery |
| 450 or Chrome Web Store. |
449 </p> | 451 </p> |
450 | 452 |
451 <h3 id="faq-dev-07">Can Google Chrome Extensions encode/decode JSON data?</h3> | 453 <h3 id="faq-dev-07">Can extensions encode/decode JSON data?</h3> |
452 <p> | 454 <p> |
453 Yes, because V8 (Google Chrome's JavaScript engine) supports | 455 Yes, because V8 (Chrome's JavaScript engine) supports |
454 JSON.stringify and JSON.parse natively, you may use these functions in your | 456 JSON.stringify and JSON.parse natively, you may use these functions in your |
455 extensions | 457 extensions |
456 <a href="http://json.org/js.html">as described here</a> without including | 458 <a href="http://json.org/js.html">as described here</a> without including |
457 any additional JSON libraries in your code. | 459 any additional JSON libraries in your code. |
458 </p> | 460 </p> |
459 | 461 |
460 <h3 id="faq-dev-08">Can I store data locally in my extension?</h3> | 462 <h3 id="faq-dev-08">Can I store data locally in my extension?</h3> |
461 <p> | 463 <p> |
462 Yes, extensions can use <a href="http://dev.w3.org/html5/webstorage/">localSto
rage</a> | 464 Yes, extensions can use <a href="http://dev.w3.org/html5/webstorage/">localSto
rage</a> |
463 to store string data permanently. Using Google Chrome's built-in JSON | 465 to store string data permanently. Using Chrome's built-in JSON |
464 functions, you can store complex data structures in localStorage. For | 466 functions, you can store complex data structures in localStorage. For |
465 extensions which have the need to execute SQL queries on their stored data, | 467 extensions that need to execute SQL queries on their stored data, |
466 Google Chrome implements | 468 Chrome implements |
467 <a href="http://dev.w3.org/html5/webdatabase/">client side SQL databases</a> | 469 <a href="http://dev.w3.org/html5/webdatabase/">client side SQL databases</a>, |
468 which may be used as well. | 470 which may be used as well. |
469 </p> | 471 </p> |
470 | 472 |
471 <h3 id="faq-dev-09">How much data can I store in localStorage?</h3> | 473 <h3 id="faq-dev-09">How much data can I store in localStorage?</h3> |
472 <p> | 474 <p> |
473 Extensions can store up to 5MB of data in localStorage. | 475 Extensions can store up to 5MB of data in localStorage. |
474 </p> | 476 </p> |
475 | 477 |
476 <h3 id="faq-dev-10">Can I create an options menu for my application?</h3> | 478 <h3 id="faq-dev-10">Can I create an options menu for my application?</h3> |
477 <p> | 479 <p> |
478 You can let users set options for your extension by creating an | 480 You can let users set options for your extension by creating an |
479 <a href="http://code.google.com/chrome/extensions/trunk/options.html">options
page</a> | 481 <a href="http://code.google.com/chrome/extensions/trunk/options.html">options
page</a>, |
480 which is a simple HTML page that will be loaded when a user clicks the | 482 which is a simple HTML page that will be loaded when a user clicks the |
481 "options" button for your extension. This page can read and write settings | 483 "options" button for your extension. This page can read and write settings |
482 to localStorage, or even send options to a web server so that they can be | 484 to localStorage, or even send options to a web server so that they can be |
483 persisted across browsers. | 485 persisted across browsers. |
484 </p> | 486 </p> |
485 | 487 |
486 <h3 id="faq-dev-11">Can two extensions communicate with each other?</h3> | 488 <h3 id="faq-dev-11">Can two extensions communicate with each other?</h3> |
487 <p> | 489 <p> |
488 Extensions may pass messages to other extensions. See the | 490 Extensions may pass messages to other extensions. See the |
489 <a href="http://code.google.com/chrome/extensions/trunk/messaging.html#externa
l">message passing documentation</a> | 491 <a href="http://code.google.com/chrome/extensions/trunk/messaging.html#externa
l">message passing documentation</a> |
490 for more information. | 492 for more information. |
491 </p> | 493 </p> |
492 | 494 |
493 <h3 id="faq-dev-12">What debugging tools are available to extension developers?<
/h3> | 495 <h3 id="faq-dev-12">What debugging tools are available to extension developers?<
/h3> |
494 <p> | 496 <p> |
495 Google Chrome's built-in developer tools can be used to debug extensions | 497 Chrome's built-in developer tools can be used to debug extensions |
496 as well as web pages. See this | 498 as well as web pages. See this |
497 <a href="http://code.google.com/chrome/extensions/tut_debugging.html ">tutoria
l on debugging extensions</a> | 499 <a href="http://code.google.com/chrome/extensions/tut_debugging.html ">tutoria
l on debugging extensions</a> |
498 for more information. | 500 for more information. |
499 </p> | 501 </p> |
500 | 502 |
501 <h3 id="faq-dev-13">Can extensions use Google Analytics?</h3> | 503 <h3 id="faq-dev-13">Can extensions use Google Analytics?</h3> |
502 <p> | 504 <p> |
503 Yes, since extensions are built just like websites, they can use | 505 Yes, since extensions are built just like websites, they can use |
504 <a href="http://www.google.com/analytics/">Google Analytics</a> to track | 506 <a href="http://www.google.com/analytics/">Google Analytics</a> to track |
505 usage. However, we strongly advise you to modify the tracking code to pull | 507 usage. However, we strongly advise you to modify the tracking code to pull |
506 an HTTPS version of the Google Analytics library. See | 508 an HTTPS version of the Google Analytics library. See |
507 <a href="tut_analytics.html">this tutorial</a> for more information on doing | 509 <a href="tut_analytics.html">this tutorial</a> for more information on doing |
508 this. | 510 this. |
509 </p> | 511 </p> |
510 | 512 |
511 <h3 id="faq-dev-14">How do I determine which version of Google Chrome is deploye
d to which channel?</h3> | 513 <h3 id="faq-dev-14">How do I determine which version of Chrome is deployed to wh
ich channel?</h3> |
512 <p> | 514 <p> |
513 To determine which version of Google Chrome is currently available on each | 515 To determine which version of Chrome is currently available on each |
514 of the different platforms, visit | 516 of the different platforms, visit |
515 <a href="http://omahaproxy.appspot.com">omahaproxy.appspot.com</a>. On that | 517 <a href="http://omahaproxy.appspot.com">omahaproxy.appspot.com</a>. On that |
516 site you will see data in a format similar to: | 518 site you will see data in a format similar to: |
517 </p> | 519 </p> |
518 <pre>cf,dev,#.#.###.#,#.#.###.# | 520 <pre>cf,dev,#.#.###.#,#.#.###.# |
519 cf,beta,#.#.###.#,#.#.###.# | 521 cf,beta,#.#.###.#,#.#.###.# |
520 cf,stable,#.#.###.#,#.#.###.# | 522 cf,stable,#.#.###.#,#.#.###.# |
521 linux,dev,#.#.###.#,#.#.###.# | 523 linux,dev,#.#.###.#,#.#.###.# |
522 linux,beta,#.#.###.#,#.#.###.# | 524 linux,beta,#.#.###.#,#.#.###.# |
523 linux,stable,#.#.###.#,#.#.###.# | 525 linux,stable,#.#.###.#,#.#.###.# |
524 mac,dev,#.#.###.#,#.#.###.# | 526 mac,dev,#.#.###.#,#.#.###.# |
525 mac,beta,#.#.###.#,#.#.###.# | 527 mac,beta,#.#.###.#,#.#.###.# |
526 mac,stable,#.#.###.#,#.#.###.# | 528 mac,stable,#.#.###.#,#.#.###.# |
527 win,canary,#.#.###.#,#.#.###.# | 529 win,canary,#.#.###.#,#.#.###.# |
528 win,dev,#.#.###.#,#.#.###.# | 530 win,dev,#.#.###.#,#.#.###.# |
529 win,beta,#.#.###.#,#.#.###.# | 531 win,beta,#.#.###.#,#.#.###.# |
530 win,stable,#.#.###.#,#.#.###.#</pre> | 532 win,stable,#.#.###.#,#.#.###.#</pre> |
531 | 533 |
532 <p> | 534 <p> |
533 Each line represents a different platform and channel combination. The | 535 Each line represents a different platform and channel combination. The |
534 listed platforms are <code>cf</code> (Google Chrome Frame), | 536 listed platforms are <code>cf</code> (Google Chrome Frame), |
535 <code>linux</code>, <code>mac</code>, and <code>win</code>. The listed | 537 <code>linux</code>, <code>mac</code>, and <code>win</code>. The listed |
536 channels are <code>canary</code>, <code>dev</code>, <code>beta</code>, | 538 channels are <code>canary</code>, <code>dev</code>, <code>beta</code>, |
537 and <code>stable</code>. | 539 and <code>stable</code>. |
538 The two four-part numbers at the end of each line represent the range of | 540 The two four-part numbers at the end of each line represent the range of |
539 versions of Google Chrome currently deployed to that platform-channel | 541 versions of Chrome currently deployed to that platform-channel |
540 combination. | 542 combination. |
541 </p> | 543 </p> |
542 | 544 |
543 <h3 id="faq-dev-15">Can I add a content script to chrome:// URLs?</h3> | 545 <h3 id="faq-dev-15">Can I add a content script to chrome:// URLs?</h3> |
544 <p> | 546 <p> |
545 No. The extensions APIs have been designed to minimize backwards | 547 No. The extensions APIs have been designed to minimize backwards |
546 compatibility issues that can arise when new versions of the browser are | 548 compatibility issues that can arise when new versions of the browser are |
547 pushed. Allowing content scripts on <code>chrome://</code> | 549 pushed. Allowing content scripts on <code>chrome://</code> |
548 URLs would mean that developers would begin to rely on the DOM, CSS, and | 550 URLs would mean that developers would begin to rely on the DOM, CSS, and |
549 JavaScript of these pages to stay the same. In the best case, these pages | 551 JavaScript of these pages to stay the same. In the best case, these pages |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 your extension on. | 587 your extension on. |
586 </p> | 588 </p> |
587 | 589 |
588 <h2>Features and bugs</h2> | 590 <h2>Features and bugs</h2> |
589 | 591 |
590 <h3 id="faq-fea-01">I think I've found a bug! How do I make sure it gets | 592 <h3 id="faq-fea-01">I think I've found a bug! How do I make sure it gets |
591 fixed?</h3> | 593 fixed?</h3> |
592 <p> | 594 <p> |
593 While developing an extension, you may find behavior that does not | 595 While developing an extension, you may find behavior that does not |
594 match the extensions documentation and may be the result of a bug in | 596 match the extensions documentation and may be the result of a bug in |
595 Google Chrome. The best thing to do is to make sure an appropriate issue | 597 Chrome. The best thing to do is to make sure an appropriate issue |
596 report is filed, and the Chromium team has enough information to reproduce | 598 report is filed, and the Chromium team has enough information to reproduce |
597 the behavior. | 599 the behavior. |
598 </p> | 600 </p> |
599 | 601 |
600 <p>The steps you should follow to ensure this are:</p> | 602 <p>The steps you should follow to ensure this are:</p> |
601 | 603 |
602 <ol> | 604 <ol> |
603 <li> | 605 <li> |
604 Come up with a <em>minimal</em> test extension that demonstrates the issue | 606 Come up with a <em>minimal</em> test extension that demonstrates the issue |
605 you wish to report. This extension should have as little code as possible | 607 you wish to report. This extension should have as little code as possible |
606 to demonstrate the bug—generally this should be 100 lines of | 608 to demonstrate the bug—generally this should be 100 lines of |
607 code or less. Many times, developers find that they cannot reproduce their | 609 code or less. Many times, developers find that they cannot reproduce their |
608 issues this way, which is a good indicator that the bug is in their own | 610 issues this way, which is a good indicator that the bug is in their own |
609 code. | 611 code. |
610 </li> | 612 </li> |
611 <li> | 613 <li> |
612 Search the issue tracker at | 614 Search the issue tracker at |
613 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether | 615 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether |
614 someone has reported a similar issue. Most issues related to | 616 someone has reported a similar issue. Most issues related to |
615 extensions are filed under <strong>Feature=Extensions</strong>, so to | 617 extensions are filed under <strong>Feature=Extensions</strong>, so to |
616 look for an extension bug related to the | 618 look for an extension bug related to the |
617 chrome.tabs.executeScript function (for example), search for | 619 chrome.tabs.executeScript function (for example), search for |
618 "<code>Feature=Extensions Type=Bug chrome.tabs.executeScript</code>" which | 620 "<code>Feature=Extensions Type=Bug chrome.tabs.executeScript</code>", |
619 will give you | 621 which will give you |
620 <a href="http://code.google.com/p/chromium/issues/list?can=2&q=Feature%3
DExtensions+Type%3DBug+chrome.tabs.executeScript&colspec=ID+Stars+Pri+Area+F
eature+Type+Status+Summary+Modified+Owner+Mstone+OS&x=mstone&y=area&
cells=tiles"> | 622 <a href="http://code.google.com/p/chromium/issues/list?can=2&q=Feature%3
DExtensions+Type%3DBug+chrome.tabs.executeScript&colspec=ID+Stars+Pri+Area+F
eature+Type+Status+Summary+Modified+Owner+Mstone+OS&x=mstone&y=area&
cells=tiles"> |
621 this list of results</a>. | 623 this list of results</a>. |
622 </li> | 624 </li> |
623 <li> | 625 <li> |
624 If you find a bug that describes your issue, click the star icon to be | 626 If you find a bug that describes your issue, click the star icon to be |
625 notified when the bug receives an update. <em>Do not respond to the | 627 notified when the bug receives an update. <em>Do not respond to the |
626 bug to say "me too" or ask "when will this be fixed?"</em>; such updates | 628 bug to say "me too" or ask "when will this be fixed?"</em>; such updates |
627 can cause hundreds of emails to be sent. Add a comment only if you have | 629 can cause hundreds of emails to be sent. Add a comment only if you have |
628 information (such as a better test case or a suggested fix) that is likely | 630 information (such as a better test case or a suggested fix) that is likely |
629 to be helpful. | 631 to be helpful. |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
663 <p>The steps you should follow to ensure this are:</p> | 665 <p>The steps you should follow to ensure this are:</p> |
664 | 666 |
665 <ol> | 667 <ol> |
666 <li> | 668 <li> |
667 Search the issue tracker at | 669 Search the issue tracker at |
668 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether | 670 <a href="http://www.crbug.com">http://www.crbug.com</a> to see whether |
669 someone has requested a similar feature. Most requests related to | 671 someone has requested a similar feature. Most requests related to |
670 extensions are filed under <strong>Feature=Extensions</strong>, so to | 672 extensions are filed under <strong>Feature=Extensions</strong>, so to |
671 look for an extension feature request related to keyboard shortcuts | 673 look for an extension feature request related to keyboard shortcuts |
672 (for example), search | 674 (for example), search |
673 for "<code>Feature=Extensions Type=Feature shortcuts</code>" which will | 675 for "<code>Feature=Extensions Type=Feature shortcuts</code>", |
674 give you | 676 which will give you |
675 <a href="http://code.google.com/p/chromium/issues/list?can=2&q=Feature%3
DExtensions+Type%3DFeature+shortcuts&colspec=ID+Stars+Pri+Area+Feature+Type+
Status+Summary+Modified+Owner+Mstone+OS&x=mstone&y=area&cells=tiles"
> | 677 <a href="http://code.google.com/p/chromium/issues/list?can=2&q=Feature%3
DExtensions+Type%3DFeature+shortcuts&colspec=ID+Stars+Pri+Area+Feature+Type+
Status+Summary+Modified+Owner+Mstone+OS&x=mstone&y=area&cells=tiles"
> |
676 this list of results</a>. | 678 this list of results</a>. |
677 </li> | 679 </li> |
678 <li> | 680 <li> |
679 If you find a ticket that matches your request, click the star icon to be | 681 If you find a ticket that matches your request, click the star icon to be |
680 notified when the bug receives an update. <em>Do not respond to the | 682 notified when the bug receives an update. <em>Do not respond to the |
681 bug to say "me too" or ask "when will this be implemented?"</em>; such | 683 bug to say "me too" or ask "when will this be implemented?"</em>; such |
682 updates can cause hundreds of emails to be sent. | 684 updates can cause hundreds of emails to be sent. |
683 </li> | 685 </li> |
684 <li> | 686 <li> |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
891 _uff=0; | 893 _uff=0; |
892 urchinTracker(); | 894 urchinTracker(); |
893 } | 895 } |
894 catch(e) {/* urchinTracker not available. */} | 896 catch(e) {/* urchinTracker not available. */} |
895 </script> | 897 </script> |
896 <!-- end analytics --> | 898 <!-- end analytics --> |
897 </div> | 899 </div> |
898 </div> <!-- /gc-footer --> | 900 </div> <!-- /gc-footer --> |
899 </div> <!-- /gc-container --> | 901 </div> <!-- /gc-container --> |
900 </body></html> | 902 </body></html> |
OLD | NEW |