diff options
Diffstat (limited to 'chrome/common/extensions/docs/faq.html')
-rw-r--r-- | chrome/common/extensions/docs/faq.html | 193 |
1 files changed, 180 insertions, 13 deletions
diff --git a/chrome/common/extensions/docs/faq.html b/chrome/common/extensions/docs/faq.html index 414c6bb..dd3df5a 100644 --- a/chrome/common/extensions/docs/faq.html +++ b/chrome/common/extensions/docs/faq.html @@ -15,7 +15,7 @@ </script> <script type="text/javascript" src="js/api_page_generator.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> - <title>FAQ - Google Chrome Extensions - Google Code</title></head><body> <div id="gc-container" class="labs"> + <title>Frequently Asked Questions - Google Chrome Extensions - Google Code</title></head><body> <div id="gc-container" class="labs"> <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION --> <!-- In particular, sub-templates that recurse, must be used by allowing jstemplate to make a copy of the template in this section which @@ -109,17 +109,15 @@ <li id="docs_link"> <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a> </li> - <li id="group_link"> - <a href="http://groups.google.com/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a> + <li id="faq_link"> + <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a> </li> <li id="samples_link"> <a href="samples.html" title="Sample extensions (with source code)">Samples</a> </li> - <!-- - <li id="terms_link"> - Terms + <li id="group_link"> + <a href="http://groups.google.com/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a> </li> - --> </ul> </div> <!-- end gc-topnav --> @@ -189,7 +187,7 @@ <div class="g-unit" id="gc-pagecontent"> <div id="pageTitle"> - <h1 class="page_title">FAQ</h1> + <h1 class="page_title">Frequently Asked Questions</h1> </div> <!-- TABLE OF CONTENTS --> <div id="toc" style="display: none; "> @@ -247,15 +245,184 @@ <!-- /TABLE OF CONTENTS --> <!-- STATIC CONTENT PLACEHOLDER --> - <div id="static"><div id="pageData-name" class="pageData">FAQ</div> + <div id="static"><div id="pageData-name" class="pageData">Frequently Asked Questions</div> + + +<!-- <div id="pageData-showTOC" class="pageData">true</div> --> +<div id="faq-TOC"> +<h4>General</h4> + <ul> + <li><a href="#faq-gen-01">What are Google Chrome Extensions?</a></li> + <li><a href="#faq-gen-02">What technologies are used to write extensions for Google Chrome?</a></li> + <li><a href="#faq-gen-03">Are extensions fetched from the web every time the browser is loaded?</a></li> + </ul> +<h4>Development</h4> + <ul> + <li><a href="#faq-dev-01">How can I set up Google Chrome for extension development?</a></li> + <li><a href="#faq-dev-02">Can I make cross-domain Ajax requests in an extension?</a></li> + <li><a href="#faq-dev-03">Can I use 3rd party web services in my extension?</a></li> + <li><a href="#faq-dev-04">Can I use OAuth in my extensions?</a></li> + <li><a href="#faq-dev-05">What UI controls can I create for my extension?</a></li> + <li><a href="#faq-dev-06">Can I load DLLs in my extension?</a></li> + <li><a href="#faq-dev-07">Can Google Chrome Extensions encode/decode JSON data?</a></li> + <li><a href="#faq-dev-08">Can I store data locally in my extension?</a></li> + <li><a href="#faq-dev-09">How much data can I store in localStorage?</a></li> + <li><a href="#faq-dev-10">Can I create an options menu for my application?</a></li> + <li><a href="#faq-dev-11">Can two extensions communicate with each other?</a></li> + <li><a href="#faq-dev-12">What debugging tools are available to extension developers?</a></li> + <li><a href="#faq-dev-13">Can extensions use Google Analytics?</a></li> + </ul> +</div> + +<h2>General</h2> + +<h3 id="faq-gen-01">What are Google Chrome Extensions?</h3> +<p> + Google Chrome Extensions are applications that run inside the Google + Chrome browser and provide additional functionality, integration with third + party websites or services, and customized browsing experiences. +</p> + +<h3 id="faq-gen-02">What technologies are used to write extensions for Google Chrome?</h3> +<p> + Google Chrome Extensions are written using the same standard web + technologies that developers use to create websites. HTML is used as a + content markup language, CSS is used for styling, and JavaScript for + scripting. Because Google Chrome supports HTML5 and CSS3, developers can + use the latest open web technologies such as canvas and CSS animations in + their extensions. Extensions also have access to several + <a href="http://code.google.com/chrome/extensions/api_other.html">JavaScript APIs</a> + that help perform functions like JSON encoding and interacting with the + browser. +</p> + + +<h3 id="faq-gen-03">Are extensions fetched from the web every time the browser is loaded?</h3> +<p> + Extensions are downloaded by the Google Chrome browser upon install, and + are subsequently run off of the local disk in order to speed up + performance. However, if a new version of the extension is pushed online, + it will be automatically downloaded in the background to any users who + have the extension installed. Extensions may also make requests for remote + content at any time, in order to interact with a web service or pull new + content from the web. +</p> + + +<h2>Development</h2> + + +<h3 id="faq-dev-01">How can I set up Google Chrome for extension development?</h3> +<p> + As long as you are using a version of Google Chrome that supports + extensions, you already have everything you need to start writing an + extension of your own. Select "Extensions" from the Tools menu + <img style="vertical-align: middle;" src="images/toolsmenu.gif"> (or from + the window menu on Mac) and click "Developer Mode". From there, you can load + an unpacked directory of files as if it were a packaged extension, reload + extensions, and more. For a complete tutorial, please view + <a href="http://code.google.com/chrome/extensions/getstarted.html">this getting started guide</a>. +</p> -<!-- -<div id="pageData-showTOC" class="pageData">true</div> ---> +<h3 id="faq-dev-02">Can I make cross-domain Ajax requests in an extension?</h3> +<p> + Yes. Extensions can make cross-domain requests. See + <a href="http://code.google.com/chrome/extensions/xhr.html">this page</a> + for more information. +</p> +<h3 id="faq-dev-03">Can I use 3rd party web services in my extension?</h3> <p> -This page will give answers to frequently asked questions. + Yes. Google Chrome Extensions are capable of making cross-domain Ajax + requests, so they can call remote APIs directly. APIs which provide data + in JSON format are particularly easy to use. </p> + +<h3 id="faq-dev-04">Can I use OAuth in my extensions?</h3> +<p> + Absolutely, there are extensions which use OAuth to access remote data + APIs. Most developers find it convenient to use a + <a href="http://unitedheroes.net/OAuthSimple/js/OAuthSimple.js">JavaScript OAuth library</a> + in order to simplify the process of signing OAuth requests. +</p> + +<h3 id="faq-dev-05">What UI controls can I create for my extension?</h3> +<p> + Extensions use HTML and CSS to define their user interfaces, so you can use + standard form controls to build your UI, or style the interface with CSS, + as you would a web page. Additionally, your extension may add buttons + to the Google Chrome browser itself. See + <a href="http://code.google.com/chrome/extensions/browserAction.html">browser actions</a> + and + <a href="http://code.google.com/chrome/extensions/pageAction.html">page actions</a> + for more information. +</p> + +<h3 id="faq-dev-06">Can I load DLLs in my extension?</h3> +<p> + Yes, using the + <a href="http://code.google.com/chrome/extensions/trunk/npapi.html">NPAPI interface</a>. + Because of the possibility for abuse, though, we will review your extension + before hosting it in the Google Chrome Extensions gallery. +</p> + +<h3 id="faq-dev-07">Can Google Chrome Extensions encode/decode JSON data?</h3> +<p> + Yes, because V8 (Google Chrome's JavaScript engine) supports + JSON.stringify and JSON.parse natively, you may use these functions in your + extensions + <a href="http://json.org/js.html">as described here</a> without including + any additional JSON libraries in your code. +</p> + +<h3 id="faq-dev-08">Can I store data locally in my extension?</h3> +<p> + Yes, extensions can use <a href="http://dev.w3.org/html5/webstorage/">localStorage</a> + to store string data permanently. Using Google Chrome's built-in JSON + functions, you can store complex data structures in localStorage. For + extensions which have the need to execute SQL queries on their stored data, + Google Chrome implements + <a href="http://dev.w3.org/html5/webdatabase/">client side SQL databases</a> + which may be used as well. +</p> + +<h3 id="faq-dev-09">How much data can I store in localStorage?</h3> +<p> + Extensions can store up to 5MB of data in localStorage. +</p> + +<h3 id="faq-dev-10">Can I create an options menu for my application?</h3> +<p> + You can let users set options for your extension by creating an + <a href="http://code.google.com/chrome/extensions/trunk/options.html">options page</a> + which is a simple HTML page that will be loaded when a user clicks the + "options" button for your extension. This page can read and write settings + to localStorage, or even send options to a web server so that they can be + persisted across browsers. +</p> + +<h3 id="faq-dev-11">Can two extensions communicate with each other?</h3> +<p> + Extensions may pass messages to other extensions. See the + <a href="http://code.google.com/chrome/extensions/trunk/messaging.html#external">message passing documentation</a> + for more information. +</p> + +<h3 id="faq-dev-12">What debugging tools are available to extension developers?</h3> +<p> + Google Chrome's built-in developer tools can be used to debug extensions + as well as web pages. See this + <a href="http://code.google.com/chrome/extensions/tut_debugging.html ">tutorial on debugging extensions</a> + for more information. +</p> + +<h3 id="faq-dev-13">Can extensions use Google Analytics?</h3> +<p> + Yes, since extensions are built just like websites, they can use + <a href="http://www.google.com/analytics/">Google Analytics</a> to track + usage. +</p> + </div> <!-- API PAGE --> |