- .htaccess ( hypertext access )
- 2015 MDN Fellowship Program
- API
-
Add-ons
-
Add-on SDK
- Builder
- Guides
- High-Level APIs
-
Low-Level APIs
- /loader
- chrome
- console/plain-text
- console/traceback
- content/content
- content/loader
- content/mod
- content/symbiont
- content/worker
- core/heritage
- core/namespace
- core/promise
- dev/panel
- event/core
- event/target
- frame/hidden-frame
- frame/utils
- fs/path
- io/byte-streams
- io/file
- io/text-streams
- lang/functional
- lang/type
- loader/cuddlefish
- loader/sandbox
- net/url
- net/xhr
- places/bookmarks
- places/favicon
- places/history
- platform/xpcom
- preferences/event-target
- preferences/service
- remote/child
- remote/parent
- stylesheet/style
- stylesheet/utils
- system/child_process
- system/environment
- system/events
- system/runtime
- system/unload
- system/xul-app
- tabs/utils
- test/assert
- test/harness
- test/httpd
- test/runner
- test/utils
- ui/button/action
- ui/button/toggle
- ui/frame
- ui/id
- ui/sidebar
- ui/toolbar
- util/array
- util/collection
- util/deprecate
- util/list
- util/match-pattern
- util/object
- util/uuid
- window/utils
- Release notes
- Tools
-
Tutorials
- Add a Context Menu Item
- Add a Menu Item to Firefox
- Adding a Button to the Toolbar
- Annotator
- Chrome Authority
- Creating Event Targets
- Creating Reusable Modules
- Developing for Firefox Mobile
- Display a Popup
- Getting Started (jpm)
- Getting started (cfx)
- List Open Tabs
- Listen for Page Load
- Listening for Load and Unload
- Localization
- Logging
- Modifying Web Pages Based on URL
- Modifying the Page Hosted by a Tab
- Open a Web Page
- Troubleshooting
- Unit Testing
- Using XPCOM without chrome
- Using third-party modules (jpm)
- Bootstrapped extensions
-
Code snippets
- Alerts and Notifications
- Autocomplete
- Bookmarks
- Boxes
- Canvas code snippets
- Cookies
- Customizing the download progress bar
- Delayed Execution
- Dialogs and Prompts
- Downloading Files
- Drag & Drop
- Embedding SVG
- Examples and demos from articles
- File I/O
- Finding window handles
- Forms related code snippets
- HTML in XUL for rich tooltips
- HTML to DOM
- IsDefaultNamespace
- JS XPCOM
- JavaScript Debugger Service
- JavaScript timers
- Label and description
- LookupNamespaceURI
- LookupPrefix
- Miscellaneous
- Modules
- On page load
- Page Loading
- Post data to window
- Preferences
- Progress Listeners
- QuerySelector
- Rosetta
- Running applications
- SVG Animation
- SVG General
- Scrollbar
- Sidebar
- StringView
- Tabbox
- Toolbar
- Tree
- URI parsing
- View Source for XUL Applications
- Windows
- XML-related code snippets
- XPath
- getAttributeNS
- Common Pitfalls
- Communication between HTML and your extension
- Creating custom Firefox extensions with the Mozilla build system
- Custom about: URLs
- Default Preferences
- Deploying a Plugin as an Extension
- Developing add-ons
- Displaying web content in an extension without security issues
- Downloading JSON and JavaScript in extensions
- Enhanced Extension Installation
- Extension Etiquette
- Extension Library
- Extension Packaging
- Extension Samples
- Extension Theming Guidelines
- Extension Versioning, Update and Compatibility
- Extensions support in SeaMonkey 2
- Firefox addons developer guide
- Hiding browser chrome
- Hotfix Extension
- How to convert an overlay extension to restartless
- Inline options
- Install Manifests
- Installing Extensions and Themes From Web Pages
- Interaction between privileged and non-privileged pages
- Jetpack Processes
- Legacy Add-ons
-
Legacy extensions for Firefox for Android
- API
- Addons developer guide
- Code snippets
- Creating a User Interface
- Firefox Hub Walkthrough
- Initialization and Cleanup
- Prerequisites
- Walkthrough
- WebExtensions for Firefox for Android
- Listening to events in Firefox extensions
- Migrating from Internal Linkage to Frozen Linkage
- Migrating raw components to add-ons
- Multiple item extension packaging
- Offering a context menu for form controls
-
Overlay extensions
-
Firefox addons developer guide
- Appendix: What you should know about open-source software licenses
- Chapter 1: Introduction to Extensions
- Chapter 2: Technologies used in developing extensions
- Chapter 3: Introduction to XUL—How to build a more intuitive UI
- Chapter 4: Using XPCOM—Implementing advanced processes
- Chapter 5: Let's build a Firefox extension
- Chapter 6: Firefox extensions and XUL applications
- License and authors
-
XUL School Tutorial
- Adding Events and Commands
- Adding Toolbars and Toolbar Buttons
- Adding menus and submenus
- Adding sidebars
- Adding windows and dialogs
- Appendix A: Add-on Performance
- Appendix B: Install and Uninstall Scripts
- Appendix C: Avoiding using eval in Add-ons
- Appendix D: Loading Scripts
- Appendix E: DOM Building and Insertion (HTML & XUL)
- Appendix F: Monitoring DOM changes
- Connecting to Remote Content
- Custom XUL Elements with XBL
- Getting Started with Firefox Extensions
- Handling Preferences
- Intercepting Page Loads
- Introduction
- JavaScript Object Management
- Local Storage
- Mozilla Documentation Roadmap
- Observer Notifications
- Setting Up a Development Environment
- The Box Model
- The Essentials of an Extension
- Useful Mozilla Community Sites
- User Notifications and Alerts
- XPCOM Objects
-
Firefox addons developer guide
- Performance best practices in extensions
- Search Extension Tutorial (Draft)
- Security best practices in extensions
- Session store API
- Setting up an extension development environment
- Signing an XPI
- Signing an extension
- Supporting search suggestions in search plugins
- Tabbed browser
- Techniques
- Updating addons broken by private browsing changes
- Using Dependent Libraries In Extension Components
- Using the Stylesheet Service
- bookmarks.export()
- bookmarks.import()
-
Add-on SDK
- Adding preferences to an extension
- An Interview With Douglas Bowman of Wired News
-
Archived Mozilla and build documentation
- ActiveX Control for Hosting Netscape Plug-ins in IE
- Archived SpiderMonkey docs
- Autodial for Windows NT
- Automated testing tips and tricks
- Automatic Mozilla Configurator
- Automatically Handle Failed Asserts in Debug Builds
- BlackConnect
- Blackwood
- Bonsai
- Bookmark Keywords
- Build
- Building TransforMiiX standalone
- Chromeless
- Compiling The npruntime Sample Plugin in Visual Studio
- Creating a Firefox sidebar extension
- Creating a Microsummary
-
Creating a Mozilla Extension
- Adding the structure
- Conclusion
- Enabling the behavior - retrieving tinderbox status
- Enabling the behavior - updating the status bar panel
- Enabling the behavior - updating the status periodically
- Finding the code to modify
- Finding the file to modify
- Making a Mozilla installation modifiable
- Making it into a dynamic overlay and packaging it up for distribution
- Making it into a static overlay
- Prerequisites
- Specifying the appearance
- Tinderbox
- Creating a Release Tag
- Creating a Skin for Firefox/Getting Started
- Creating a Skin for Mozilla
- Creating a Skin for SeaMonkey 2.x
- Creating a hybrid CD
- Creating regular expressions for a microsummary generator
- DTrace
- Dehydra
- Developing New Mozilla Features
- Devmo 1.0 Launch Roadmap
- Download Manager improvements in Firefox 3
- Download Manager preferences
- Drag and Drop
- Editor Embedding Guide
- Embedding FAQ
- Embedding Mozilla in a Java Application using JavaXPCOM
- Error Console
- Exception logging in JavaScript
- Existing Content
- Extension Frequently Asked Questions
- External CVS snapshots in mozilla-central
- Fast Graphics Performance With HTML
-
Firefox
- Block and Line Layout Cheat Sheet
- Content states and the style system
- Disabling interruptible reflow
- Document Loading - From Load Start to Finding a Handler
- Documentation for BiDi Mozilla
- Downloading Nightly or Trunk Builds
- JSS build instructions for OSX 10.6
- Layout FAQ
- Layout System Overview
- Multiple Firefox profiles
- Repackaging Firefox
- Style System Overview
- Using microformats
- Firefox Sync
- Force RTL
- GRE
- Gecko Coding Help Wanted
- HTTP Class Overview
- Hacking wiki
- Help Viewer
- Helper Apps (and a bit of Save As)
- Hidden prefs
- How to Write and Land Nanojit Patches
- IO Guide/Directory Keys
- Introducing the Audio API extension
- Isp Data
- Java in Firefox Extensions
- JavaScript OS.Shared
- JavaScript crypto
- Jetpack
- Litmus tests
- Mac OS X Build Prerequisites/fink
- Makefile.mozextension.2
- Message Summary Database
- Metro browser chrome tests
- Microsummary topics
- Migrate apps from Internet Explorer to Mozilla
- Modularization techniques
- Monitoring downloads
- Mozilla Application Framework
- Mozilla Crypto FAQ
- Mozprocess
- Mozprofile
- Mozrunner
- NSC_SetPIN
- Nanojit
- New Security Model for Web Services
- New Skin Notes
- Overview of how downloads work
- Plug-n-Hack
- Plugin Architecture
- Porting NSPR to Unix Platforms
- Priority Content
- Prism
- Proxy UI
- PyDOM
- RDF API
- RDF Datasource How-To
- Reading textual data
- Remote XUL
- Remote debugging
- Rsyncing the CVS Repository
- Running Windows Debug Builds Downloaded From Tinderbox
- SXSW 2007 presentations
- Safe Browsing
- Safe Browsing: Design Documentation
- Safely loading URIs
- Same origin policy for XBL
- Space Manager Detailed Design
- Space Manager High Level Design
- Standalone XPCOM
- Standard Makefile Header
- Static Analysis for Windows Code under Linux
- Stress testing
- String Quick Reference
- String Rosetta Stone
- Structure of an installable bundle
- Supporting per-window private browsing
- Supporting private browsing mode
- Table Cellmap
- Table Cellmap - Border Collapse
- Table Layout Regression Tests
- Table Layout Strategy
- Tamarin
- The Download Manager schema
- The life of an HTML HTTP request
- The new nsString class implementation (1999)
- TraceVis
- Transforming XML with XSLT:Mozilla XSLT
- Transforming XML with XSLT:The Netscape XSLT
- Treehydra
- Tuning Pageload
- URIScheme
- URIs and URLs
- Uriloader
- Using addresses of stack variables with NSPR threads on win16
- Using cross commit
- Using gdb on wimpy computers
- Venkman
- Video presentations
- When To Use ifdefs
- Writing textual data
- XML in Mozilla
- XPInstall
- XPJS Components Proposal
- XRE
- XTech 2005 Presentations
- XTech 2006 Presentations
- XUL Explorer
-
XULRunner
- Application Update
- Article
- Building XULRunner
- Building XULRunner with Python
- CommandLine
- Components
- Creating XULRunner Apps with the Mozilla Build System
- Creating a Windows Inno Setup installer for XULRunner applications
- Custom app bundles for Mac OS X
- Debugging a XULRunner Application
- Deploying XULRunner
- Dialogs in XULRunner
- Getting started with XULRunner
- How to enable locale switching in a XULRunner application
- MacFAQ
- Make your xulrunner app match the system locale
- Opening a Link in the Default Browser
- Specifying Startup Chrome Window
- Using Crash Reporting in a XULRunner Application
- Using LDAP XPCOM with XULRunner
- Using SOAP in XULRunner 1.9
- What XULRunner Provides
- Windows and menus in XULRunner
- XUL Application Packaging
- XULRunner 1.8.0.1 Release Notes
- XULRunner 1.8.0.4 Release Notes
- XULRunner 1.9 Release Notes
- XULRunner 1.9.1 Release Notes
- XULRunner 1.9.2 Release Notes
- XULRunner 2.0 Release Notes
- XULRunner FAQ
- XULRunner Hall of Fame
- XULRunner tips
- XULRunner/Old Releases
- toolkit.defaultChromeFeatures
- toolkit.defaultChromeURI
- toolkit.singletonWindowType
- xulauncher
- ant script to assemble an extension
- application/http-index-format specification
- calICalendarView
- calICalendarViewController
- calIFileType
- mozilla.dev.platform FAQ
- reftest opportunities files
- symsrv_convert
- xbDesignMode.js
-
Archived open Web documentation
- Browser Detection and Cross Browser Support
- Browser Feature Detection
- Displaying notifications (deprecated)
- E4X
- E4X Tutorial
- Iterator
- LiveConnect
- MSX Emulator (jsMSX)
- Old Proxy API
- ParallelArray
- Properly Using CSS and JavaScript in XHTML Documents
- Reference
- Server-Side JavaScript
- Sharp variables in JavaScript
- Standards-Compliant Authoring Tools
- StopIteration
- Styling the Amazing Netscape Fish Cam Page
- Using JavaScript Generators in Firefox
- Window.importDialog()
- Writing JavaScript for XHTML
-
XForms
- Building Mozilla XForms
- Community
- Developing Mozilla XForms
- Implementation Status
- Mozilla XForms Specials
-
Mozilla XForms User Interface
- XForms Alert Element
- XForms Group Element
- XForms Help Element
- XForms Hint Element
- XForms Input Element
- XForms Label Element
- XForms Message Element
- XForms Output Element
- XForms Range Element
- XForms Repeat Element
- XForms Secret Element
- XForms Select Element
- XForms Select1 Element
- XForms Submit Element
- XForms Switch Module
- XForms Textarea Element
- XForms Trigger Element
- XForms Upload Element
- Other Resources
- Requests For Enhancement
- Troubleshooting XForms Forms
- Using XForms and PHP
- XForms API Reference
- XForms Config Variables
- XForms Custom Controls
- XForms Custom Controls Examples
- XForms Styling
- background-size
- forEach
- Beginner tutorials
- Case Sensitivity in class and id Names
- Creating a dynamic status bar extension
- Creating a status bar extension
- Element
- Gecko Compatibility Handbook
- Getting the page URL in NPAPI plugin
- Index
- Index of archived content
- Inner-browsing extending the browser navigation paradigm
- Install.js
- JXON
- List of Former Mozilla-Based Applications
- List of Mozilla-Based Applications
- Localizing an extension
- MMgc
- Makefile - .mk files
-
Misc top level
- Bypassing Security Restrictions and Signing Code
- Creating a Web based tone generator
- Defining Cross-Browser Tooltips
- Environment variables affecting crash reporting
- IO Guide
- Images, Tables, and Mysterious Gaps
- Installing plugins to Gecko embedding browsers on Windows
- MCD, Mission Control Desktop, AKA AutoConfig
- Monitoring WiFi access points
- No Proxy For configuration
- Notes on HTML Reflow
- Same-origin policy for file: URIs
- Source Navigator
- Source code directories overview
- Using XML Data Islands in Mozilla
- Using content preferences
- Visualizing an audio spectrum
- Working with BFCache
- cert_override.txt
- Mozilla release FAQ
-
Newsgroup summaries
- Format
- Mozilla.dev.apps.firefox-2006-09-29
- Mozilla.dev.apps.firefox-2006-10-06
- mozilla-dev-accessibility
- mozilla-dev-apps-calendar
- mozilla-dev-apps-firefox
- mozilla-dev-apps-thunderbird
- mozilla-dev-builds
- mozilla-dev-embedding
- mozilla-dev-extensions
- mozilla-dev-i18n
- mozilla-dev-l10n
- mozilla-dev-planning
- mozilla-dev-platform
- mozilla-dev-quality
- mozilla-dev-security
- mozilla-dev-tech-js-engine
- mozilla-dev-tech-layout
- mozilla-dev-tech-xpcom
- mozilla-dev-tech-xul
- mozilla.dev.apps.calendar
- mozilla.dev.tech.js-engine
- Obsolete: XPCOM-based scripting for NPAPI plugins
-
Plugins
- Adobe Flash
- External resources for plugin creation
- Logging Multi-Process Plugins
- Monitoring plugins
- Multi-process plugin architecture
- NPAPI plugin developer guide
-
NPAPI plugin reference
- Browser-side plug-in API
- NPAPI plug-in side API
- NPAnyCallbackStruct
- NPByteRange
- NPClass
- NPEmbedPrint
- NPEvent
- NPFullPrint
- NPIdentifier
- NPN NewStream
- NPNVariable
- NPN_CreateObject
- NPN_DestroyStream
- NPN_Enumerate
- NPN_Evaluate
- NPN_ForceRedraw
- NPN_GetAuthenticationInfo
- NPN_GetIntIdentifier
- NPN_GetProperty
- NPN_GetStringIdentifier
- NPN_GetStringIdentifiers
- NPN_GetURL
- NPN_GetURLNotify
- NPN_GetValue
- NPN_GetValueForURL
- NPN_HasMethod
- NPN_HasProperty
- NPN_IdentifierIsString
- NPN_IntFromIdentifier
- NPN_InvalidateRect
- NPN_InvalidateRegion
- NPN_Invoke
- NPN_InvokeDefault
- NPN_MemAlloc
- NPN_MemFlush
- NPN_MemFree
- NPN_PluginThreadAsyncCall
- NPN_PostURL
- NPN_PostURLNotify
- NPN_ReleaseObject
- NPN_ReleaseVariantValue
- NPN_ReloadPlugins
- NPN_RemoveProperty
- NPN_RequestRead
- NPN_RetainObject
- NPN_SetException
- NPN_SetProperty
- NPN_SetValue
- NPN_SetValueForURL
- NPN_Status
- NPN_UTF8FromIdentifier
- NPN_UserAgent
- NPN_Version
- NPN_Write
- NPObject
- NPP
- NPPVariable
- NPP_Destroy
- NPP_DestroyStream
- NPP_GetValue
- NPP_HandleEvent
- NPP_New
- NPP_NewStream
- NPP_Print
- NPP_SetValue
- NPP_SetWindow
- NPP_StreamAsFile
- NPP_URLNotify
- NPP_Write
- NPP_WriteReady
- NPPrint
- NPPrintCallbackStruct
- NPRect
- NPRegion
- NPSavedData
- NPSetWindowCallbackStruct
- NPStream
- NPString
- NPUTF8
- NPVariant
- NPVariantType
- NPWindow
- NP_GetMIMEDescription
- NP_GetValue
- NP_Initialize
- NP_Port
- NP_Shutdown
- Samples and Test Cases
- Shipping a plugin as a Toolkit bundle
- Supporting private browsing in plugins
- The First Install Problem
- Writing a plugin for Mac OS X
- XEmbed Extension for Mozilla Plugins
- SAX
- Security
- Solaris 10 Build Prerequisites
- Sunbird Theme Tutorial
- Table Reflow Internals
- Tamarin Tracing Build Documentation
- The Basics of Web Services
- Themes
- Updating an extension to support multiple Mozilla applications
- Using Firebug and jQuery (Screencast)
- Using IO Timeout And Interrupt On NT
- Using SSH to connect to CVS
- Using Web Standards in your Web Pages
- Using workers in extensions
-
Web Standards
- Choosing Standards Compliance Over Proprietary Practices
- Community
- Correctly Using Titles With External Stylesheets
- Describing microformats in JavaScript
- Displaying a graphic with audio samples
- Fixing Incorrectly Sized List Item Markers
- Fixing Table Inheritance in Quirks Mode
- Issues Arising From Arbitrary-Element hover
- Mozilla's DOCTYPE sniffing
- Parsing microformats in JavaScript
- Popup Window Controls
- RDF in Fifty Words or Less
- RDF in Mozilla FAQ
- Styling Abbreviations and Acronyms
- The Business Benefits of Web Standards
- Using the Right Markup to Invoke Plugins
- Windows Media in Netscape
- XQuery
- XUL Booster
- XUL Parser in Python
- input archive