background preloader

Programming

Facebook Twitter

What is HTML5? (Infographic) JavaScript. JavaScript (JS) is a lightweight interpreted (or just-in-time compiled) programming language with first-class functions. While it is most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.js, Apache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, multi-paradigm, single-threaded, dynamic language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles. JavaScript's dynamic capabilities include runtime object construction, variable parameter lists, function variables, dynamic script creation (via eval), object introspection (via for...in and Object utilities), and source-code recovery (JavaScript functions store their source text and can be retrieved through toString()).

This section is dedicated to the JavaScript language itself, and not the parts that are specific to Web pages or other host environments. Looking to become a front-end web developer? Get started. What are the key differences between JavaScript and ActionScript 3. Extensions. Modify and extend Mozilla applications Add-ons add new functionality to Gecko-based applications such as Firefox, SeaMonkey, and Thunderbird. There are two main types of add-on: Extensions add new features to the application, while Themes modify the application's user interface. Add-ons can greatly affect the behavior of the application that hosts them. We've developed a set of guidelines to help ensure that they provide a good experience to users.

These guidelines apply for all sorts of add-ons, whether they are hosted at addons.mozilla.org or not. Extensions Extensions add new functionality to Mozilla applications such as Firefox and Thunderbird. There are three different techniques you can use to build extensions: Add-on SDK-based extensions, manually bootstrapped restartless extensions, and legacy extensions. Add-on SDK extensions Extensions built using a set of high-level JavaScript APIs, which don't require a browser restart to install. WebExtensions Debugging Recommended practices.

Extension Frequently Asked Questions. This is quick set of answers to the most common issues with extension development. They are currently written with mostly Firefox in mind, but most if not all should easily translate to SeaMonkey, Thunderbird or any of the other applications. For Thunderbird, you may also find the extension HowTo or FAQ pages helpful. If you're looking for a place to get started, try our tutorial, Building an Extension or MozillaZine's Getting started tutorial. Use the Extension Wizard to generate a template to start with. Be sure to set the development preferences. Debugging You should set development preferences before attempting to debug your extension. The Venkman JavaScript debugger may be useful in complex cases, remember to turn off the "Debug -> Exclude Browser Files" option when working on extension code. How can I see errors in my code? After you set the preference javascript.options.showInConsole to true, the errors will be reported to the Error Console.

Why doesn't my script run properly? Or. Building an Extension. Introduction This tutorial will take you through the steps required to build a very basic extension - one which adds a status bar panel to the Firefox browser containing the text "Hello, World! ". Note: The extension created by this tutorial won't work in Firefox versions that don't have a static status bar (that is, Firefox 4 and up). You can find a more up-to-date tutorial in the XUL School tutorial The Essentials of an Extension.

Since Firefox 4 (and other Mozilla 2 based applications) there are two types of extensions: Traditional, classic, or XUL extensions are more powerful, but more complicated to build and require a restart to install. Restartless, or bootstrapped extensions do not require a restart to install but are more limited than traditional extensions. This article explains how to build a traditional extension for Firefox. For a tutorial on building an extension for Thunderbird, see Building a Thunderbird extension. Quick Start Setting Up the Development Environment <? Test.