| Index: chrome/common/extensions/docs/faq.html
|
| ===================================================================
|
| --- chrome/common/extensions/docs/faq.html (revision 34257)
|
| +++ chrome/common/extensions/docs/faq.html (working copy)
|
| @@ -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="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>
|
| -This page will give answers to frequently asked questions.
|
| + 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>
|
| +
|
| +<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>
|
| + 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 -->
|
|
|