background preloader

Programming

Facebook Twitter

What is HTML5? (Infographic) JavaScript. JavaScript® (often shortened to JS) is a lightweight, interpreted, object-oriented language with first-class functions, most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB.

JavaScript

It is a prototype-based, multi-paradigm scripting language that is dynamic, and supports object-oriented, imperative, and functional programming styles. Read more about JavaScript. The JavaScript standard is called ECMAScript. As of 2012, all modern browsers fully support ECMAScript 5.1. Older browsers support at least ECMAScript 3. This section of the site is dedicated to the JavaScript language itself, the parts that are not specific to Web pages, or other host environments.

Reference Browse the complete JavaScript reference documentation. Standard objects Get to know standard built-in objects Array, Boolean, Date, Error, Function, JSON, Math, Number, Object, RegExp, String, Map, Set, WeakMap, WeakSet, and others. Functions. 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.

Extensions

There are two main types of add-on: Extensions add new features to the application, while Themes modify the application's user interface. For both extensions and themes, Mozilla operates a repository at addons.mozilla.org, also known as AMO. When you submit add-ons to AMO they are reviewed, and after passing review they are made available to users. You don't have to submit add-ons to AMO, but if you do, users can take confidence in the fact that they have been reviewed, and you can benefit from AMO's visibility as a source for useful add-ons.

Add-ons can greatly affect the behaviour of the application that hosts them. Extensions Extensions add new functionality to Mozilla applications such as Firefox and Thunderbird. Add-on SDK extensions Develop restartless extensions using a set of high-level JavaScript APIs. Good practices Performance Security Themes. Extension Frequently Asked Questions. This is quick set of answers to the most common issues with extension development.

Extension Frequently Asked Questions

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!

Building an Extension

". 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. 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 A Hello World extension similar to what you can generate with the Extension Wizard is explained line-by-line in another tutorial from MozillaZine Knowledge Base. <? XUL Overlays.