Search completed in 1.21 seconds.
Learning area release notes - Learn web development
this page details significant changes made to the
learning area.
... june 2020 our front-end web developer
learning pathway is officially launched!
... check it out for an opinionated pathway to follow for
learning front-end development!
...And 7 more matches
Learn to style HTML using CSS - Learn web development
cascading stylesheets — or css — is the first technology you should start
learning after html.
... get started prerequisites you should
learn the basics of html before attempting any css.
...in that module, you will
learn about: css, starting with the introduction to css module more advanced html modules javascript, and how to use it to add dynamic functionality to web pages once you understand the fundamentals of html, we recommend that you
learn html and css at the same time, moving back and forth between the two topics.
...And 2 more matches
Index - Learn web development
found 348 pages: # page tags and summary 1
learn web development beginner, css, html, index, intro, landing,
learn, web welcome to the mdn
learning area.
... 2 accessibility aria, accessibility, articles, beginner, css, codingscripting, html, javascript, landing,
learn, module
learning some html, css, and javascript is useful if you want to become a web developer.
... beyond mechanical use, it's important to
learn how to use these technologies responsibly so that all readers might use your creations on the web.
...And 242 more matches
Aprender y obtener ayuda - Learn web development
it is great that you are putting some time into
learning a new set of skills, but there are good practices to employ that will make your
learning more effective.
...this article provides some hints and tips in both of these areas that will help you get more out of
learning web development, as well as further reading so you can find out more information about each sub-topic should you wish..
... effective
learning let's move straight on and think about effective
learning.
...And 34 more matches
Understanding client-side JavaScript frameworks - Learn web development
as an aspiring front-end developer, it can be hard to work out where to begin when
learning frameworks — there are so many different frameworks to choose from, new ones appear all the time, they mostly work in a similar way but do some things differently, and there are some specific things to be careful about when using frameworks.
... in this set of articles, we are aiming to give you a comfortable starting point to help you begin
learning frameworks.
...we want you to go forward and
learn about frameworks in a pragmatic way that doesn't forget about web platform fundamental best practices such as accessibility.
...And 16 more matches
Learn web development
welcome to the mdn
learning area.
... the aim of this area of mdn is not to take you from "beginner" to "expert" but to take you from "beginner" to "comfortable." from there, you should be able to start making your way,
learning from the rest of mdn, and other intermediate to advanced resources that assume a lot of previous knowledge.
... if you are a complete beginner, web development can be challenging — we will hold your hand and provide enough detail for you to feel comfortable and
learn the topics properly.
...And 12 more matches
Introduction to client-side frameworks - Learn web development
overview: client-side javascript frameworks next we begin our look at frameworks with a general overview of the area, looking at a brief history of javascript and frameworks, why frameworks exist and what they give us, how to start thinking about choosing a framework to
learn, and what alternatives there are to client-side frameworks.
... start
learning ember angular angular is an open-source web application framework led by the angular team at google and by a community of individuals and corporations.
... vue evan you first released vue in 2014, after working on and
learning from the original angularjs project.
...And 9 more matches
Deployment and next steps - Learn web development
previous overview: client-side javascript frameworks in the previous article we
learning about svelte's typescript support, and how to use it to make your application more robust.
... in this final article we will look at how to deploy your application and get it online, and also share some of the resources that you should go on to, to continue your svelte
learning journey.
... objective:
learn how to prepare our svelte app for production, and what
learning resources you should visit next.
...And 9 more matches
Getting started with Svelte - Learn web development
then we will
learn how to setup our development environment, create a sample app, understand the structure of the project, and see how to run it locally and build it for production.
...it arguably has fewer concepts and tools to
learn than some of the other framework options.
... we encourage you to go through the svelte tutorial for a really quick introduction to the basic concepts, before returning to this tutorial series to
learn how to build something slightly more in-depth.
...And 8 more matches
Front-end web developer - Learn web development
welcome to our front-end web developer
learning pathway!
...simply work through each section,
learning new skills (or improving existing ones) as you go along.
... subjects covered the subjects covered are: basic setup and
learning how to
learn web standards and best practices (such as accessibility and cross-browser compatibility) html, the language that gives web content structure and meaning css, the language used to style web pages javascript, the scripting language used to create dynamic functionality on the web tooling that is used to facilitate modern client-side web development.
...And 7 more matches
TypeScript support in Svelte - Learn web development
previous overview: client-side javascript frameworks next in the last article we
learned about svelte stores and even implemented our own custom store to persist the app's information to web storage.
... we will now
learn how to use typescript in svelte applications.
... first we'll
learn what typescript is and what benefits it can bring us.
...And 7 more matches
HTML text fundamentals - Learn web development
objective:
learn how to mark up a basic page of text to give it structure and meaning—including paragraphs, headings, lists, emphasis, and quotations.
... active
learning: giving our content structure let's jump straight in with a live example.
... milk eggs bread hummus every unordered list starts off with a <ul> element—this wraps around all the list items: <ul> milk eggs bread hummus </ul> the last step is to wrap each list item in a <li> (list item) element: <ul> <li>milk</li> <li>eggs</li> <li>bread</li> <li>hummus</li> </ul> active
learning: marking up an unordered list try editing the live sample below to create your very own html unordered list.
...And 6 more matches
Getting started with React - Learn web development
we'll discover a little bit of detail about its background and use cases, set up a basic react toolchain on our local computer, and create and play with a simple starter app —
learning a bit about how react works in the process.
...familiarity with both html and javascript will help you to
learn jsx, and better identify whether bugs in your application are related to javascript or to the more specific domain of react.
...react arguably has a heavy tooling requirement, but it can be
learned.
...And 6 more matches
What is accessibility? - Learn web development
the key lesson here is to think beyond your own computer and how you use the web, and start
learning about how others use it — you are not your users.
...it also includes people with
learning disabilities, such as dyslexia and attention deficit hyperactivity disorder.
... the w3c’s cognitive and
learning disabilities accessibility task force produces web accessibility guidelines for people with cognitive impairments.
...And 5 more matches
What is a URL? - Learn web development
objective: you will
learn what a url is and how it works on the web.
... active
learning there is no active
learning available yet.
... deeper dive basics: anatomy of a url here are some examples of urls: https://developer.mozilla.org https://developer.mozilla.org/docs/
learn/ https://developer.mozilla.org/search?q=url any of those urls can be typed into your browser's address bar to tell it to load the associated page (resource).
...And 5 more matches
Server-side web frameworks - Learn web development
some of the factors that may affect your decision are: effort to
learn: the effort to
learn a web framework depends on how familiar you are with the underlying programming language, the consistency of its api, the quality of its documentation, and the size and activity of its community.
... if you're starting from absolutely no programming experience then consider django (it is one of the easiest to
learn based on the above criteria).
...many of the factors affecting productivity are similar to those for "effort to
learn" — e.g.
...And 5 more matches
The web and web standards - Learn web development
this article provides some useful background on the web — how it came about, what web standard technologies are, how they work together, why "web developer" is a great career to choose, and what kinds of best practices you'll
learn about through the course.
...these documents are not very useful for
learning how to use the technologies they describe (this is why we have sites like mdn web docs), but instead are intended to be used by software engineers to implement these technologies (usually in web browsers).
...as you go through the
learning material presented here, you'll start to
learn how this is made possible with some very clever design and implementation work.
...And 4 more matches
Getting started with HTML - Learn web development
you will
learn how html elements are structured, how a typical html page is structured, and other important basic language features.
... active
learning: creating your first html element edit the line below in the input area by wrapping it with the tags <em> and </em>.
... active
learning: adding attributes to an element another example of an element is <a>.
...And 4 more matches
HTML table advanced features and accessibility - Learn web development
objective: to
learn about more advanced html table features, and the accessibility of tables.
...we'd recommend using the <caption> element instead, however, as summary is deprecated by the html5 spec, and can't be read by sighted users (it doesn't appear on the page.) active
learning: adding a caption let's try this out, revisiting an example we first met in the previous article.
... active
learning: adding table structure let's put these new elements into action.
...And 4 more matches
Client-side storage - Learn web development
prerequisites: javascript basics (see first steps, building blocks, javascript objects), the basics of client-side apis objective: to
learn how to use client-side storage apis to store application data.
... elsewhere in the mdn
learning area we talked about the difference between static sites and dynamic sites.
... you'll
learn more about these apis below.
...And 4 more matches
Basic math in JavaScript — numbers and operators - Learn web development
some of us like math, some of us have hated math ever since we had to
learn multiplication tables and long division in school, and some of us sit somewhere in between the two.
...this is especially true when we are
learning to program javascript (or any other language for that matter) — so much of what we do relies on processing numerical data, calculating new values, and so on, that you won't be surprised to
learn that javascript has a full-featured set of math functions available.
...we don't cover these in detail in this article because we wanted to keep it as a simple introduction and only cover the real basic essentials for now; however, once you've read through this module a couple of times it is worth going to the object reference pages and
learning more about what's available.
...And 4 more matches
Storing the information you need — Variables - Learn web development
variables just make sense, and as you
learn more about javascript they will start to become second nature.
...you'll
learn more about this as you go along.
...we won't go into all the differences now, but you'll start to discover them as you
learn more about javascript (if you really want to read about them now, feel free to check out our let reference page).
...And 4 more matches
Advanced text formatting - Learn web development
here you'll
learn about marking up quotations, description lists, computer code and other related text, subscript and superscript, contact information, and more.
... objective: to
learn how to use lesser-known html elements to mark up advanced semantic features.
...this is usually a feeling, thought, or piece of additional background information.</dd> <dd>in writing, a section of content that is related to the current topic, but doesn't fit directly into the main flow of content so is presented nearby (often in a box off to the side.)</dd> </dl> active
learning: marking up a set of definitions it's time to try your hand at description lists; add elements to the raw text in the input field so that it appears as a description list in the output field.
...And 3 more matches
What’s in the head? Metadata in HTML - Learn web development
objective: to
learn about the html head, its purpose, the most important items it can contain, and what effect it can have on the html document.
... the <h1> element appears on the page when loaded in the browser — generally this should be used once per page, to mark up the title of your page content (the story title, or news headline, or whatever is appropriate to your usage.) the <title> element is metadata that represents the title of the overall html document (not the document's content.) active
learning: inspecting a simple example to start off this active
learning, we'd like you to go to our github repo and download a copy of our title-example.html page.
... active
learning: experiment with character encoding to try this out, revisit the simple html template you obtained in the previous section on <title> (the title-example.html page), try changing the meta charset value to iso-8859-1, and add the japanese to your page.
...And 3 more matches
Images in HTML - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, familiarity with html fundamentals (as covered in getting started with html.) objective: to
learn how to embed simple images in html, annotate them with captions, and how html images relate to css background images.
... active
learning: embedding an image it is now your turn to play!
... this active
learning section will have you up and running with a simple embedding exercise.
...And 3 more matches
Advanced Svelte: Reactivity, lifecycle, accessibility - Learn web development
we will
learn how to deal with reactivity issues related to updating objects and arrays.
... objective:
learn some advanced svelte techniques involving solving reactivity issues, keyboard accessibility problems to do with component lifecycle, and more.
... we also need to
learn a bit about component lifecycle, to understand when these dom nodes get mounted and and unmounted from the dom and how we can access them.
...And 3 more matches
Package management basics - Learn web development
type in something really simple, like "a simple npm package to
learn about using npm", then press return.
...open it up and it should look something like this: { "name": "parcel-experiment", "version": "1.0.0", "description": "a simple npm package to
learn about using npm", "main": "index.js", "scripts": { "test": "echo \"error: no test specified\" && exit 1" }, "author": "chris mills", "license": "isc" } so this is the config file that defines your package.
...faced with the overwhelming choice of tooling, probably the most important lesson is to
learn what the tool you select is capable of.
...And 3 more matches
What text editors are available? - Learn web development
objective:
learn how to choose a text editor that best suits your needs as a web developer.
... online manual, wiki yes textwrangler closed source free mac faq, forum pdf manual no vim specific open license free windows, mac, linux mailing list online manual yes visual studio code open source under mit licence/ specific licence for product free windows, mac, linux faq documentation yes active
learning in this active
learning section, we would like you to try using and/or installing a text editor of your choice.
...ghting settings and colors play with indentation width, setting it to an appropriate setting for your needs check autosave and session saving settings configure any available plugins and investigate how to get new ones change color schemes adjust view settings and see how you can change the layout of the views check what programming languages/technologies your editor supports while you're
learning the default settings of most text editors should be fine to use, but it is important to become familiar with your chosen tools, so you can select the best one for your usage.
...And 2 more matches
Responsive images - Learn web development
previous overview: multimedia and embedding next in this article, we'll
learn about the concept of responsive images — images that work well on devices with widely differing screen sizes, resolutions, and other such features — and look at what tools html provides to help implement them.
...responsive images are just one part of responsive design, a future css topic for you to
learn.
... objective:
learn how to use features like srcset and the <picture> element to implement responsive image solutions on websites.
...And 2 more matches
HTML table basics - Learn web development
you can find more details and an example at page layouts in our accessibility
learning module.
... active
learning: creating your first table we've talked table theory enough, so, let's dive into a practical example and build up a simple table.
... active
learning: table headers let's have a go at improving this table.
...And 2 more matches
Introducing asynchronous JavaScript - Learn web development
a lot of the functionality we have looked at in previous
learning area modules is synchronous — you run some code, and the result is returned as soon as the browser can do so.
...note however that synchronous try...catch won't work with promises, although it will work with async/await, as you'll
learn later on.
... note: you'll
learn a lot more about promises later on in the module, so don't worry if you don't understand them fully yet.
...And 2 more matches
Cooperative asynchronous JavaScript: Timeouts and intervals - Learn web development
(in other words, when the stack is empty.) you will
learn more on this matter as you progress through this article.
...see clearing timeouts (below) to
learn how to do that.
...you can do this the same way you stop timeouts — by passing the identifier returned by the setinterval() call to the clearinterval() function: const myinterval = setinterval(myfunction, 2000); clearinterval(myinterval); active
learning: creating your own stopwatch!
...And 2 more matches
Looping code - Learn web development
active
learning: launch countdown!
... active
learning <h2>live output</h2> <div class="output" style="height: 410px;overflow: auto;"> </div> <h2>editable code</h2> <p class="a11y-label">press esc to move focus away from the code area (tab inserts a tab character).</p> <textarea id="code" class="playable-code" style="height: 300px;width: 95%"> let output = document.queryselector('.output'); output.innerhtml = ''; // let i = 10; // const para ...
...the saved usercode every time the user updates the text area code textarea.onkeyup = function(){ // we only want to save the state when the user code is being shown, // not the solution, so that solution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; } updatecode(); }; active
learning: filling in a guest list in this exercise, we want you to take a list of names stored in an array and put them into a guest list.
...And 2 more matches
What is JavaScript? - Learn web development
it is the third layer of the layer cake of standard web technologies, two of which (html and css) we have covered in much more detail in other parts of the
learning area.
...you will
learn ways around this later in the article, in the script loading strategies section.
...let's
learn how this works.
...And 2 more matches
What went wrong? Troubleshooting JavaScript - Learn web development
we'd still like you to work through the article with our version, so that you can
learn the techniques we are teaching here.
...you'll
learn how below.
... an error message to indicate what's gone wrong: "typeerror: guesssubmit.addeventlistener is not a function" a "
learn more" link that links through to an mdn page that explains what this error means in greater detail.
...And 2 more matches
Organizing your CSS - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn some tips and best practices for organizing stylesheets, and find out about some of the naming conventions and tools in common usage to help with css organization and team working.
...if you want to
learn a lot more about sass, start with the sass basics article, then move on to their other documentation.
... wrapping up this is the final part of our
learning css guide, and as you can see there are many ways in which your exploration of css can continue from this point.
... to
learn more about layout in css, see the
learn css layout section.
CSS selectors - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn how css selectors work in detail.
... in earlier articles you met some different selectors, and
learned that there are selectors that target the document in different ways — for example by selecting an element such as h1, or a class such as .special.
...the following for example selects paragraphs that are direct children of <article> elements using the child combinator (>): article > p { } next steps you can take a look at the reference table of selectors below for direct links to the various types of selectors in this
learn section or on mdn in general, or continue on to start your journey by finding out about type, class, and id selectors.
... selector example
learn css tutorial type selector h1 { } type selectors universal selector * { } the universal selector class selector .box { } class selectors id selector #unique { } id selectors attribute selector a[title] { } attribute selectors pseudo-class selectors p:first-child { } pseudo-classes pseudo-ele...
Styling links - Learn web development
objective: to
learn how to style link states, and how to use links effectively in common ui features like navigation menus.
... active
learning: style your own links in this active
learning session, we'd like you to take our empty set of rules and add your own declarations to make the links look really cool.
... so that's it — try revisiting the active
learning section above and trying this new technique out!
... you've reached the end of this article, and already did some skill testing in our active
learning sections, but can you remember the most important information going forward?
What is a web server? - Learn web development
objective: you will
learn what a web server is and gain a general understanding of how it works.
... active
learning there is no active
learning available yet.
...unless you want to
learn web server programming (which is an exciting area in itself!), you don't need to create your own application server.
... next steps now that you are familiar with web servers, you could: read up on how much it costs to do something on the web
learn more about various software you need to create a website move on to something practical like how to upload files on a web server.
What is accessibility? - Learn web development
objective:
learn what accessibility is and why it matters.
... active
learning there is no active
learning available yet.
... from a design point of view, we suggest
learning about designing for all types of users.
... if the technical side interests you more, you could
learn how to embed images in webpages.
JavaScript basics - Learn web development
you can
learn more in mdn's javascript
learning area, as well as in other parts of mdn.
...to
learn more about alternative approaches, see script loading strategies.
...keep this in mind as you
learn.
... adding an image changer in this section, you will
learn how to use javascript and dom api features to alternate the display of one of two images.
Use JavaScript within a webpage - Learn web development
learn in this article how to trigger javascript right from your html documents.
... objective:
learn how to trigger javascript in your html file, and
learn the most important best practices for keeping javascript accessible.
...if you want to
learn javascript itself, you can start with our javascript basics article.
...
learn more <script> <noscript> james edwards' introduction to using javascript accessibly accessibility guidelines from w3c ...
Debugging HTML - Learn web development
objective:
learn the basics of using debugging tools to find problems in html.
... active
learning: studying permissive code it's time to study the permissive nature of html code.
... active
learning: validating an html document let's try this with our sample document.
...this also marks the end of the introduction to html module
learning articles — now you can go on to testing yourself with our assessments: the first one is linked below.
Introduction to events - Learn web development
you don't need to understand anything about other such environments at this stage in your
learning; we just wanted to make it clear that events can differ in different programming environments.
...you should probably start with these as you begin
learning.
...don't worry about this too much at this stage in your
learning journey.
...we are not expecting you to understand all of these areas now, but it certainly helps to understand the basics of events as you forge ahead with
learning web development.
Drawing graphics - Learn web development
this article provides an introduction to canvas, and further resources to allow you to
learn more.
... prerequisites: javascript basics (see first steps, building blocks, javascript objects), the basics of client-side apis objective: to
learn the basics of drawing on <canvas> elements using javascript.
... active
learning: getting started with a <canvas> if you want to create a 2d or 3d scene on a web page, you need to start with an html <canvas> element.
... yes, using one of these means
learning another new api (a third party one, in this case), but they are a lot simpler than coding raw webgl.
A first splash into JavaScript - Learn web development
previous overview: first steps next now you've
learned something about the theory of javascript, and what you can do with it, we are going to give you a crash course in the basic features of javascript via a completely practical tutorial.
... thinking like a programmer one of the hardest things to
learn in programming is not the syntax you need to
learn, but how to apply it to solve real world problems.
... note: you'll
learn a lot more about variables/constants later on in the course, starting with the next article.
... note: you'll
learn a lot more about functions later in the course.
Arrays - Learn web development
as in previous articles, let's
learn about the real basics of arrays by entering some examples into browser developer console.
...so for example: let sequence = [1, 1, 2, 3, 5, 8, 13]; for (let i = 0; i < sequence.length; i++) { console.log(sequence[i]); } you'll
learn about loops properly later on (in our looping code article), but briefly, this code is saying: start looping at item number 0 in the array.
... let removeditem = myarray.shift(); myarray; removeditem; active
learning: printing those products!
...ution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; } updatecode(); }; html { font-family: sans-serif; } h2 { font-size: 16px; } .a11y-label { margin: 0; text-align: right; font-size: 0.7rem; width: 98%; } body { margin: 10px; background-color: #f5f9fa; } active
learning: top 5 searches a good use for array methods like push() and pop() is when you are maintaining a record of currently active items in a web app.
Vue resources - Learn web development
previous overview: client-side javascript frameworks next now we'll round off our study of vue by giving you a list of resources that you can use to go further in your
learning, plus some other useful tips.
... objective: to
learn where to go to find further information on vue, to continue your
learning.
... further resources here’s where you should go to
learn more about vue: vue docs — the main vue site.
...this is the best place to start
learning vue in depth.
Client-side tooling overview - Learn web development
you'll see this tool in action and
learn more about package managers in general in chapter 3 of this module.
... development-related forums to ask questions on about what tools to use, for example mdn
learn discourse, or stack overflow.
...some documentation however can be rather technical and academic and not a good fit for your
learning needs.
...this is fine — it is all good for
learning, and the road will get smoother as you get more experience.
Handling different text directions - Learn web development
previous overview: building blocks next many of the properties and values that we have encountered so far in our css
learning have been tied to the physical dimensions of our screen.
... logical properties and values the reason to talk about writing modes and direction at this point in your
learning however, is because of the fact we have already looked at a lot of properties which are tied to the physical dimensions of the screen, and make most sense when in a horizontal writing mode.
... logical margin, border, and padding properties in the last two lessons we have
learned about the css box model, and css borders.
Type, class, and ID selectors - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn about the different css selectors we can use to apply css to a document.
...for example, if i wanted to select the first child of any descendant element of <article> , no matter what element it was, and make it bold, i could use the :first-child selector, which we will
learn more about in the lesson on pseudo-classes and pseudo-elements, as a descendant selector along with the <article> element selector: article :first-child { } this could be confused however with article:first-child, which will select any <article> element that is the first child of another element.
... note: as we
learned in the lesson on specificity, an id has high specificity and will overrule most other selectors.
Test your skills: backgrounds and borders - Learn web development
this aim of this skill test is to get you working with css backgrounds and borders using the skills you have
learned in the previous lesson.
... make sure that the heading text does not overlay the image, and that it is centered — you will need to use techniques
learned in previous lessons to achieve this.
...add the "
learning" tag to your post so we are able to more easily find it.
The box model - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn about the css box model, what makes up the box model and how to switch to the alternate model.
...any direct children of this box will become flex items and will be laid out according to the rules set out in the flexbox spec, which you'll
learn about later on.
... when you move on to
learn about css layout in more detail, you will encounter flex, and various other inner values that your boxes can have, for example grid.
Flexbox - Learn web development
prerequisites: html basics (study introduction to html), and an idea of how css works (study introduction to css.) objective: to
learn how to use the flexbox layout system to create web layouts.
...however you should be aware that there are still older browsers in use that don't support flexbox (or do, but support a really old, out-of-date version of it.) while you are just
learning and experimenting, this doesn't matter too much; however if you are considering using flexbox in a real website you need to do testing and make sure that your user experience is still acceptable in as many browsers as possible.
...we hope you had fun, and will have a good play around with it as you travel forward with your
learning.
Beginner's guide to media queries - Learn web development
in this lesson you will first
learn about the syntax used in media queries, and then move on to use them in a worked example showing how a simple design might be made responsive.
... active
learning: mobile first responsive design broadly, you can take two approaches to a responsive design.
... summary in this lesson you have
learned about media queries, and also discovered how to use them in practice to create a mobile first responsive design.
Practical positioning examples - Learn web development
at this point in your
learning however we want to keep things as simple as possible.
...you won't need to understand the javascript itself at this stage, but you should think about
learning some basic javascript as soon as possible — the more complex your ui features become, the more likely it is that you'll need some javascript to implement your desired functionality.
...we told you it was a hack.) you will
learn a lot more about...
Responsive design - Learn web development
you can find out more about this approach to create a grid in the
learn layout grids topic, under flexible grids with the fr unit.
... you can find a detailed guide to responsive images in the
learn html section here on mdn.
... it has also become much easier to achieve responsive designs with the help of the layout methods you have
learned in these lessons.
Using your new knowledge - Learn web development
previous overview: first steps with the things you have
learned in the last few lessons you should find that you can format simple text documents using css, to add your own style to them.
... remember that there is no wrong answer here — at this stage in your
learning you can afford to have a bit of fun.
... write a post asking for assessment and/or help at the mdn discourse forum
learning category.
CSS first steps - Learn web development
getting started with css in this article we will take a simple html document and apply css to it,
learning some practical things about the language along the way.
... how css works we have
learned the basics of css, what it is for and how to write simple stylesheets.
... using your new knowledge with the things you have
learned in the last few lessons you should find that you can format simple text documents using css, to add your own style to them.
Fundamental text and font styling - Learn web development
objective: to
learn the fundamental properties and techniques needed to style text on web pages.
... a full example would look like this: font: italic normal bold normal 3em/1.5 helvetica, arial, sans-serif; active
learning: playing with styling text in this active
learning session, we don't have any specific exercises for you to do: we'd just like you to have a good play with some font/text layout properties, and see what you can produce!
... you've reached the end of this article, and already did some skill testing in our active
learning section, but can you remember the most important information going forward?
Web fonts - Learn web development
objective: to
learn how to apply web fonts to a web page, using either a third party service, or by writing your own code.
...this video provides a nice walkthrough: active
learning: a web font example with this in mind, let's build up a basic web font example from first principles.
... you've reached the end of this article, and already did some skill testing in our active
learning sections, but can you remember the most important information going forward?
How do I start to design my website? - Learn web development
prerequisites: none objective:
learn to define goals to give direction to your web project.
... active
learning there is no active
learning available yet.
...(for example, should i
learn how to do all this myself, ask someone to do it for me, or use third-party services?) conclusion as you can see, the simple idea "i want to make a website" generates a long to-do list, which only grows longer as you think about it.
What software do I need to build a website? - Learn web development
objective:
learn which software components you need if you want to edit, upload, or view a website.
... active
learning there is no active
learning available yet.
... if you'd like to
learn more about text editors, read our article about how to choose and install a text editor.
Web forms — Working with user data - Learn web development
mastering forms however requires more than just html knowledge — you also need to
learn some specific techniques to style form controls, and some scripting knowledge is required to handle things like validation and creating custom form controls.
... therefore, before you look at the other sections listed below we'd recommend that you go away and
learn some css and javascript first.
... advanced articles the following articles aren't essential to the
learning pathway, but they'll prove interesting and useful when you've mastered the above techniques and want to know more.
CSS basics - Learn web development
to
learn more, see the mdn selectors guide.
...(keep reading to
learn more) to continue, let's add more css.
...to go further, see
learning to style html using css.
Publishing your website - Learn web development
you can then collaborate on code projects, and the system is open-source by default, meaning that anyone in the world can find your github code, use it,
learn from it, and improve on it.
...generally speaking, these tools are relatively easy, great for
learning, good for sharing code (for example, if you want to share a technique with or ask for debugging help from colleagues in a different office), and free (for basic features).
... to
learn more, see github pages help.
Creating hyperlinks - Learn web development
objective: to
learn how to implement a hyperlink effectively, and link multiple files together.
... active
learning: creating your own example link create an html document using your local code editor and our getting started template.
...here's an example with a download link to the latest windows version of firefox: <a href="https://download.mozilla.org/?product=firefox-latest-ssl&os=win64&lang=en-us" download="firefox-latest-64bit-installer.exe"> download latest firefox for windows (64-bit) (english, us) </a> active
learning: creating a navigation menu for this exercise, we'd like you to link some pages together with a navigation menu to create a multi-page website.
Document and website structure - Learn web development
objective:
learn how to structure your document using semantic tags, and how to work out the structure of a simple website.
... active
learning: exploring the code for our example our example seen above is represented by the following code (you can also find the example in our github repository).
... active
learning: create your own sitemap try carrying out the above exercise for a website of your own creation.
Adding vector graphics to the Web - Learn web development
objective:
learn how to embed an svg (vector) image into a webpage.
... active
learning: playing with svg in this active
learning section we'd like you to simply have a go at playing with some svg for fun.
...it was never intended to be a full guide to
learning svg, just a pointer so you know what svg is if you meet it in your travels around the web.
From object to iframe — other embedding technologies - Learn web development
objective: to
learn how to embed items into web pages using <object>, <embed>, and <iframe>, like flash movies and other webpages.
... active
learning: classic embedding uses in this article we are going to jump straight into an active
learning section, to immediately give you a real idea of just what embedding technologies are useful for.
... browser makers and web developers have
learned the hard way that iframes are a common target (official term: attack vector) for bad people on the web (often termed hackers, or more accurately, crackers) to attack if they are trying to maliciously modify your webpage, or trick people into doing something they don't want to do, such as reveal sensitive information like usernames and passwords.
Graceful asynchronous programming with Promises - Learn web development
note: you can
learn more about this somewhat advanced topic, if you're interested, in the article signaling and video calling.
...as you start to
learn more about promises, you'll come across further features and techniques.
...promises will be more and more important as time goes on, so
learning to use and understand them is an important step in
learning modern javascript.
Functions — reusable blocks of code - Learn web development
you don't need to
learn about the inner workings of structured javascript objects yet — you can wait until our later module that will teach you all about the inner workings of objects, and how to create your own.
...you've already seen this structure a few times throughout the course, and you'll
learn more about and see it in use in the next article.
... active
learning: playing with scope let's look at a real example to demonstrate scoping.
Fetching data from the server - Learn web development
prerequisites: javascript basics (see first steps, building blocks, javascript objects), the basics of client-side apis objective: to
learn how to fetch data from the server and use it to update the contents of a web page.
...you'll get used to them after a while, especially as you
learn more about modern javascript apis — most of the newer ones are heavily based on promises.
... you should really
learn both — fetch will become more popular as internet explorer declines in usage (ie is no longer being developed, in favor of microsoft's new edge browser), but you might need xhr for a while yet.
Manipulating documents - Learn web development
active
learning: basic dom manipulation to start
learning about dom manipulation, let's begin with a practical example.
... active
learning: getting useful information from the window object so far we've only really looked at using node and document features to manipulate documents, but there is no reason why you can't get data from other sources and use it in your ui.
... active
learning: a dynamic shopping list to round off the article, we'd like to set you a little challenge — we want to make a simple shopping list example that allows you to dynamically add items to the list using a form input and button.
Useful string methods - Learn web development
objective: to understand that strings are objects, and
learn how to use some of the basic methods available on those objects to manipulate strings.
...you really don't need to know about most of these early on in your
learning journey.
...so you'd have to actually write this: browsertype = browsertype.replace('moz','van'); active
learning examples in this section we'll get you to try your hand at writing some string manipulation code.
Working with JSON - Learn web development
active
learning: working through a json example so, let's work through an example to show how we could make use of some json data on a website.
...at the moment it only contains two lines, which grab references to the <header> and <section> elements and store them in variables: const header = document.queryselector('header'); const section = document.queryselector('section'); we have made our json data available on our github, at https://mdn.github.io/
learning-area/javascript/oojs/json/superheroes.json.
...add the following at the bottom of your javascript code: let requesturl = 'https://mdn.github.io/
learning-area/javascript/oojs/json/superheroes.json'; to create a request, we need to create a new request object instance from the xmlhttprequest constructor, using the new keyword.
JavaScript — Dynamic client-side scripting - Learn web development
get started prerequisites javascript is arguably more difficult to
learn than related technologies such as html and css.
... before attempting to
learn javascript, you are strongly advised to get familiar with at least these two technologies first, and perhaps others as well.
... after getting familiar with the basics of javascript, you should be in a position to
learn about more advanced topics, for example: javascript in depth, as taught in our javascript guide web apis modules this topic contains the following modules, in a suggested order for working through them.
Web performance resources - Learn web development
best practices start with
learning the critical rendering path of the browser.
...as we
learned in the critical rendering path document, linking css with a tradional link tag with rel="stylesheet" is synchronous and blocks rendering.
... tools
learn to use the firefox dev tools to profile your site.
Getting started with Ember - Learn web development
objective: to
learn how to install ember, and create a starter app.
...in ember, opinions are a set of conventions that help increase the efficiency of developers at the cost of having to
learn those conventions.
... developers are then more easily able to switch between projects and applications without having to completely re
learn the architecture, patterns, conventions, etc.
Routing in Ember - Learn web development
previous overview: client-side javascript frameworks next in this article we
learn about routing, or url-based filtering as it is sometimes referred to.
... objective: to
learn about implementing routing in ember.
...study the code to
learn more about ember, and also check out the next article, which provides links to more resources and some troubleshooting advice.
Accessibility in React - Learn web development
objective: to
learn about implementing keyboard accessibility in react.
...the skills you’ve
learned here will be a great foundation to build on as you continue working with react.
... in the very last article we'll present you with a list of react resources that you can use to go further in your
learning.
React resources - Learn web development
previous overview: client-side javascript frameworks next our final article provides you with a list of react resources that you can use to go further in your
learning.
... objective: to provide further resources for
learning more about react.
...the official react docs are a great place to start
learning about them.
Working with Svelte stores - Learn web development
objective:
learn how to use svelte stores using stores we will create an alert component that shows notifications on screen, which can receive messages from any component.
... to
learn more about detecting and fixing accessibility issues check out our handling common accessibility problems article.
... in the next article we will
learn how add typescript support to our svelte application.
Rendering a list of Vue components - Learn web development
objective: to
learn how to loop through an array of data and render it in multiple components.
... export default { name: 'app', components: { todoitem }, data() { return { todoitems: [ { label: '
learn vue', done: false }, { label: 'create a vue project with the cli', done: true }, { label: 'have fun', done: true }, { label: 'create a to-do list', done: false } ] }; } }; now that we have a list of items, we can use the v-for directive to display them.
... your app.vue <script> element contents should now look like this: import todoitem from './components/todoitem.vue'; import uniqueid from 'lodash.uniqueid' export default { name: 'app', components: { todoitem }, data() { return { todoitems: [ { id: uniqueid('todo-'), label: '
learn vue', done: false }, { id: uniqueid('todo-'), label: 'create a vue project with the cli', done: true }, { id: uniqueid('todo-'), label: 'have fun', done: true }, { id: uniqueid('todo-'), label: 'create a to-do list', done: false } ] }; } }; now, add the v-for directive and key attribute to the <li> element in your app.vue template, like so: <ul> <li ...
Handling common accessibility problems - Learn web development
we don't have space to cover wai-aria in detail here, you can
learn a lot more about it at wai-aria basics.
...if you've not used vo before, you will be given a welcome screen where you can choose to start vo or not, and run through a rather useful tutorial to
learn how to use it.
... note: you should go through the tutorial at least once — it is a really useful way to
learn vo.
Setting up your own test automation environment - Learn web development
for more complete details, you should consult the selenium-webdriver javascript api reference for a detailed reference, and the selenium main documentation's selenium webdriver and webdriver: advanced usage pages, which contain multiple examples to
learn from written in different languages.
... you can use any url to point to your resource, including a file:// url to test a local document: driver.get('file:///users/chrismills/git/
learning-area/tools-testing/cross-browser-testing/accessibility/fake-div-buttons.html'); or driver.get('http://localhost:8888/fake-div-buttons.html'); but it is better to use a remote server location so the code is more flexible — when you start using a remote server to run your tests (see later on), your code will break if you try to use local paths.
... add this line to the bottom of quick_test.js now: driver.get('http://mdn.github.io/
learning-area/tools-testing/cross-browser-testing/accessibility/native-keyboard-accessibility.html'); interacting with the document now we've got a document to test, we need to interact with it in some way, which usually involves first selecting a specific element to test something about.
Command line crash course - Learn web development
objective: to understand what the terminal/command line is, what basic commands you should
learn, and how to install new command line tools.
...we’ll see how to install some tools later on in this chapter, and we’ll
learn more about package registries in the next chapter.
... getting to know your system will prove useful in years to come —
learn how these single serving tools work and how they can become part of your arsenal to solve niche problems.
Accessibility - Learn web development
learning some html, css, and javascript is useful if you want to become a web developer.
... beyond mechanical use, it's important to
learn how to use these technologies responsibly so that all readers might use your creations on the web.
Backgrounds and borders - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn how to style the background and border of boxes.
... borders when
learning about the box model, we discovered how borders affect the size of our box.
Debugging CSS - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn the basics of what browser devtools are, and how to do simple inspection and editing of css.
... this is where the information you have
learned about specificity will come in very useful.
Images, media, and form elements - Learn web development
as we
learned in our previous lesson, a common technique is to make the max-width of an image 100%.
...you
learned about the box-sizing property in our box model lesson and you can use this knowledge when styling forms to ensure a consistent experience when setting widths and heights on form elements.
CSS values and units - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn about the different types of values and units used in css properties.
... color keywords quite often in examples here in the
learn section or elsewhere on mdn you will see the color keywords used, as they are a simple and understandable way of specifying color.
CSS layout - Learn web development
this article explains the basics of normal flow as a grounding for
learning how to change it.
...in this lesson you will first
learn about the syntax used in media queries, and then move on to use them in a worked example showing how a simple design might be made responsive.
How CSS works - Learn web development
previous overview: first steps next we have
learned the basics of css, what it is for and how to write simple stylesheets.
... the updated output is as follows: in our debugging css article in the next module we will be using browser devtools to debug css problems, and will
learn more about how the browser interprets css.
What is CSS? - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, and html basics (study introduction to html.) objective: to
learn what css is.
... h1 { color: red; font-size: 5em; } p { color: black; } you will find that you quickly
learn some values, whereas others you will need to look up.
Styling lists - Learn web development
you are better off using the background family of properties, which you've
learned in the backgrounds and borders article.
... active
learning: styling a nested list in this active
learning session, we want you to take what you've
learned above and have a go at styling a nested list.
How does the Internet work? - Learn web development
prerequisites: none, but we encourage you to read the article on setting project goals first objective: you will
learn the basics of the technical infrastructure of the web and the difference between internet and the web.
... active
learning how the internet works in 5 minutes: a 5 minute video to understand the very basics of internet by aaron titus.
How do I use GitHub Pages? - Learn web development
you can then collaborate on code projects, and the system is open-source by default, meaning that anyone in the world can find your github code, use it,
learn from it, and improve on it.
...to
learn more, check out our git and github page.
What are hyperlinks? - Learn web development
objective:
learn about links on the web and why they matter.
... to get some more theoretical background,
learn about urls and their structure, since every link points to a url.
How do you set up a local testing server? - Learn web development
objective: you will
learn how to set up a local testing server.
...remote files throughout most of the
learning area, we tell you to just open your examples directly in a browser — this can be done by double clicking the html file, dragging and dropping it into the browser window, or choosing file > open...
Common questions - Learn web development
this section of the
learning area is designed to provide answers to common questions that may come up, which are not necessarily part of the structured core
learning pathways (e.g.
... the html or css
learning articles.) these articles are designed to work on their own.
Advanced form styling - Learn web development
objective: to understand what parts of forms are hard to style, and why; to
learn what can be done to customize them.
...for now, the best solution is to
learn more about the way the different browsers support css when applied to html form controls.
How to structure a web form - Learn web development
the rule must be included before it is used so that sighted users and users of assistive technologies such as screen readers can
learn what it means before they encounter a required element.
... active
learning: building a form structure let's put these ideas into practice and build a slightly more involved form — a payment form.
Sending form data - Learn web development
the links above will give you some help, should you wish to
learn them.
... the website security article of our server-side
learning topic discusses a number of common attacks and potential defences against them in detail.
UI pseudo-classes - Learn web development
objective: to understand what parts of forms are hard to style, and why; to
learn what can be done to customize them.
... note: a number of the pseudo-classes discussed here are concerned with styling form controls based on their validation state (is their data valid, or not?) you'll
learn much more about setting and controlling validation constraints in our next article — client-side form validation — but for now we'll keep things simple with regards to form validation, so it doesn't confuse things.
Your first form - Learn web development
the controls can be single or multi-line text fields, dropdown boxes, buttons, checkboxes, or radio buttons, and are mostly created using the <input> element, although there are some other elements to
learn about too.
... active
learning: implementing our form html ok, let's have a go at creating the html for our form.
Define terms with HTML - Learn web development
objective:
learn how to introduce new keywords and how to build description lists.
...the css font-weight property is what you need here: dt { font-weight: bold; } this produces the slightly more readable result below:
learn more <dfn> <dl> <dt> <dd> how to use the aria-describedby attribute ...
Marking up a letter - Learn web development
previous overview: introduction to html next we all
learn to write a letter sooner or later; it is also a useful example to test our text formatting skills.
... write a post asking for assessment and/or help at the mdn discourse forum
learning category.
Introduction to HTML - Learn web development
in this article, you'll
learn about marking up quotations, description lists, computer code and other related text, subscript and superscript, contact information, and more.
... marking up a letter we all
learn to write a letter sooner or later; it is also a useful example to test out text formatting skills.
Video and audio content - Learn web development
objective: to
learn how to embed video and audio content into a webpage, and add captions/subtitles to video.
... active
learning: embedding your own audio and video for this active
learning, we'd (ideally) like you to go out into the world and record some of your own video and audio — most phones these days allow you to record audio and video very easily, and provided you can transfer it on to your computer, you can use it.
Multimedia and Embedding - Learn web development
responsive images in this article, we'll
learn about the concept of responsive images — images that work well on devices with widely differing screen sizes, resolutions, and other such features — and look at what tools html provides to help implement them.
...responsive images are just one part of responsive design, a future css topic for you to
learn.
Making decisions in your code — conditionals - Learn web development
note: you can also find this example on github (see it running live on there also.) active
learning: a simple calendar in this example, you are going to help us finish a simple calendar application.
...e the saved usercode every time the user updates the text area code textarea.onkeyup = function(){ // we only want to save the state when the user code is being shown, // not the solution, so that solution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; } updatecode(); }; active
learning: more color choices!
Third-party APIs - Learn web development
prerequisites: javascript basics (see first steps, building blocks, javascript objects), the basics of client-side apis objective: to
learn how third-party apis work, and how to use them to enhance your websites.
... youtube example we also built another example for you to study and
learn from — see our youtube video search example.
JavaScript First Steps - Learn web development
a first splash into javascript now you've
learned something about the theory of javascript, and what you can do with it, we are going to give you a crash course in the basic features of javascript via a completely practical tutorial.
...in this article we'll look at all the common things that you really ought to know about strings when
learning javascript, such as creating strings, escaping quotes in string, and joining them together.
Multimedia: video - Learn web development
previous overview: performance next as we
learned in the previous section, media, namely images and video, account for over 70% of the bytes downloaded for the average website.
... objective: to
learn about the various video formats, their impact on performance, and how to reduce video impact on overall page load time while serving the smallest video file size based on each browsers file type support.
Web performance - Learn web development
the rest of our beginner's
learning material tried to stick to web best practices such as performance and accessibility as much as possible, however, it is good to focus specifically on such topics too, and make sure you are familiar with them.
...
learning pathway while knowing html, css, and javascript is needed for implementing many web performance improvement recommendations, knowing how to build applications is not a necessary pre-condition for understanding and measuring web performance.
Introduction to the server side - Learn web development
in the modern world of web development,
learning about server-side development is highly recommended.
... you've now
learned that server-side code is run on a web server and that its main role is to control what information is sent to the user (while client-side code mainly handles the structure and presentation of that data to the user).
Website security - Learn web development
important: the single most important lesson you can
learn about website security is to never trust data from the browser.
...we hope you've enjoyed
learning these fundamental concepts, and you're now ready to select a web framework and start programming.
Server-side website programming - Learn web development
in the modern world of web development,
learning about server-side development is highly recommended.
...
learning pathway getting started with server-side programming is usually easier than client-side development, because dynamic websites tend to perform a lot of very similar operations (retrieving data from a database and displaying it in a page, validating user-entered data and saving it in a database, checking user permissions and logging users in, etc.), and are constructed using web frameworks that make these and other common web server operations easy.
Starting our Svelte Todo list app - Learn web development
objective: to
learn how to create a svelte component, render it inside another component, pass data into it using props, and save its state.
...if you want to
learn more about why this is necessary, you can check out scott o'hara’s article, “fixing lists”.
Componentizing our Svelte app - Learn web development
objective: to
learn how to break our app into components and share information among them.
... note: in the process of creating our first couple of components, we will also
learn different techniques to communicate between components, and the pros and cons of each.
Creating our first Vue component - Learn web development
along the way, we'll
learn about a few important concepts such as calling components inside other components, passing data to them via props, and saving data state.
... objective: to
learn how to create a vue component, render it inside another component, pass data into it using props, and save its state.
Getting started with Vue - Learn web development
in this article we'll look at a little bit of vue background,
learn how to install it and create a new project, study the high-level structure of the whole project and an individual component, see how to run the project locally, and get it prepared to start building our example.
...we've
learnt about some of the ideas behind vue, created some scaffolding for our example app to live inside, inspected it, and made a few preliminary changes.
Adding a new todo form: Vue events, methods, and models - Learn web development
objective: to
learn about handling forms in vue, and by association, events, models, and methods.
... export default { name: 'app', components: { todoitem, todoform }, data() { return { todoitems: [ { id:uniqueid('todo-'), label: '
learn vue', done: false }, { id:uniqueid('todo-'), label: 'create a vue project with the cli', done: true }, { id:uniqueid('todo-'), label: 'have fun', done: true }, { id:uniqueid('todo-'), label: 'create a to-do list', done: false } ] }; }, methods: { addtodo() { console.log('to-do added'); } } }; next, add an event listener for the todo-adde...
Handling common JavaScript problems - Learn web development
this is supposed to be fetched from an external .json file using the following xmlhttprequest call: let requesturl = 'https://mdn.github.io/
learning-area/javascript/oojs/json/superheroes.json'; let request = new xmlhttprequest(); request.open('get', requesturl); request.send(); let superheroes = request.response; populateheader(superheroes); showheroes(superheroes); but this fails.
... the lesson to be
learned here is — never use browser sniffing.
Deploying our app - Learn web development
we are hoping that this section will at least make you aware of the need for testing, and will plant the seed that inspires you to go and
learn more.
...while there is a long way to go before you can consider yourself a client-side tooling wizard, we are hoping that this module has given you that first important step towards understanding client-side tooling, and the confidence to
learn more and try out new things.
Introducing a complete toolchain - Learn web development
objective: to solidify what we've
learnt so far by working through a complete toolchain case study.
...since this module is all about
learning the tools around web development, not web development code itself, we won’t be teaching you any actual coding — you’ll find that information in the rest of mdn!
Tools and testing - Learn web development
once you've started to become comfortable programming with core web technologies (like html, css, and javascript), and you start to get more experience, read more resources, and
learn more tips and tricks, you'll start to come across all kind of tools, from javascript frameworks, to testing and automation tools, and more besides.
... get started prerequisites you should really
learn the basics of the core html, css, and javascript languages first before attempting to use many the tools detailed here.
JS_ClearNonGlobalObject
syntax void js_c
learnonglobalobject(jscontext *cx, jsobject *obj); name type description cx jscontext * the context in which to clear the object.
... description js_c
learnonglobalobject removes all of obj's own properties, except the special __proto__ and __parent__ properties, in a single operation.
Cascade and inheritance - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn about the cascade and specificity, and how inheritance works in css.
Attribute selectors - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn what attribute selectors are and how to use them.
Combinators - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn about the different combinator selectors that can be used in css.
Pseudo-classes and pseudo-elements - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to
learn about the pseudo-class and pseudo-element selectors.
Styling tables - Learn web development
prerequisites: html basics (study introduction to html), knowledge of html tables, and an idea of how css works (study css first steps.) objective: to
learn how to effectively style html tables.
Floats - Learn web development
prerequisites: html basics (study introduction to html), and an idea of how css works (study introduction to css.) objective: to
learn how to create floated features on webpages, and to use the clear property and other methods of clearing floats.
Grids - Learn web development
as many columns as will fit we can combine some of the things we have
learned about track listing, repeat notation and minmax() to create a useful pattern.
Legacy layout methods - Learn web development
working through the process of creating a grid with floats shows you how this works and also introduces some more advanced concepts to build on the things you
learned in the lesson on floats and clearing.
Multiple-column layout - Learn web development
prerequisites: html basics (study introduction to html), and an idea of how css works (study introduction to css.) objective: to
learn how to create multiple-column layout on webpages, such as you might find in a newspaper.
Positioning - Learn web development
prerequisites: html basics (study introduction to html), and an idea of how css works (study introduction to css.) objective: to
learn how css positioning works.
How to build custom form controls - Learn web development
if you want to
learn more about this topic, you should check out the following helpful resources: uxmatters.com uxdesign.com the ux design section of smashingmagazine note: also, in most systems there is a way to open the <select> element with the keyboard to look at all the available choices (this is the same as clicking the <select> element with a mouse).
Introduction to web APIs - Learn web development
the following code provides a simple example of how this would be used: let requesturl = 'https://mdn.github.io/
learning-area/javascript/oojs/json/superheroes.json'; let request = new xmlhttprequest(); request.open('get', requesturl); request.responsetype = 'json'; request.send(); request.onload = function() { const superheroes = request.response; populateheader(superheroes); showheroes(superheroes); } note: you can see this code in action in our ajax.html example (see it live also).
Video and Audio APIs - Learn web development
prerequisites: javascript basics (see first steps, building blocks, javascript objects), the basics of client-side apis objective: to
learn how to use browser apis to control video and audio playback.
Client-Server Overview - Learn web development
understanding how static sites work is nevertheless useful when
learning server-side programming, because dynamic sites handle requests for static files (css, javascript, static images, etc.) in exactly the same way.
Framework main features - Learn web development
at this point you can choose which framework you'd like to start
learning first: react ember vue note: we only have three framework tutorial series available now, but we hope to have more available in the future.
Introduction to automated testing - Learn web development
in the next screen, type in the url of a page you want to test (use http://mdn.github.io/
learning-area/javascript/building-blocks/events/show-video-box-fixed.html, for example), then choose a browser/os combination you want to test by using the different buttons and lists.
Git and GitHub - Learn web development
hello world (from github) this is a good place to start — this practical guide gets you to jump right into using github,
learning the basics of git such as creating repositories and branches, making commits, and opening and merging pull requests.
JS_ClearNewbornRoots
syntax void js_c
learnewbornroots(jscontext *cx); name type description cx jscontext * the context to clear.
Index - Web APIs
398 using the css painting api css, css paint api, canvas, houdini,
learn the css paint api is designed to enable developers to programmatically define images which can then be used anywhere a css image can be invoked, such as css background-image, border-image, mask-image, etc.
... 400 using the css properties and values api api, css, css properties and values, guide, houdini, javascript,
learn allows the registration of css custom properties, allowing for property type checking, default values, and properties that do or do not inherit their value.
... 402 using the css typed object model css, css typed om, houdini,
learn this should get you started with understanding the css typed om.
...And 20 more matches
Index - Archive of obsolete content
26 getting started add-on sdk
learn how to contribute to the add-on sdk.
...there are several different categories of events; this article will help you
learn about them and direct you to more specific documentation covering each of them.
... 261 chapter 3: introduction to xul—how to build a more intuitive ui add-ons, extensions, firefox, xul
learn about xul, the xml-based user-interface language, which is one of the building blocks for extensions.
...And 14 more matches
Introduction to Web development - Developer guides
for another (overlapping) set of links to
learning resources, see the mdn
learning pages.
... html beginners tutorial — a tutorial and exercise that recap and take you through the basics you've
learned above.
... javascript reference guide — a comprehensive, regularly updated guide to javascript for all levels of
learning from beginner to advanced.
...And 7 more matches
Game promotion - Game development
competitions taking part in competitions will not only level up your gamedev skills and let you meet new devs to befriend and
learn from — and it will also get you involved in the community.
...write about your development process, nasty bugs you encounter, funny stories, lessons
learned, and the ups and downs of being a game developer.
... if you want to
learn more about the etiquette of contacting the press you should definitely check out how to contact press - a great guide from pixel prospector, and the video game journaliser site curated by them for the list of sites to contact.
...And 3 more matches
Cognitive accessibility - Accessibility
cognitive accessibility covers accessibility considerations for people with cognition and
learning disabilities.
... this document introduces cognitive accessibility and improving accessibility of the web for people with cognitive and
learning differences.
...it also includes people with
learning disabilities, such as dyslexia and attention deficit hyperactivity disorder (adhd).
...And 3 more matches
JavaScript
get started tutorials
learn how to program in javascript with guides and tutorials.
... for complete beginners head over to our
learning area javascript topic if you want to
learn javascript but have no previous experience of javascript or programming.
... expressions and operators
learn more about the behavior of javascript's operators instanceof, typeof, new, this, the operator precedence, and more.
...And 3 more matches
Guides - Archive of obsolete content
contributor's guide getting started
learn how to contribute to the sdk: getting the code, opening/taking a bug, filing a patch, getting reviews, and getting help.
... modules
learn about the module system used by the sdk (which is based on the commonjs specification), how sandboxes and compartments can be used to improve security, and about the built-in sdk module loader, known as cuddlefish.
... classes and inheritance
learn how classes and inheritance can be implemented in javascript, using constructors and prototypes, and about the helper functions provided by the sdk to simplify this.
...And 2 more matches
Progressive web apps (PWAs)
this guide explains how a2hs is used, and what you need to do as a developer to allow your users to take advantage of it.how to make pwas installablein this article, we
learned about how we can make pwas installable with a properly-configured web manifest, and how the user can then install the pwa with the "add to home screen" feature of their browser.how to make pwas re-engageable using notifications and pushhaving the ability to cache the contents of an app to work offline is a great feature.
...be sure to check out our further documentation if you want to
learn more about the concepts behind the service worker api and how to use it in more detail.
... using the push api —
learn the essentials behind the web push api.
...And 2 more matches
Tutorials
whether you are just starting out,
learning the basics, or are an old hand at web development, you can find helpful resources here for best practices.
... canvas tutorial
learn how to draw graphics using scripting using the canvas element.
... codecademy codecademy is an easy way to
learn how to code javascript.
...And 2 more matches
XUL accessibility guidelines - Archive of obsolete content
learn more accessibility platform features mozilla community software accessibility - where are we today?
...
learn more keyboard shortcuts and accesskeys mozilla keyboard planning faq and cross reference.
...
learn more captioning webaim article: web captioning overview webaim resource: captioning resources animation animation, movement, and audio can all be distracting to some users with attention disorders.
...
learn more accessible custom widgets accessible dhtml building accessible custom components in xul xul accessibility checklist use the following checklist to quickly verify the accessibility of a new xul application, or as a starting point for fixing accessibility problems in an existing one.
Contributing to the Mozilla code base
perhaps you do not know programming yet, but you want to start
learning?
...see pages on bugzilla for further help
learn the bugzilla component, with which your pet peeve is implemented, using the components list.
...they're all about small changes, sometimes as little as a few lines, but they're a great way to
learn about setting up your development environment, navigating bugzilla, and making contributions to the mozilla codebase.
...we'll be integrating some information from these pages soon, but until then you may find them interesting in their current form: a guide to
learning the mozilla codebase a beginner's guide to spidermonkey, mozilla's javascript engine mozilla platform development cheatsheet (archive.org) ...
UI Tour - Firefox Developer Tools
to
learn how to select an element, see the guide to selecting an element.
...to
learn more about the structure of the html pane, see the guide to examining and editing html.
... to
learn more about the layout view, see examine and edit the box model.
... to
learn more about the css declarations listed in this view, see examine computed css.
UI Tour - Firefox Developer Tools
to
learn much more about the waterfall, see the separate waterfall page.
... to
learn much more about the call tree, see the separate call tree page.
... flame chart if the call tree tells you, statistically, which functions your site is spending most time executing across the whole recording, the flame chart tells you the call stack at any given point during the recording: to
learn much more about the flame chart, see the separate flame chart page.
... the allocations view only appears if you checked "record allocations" in the performance tool settings, before recording a profile: to
learn much more about the allocations view, see the separate allocations page.
Basic concepts - Web APIs
to
learn more about indexeddb terms, see the definitions section.
...to
learn more about transaction types, see the reference article for indexeddb.
...to
learn more about transactions, especially on how they relate to versioning, see idbtransaction, which also has reference documentation.
... to
learn more on using indexes, see using indexeddb.
Using IndexedDB - Web APIs
(to
learn more about how much storage you can have for each browser, see storage limits.) obviously, browsers do not want to allow some advertising network or malicious website to pollute your computer, so browsers used to prompt the user the first time any given web app attempts to open an indexeddb for storage.
...to
learn how this is done, see the section on using an index.
...to
learn more, see the definition for transactions in the basic concepts article.
...to
learn more, see the definition for transactions in the basic concepts article.
WebXR Device API - Web APIs
guides and tutorials the following guides and tutorials are a great resource to
learn how to comprehend webxr and the underlying 3d and vr/ar graphics concepts.
...
learn how reference spaces are used to position objects—and the viewer—and the differences among the available types of reference space, as well as their use cases.
... making it interactive movement, orientation, and motion: a webxr example in this example and tutorial, we use information
learned throughout the webxr documentation to create a scene containing a rotating cube which the user can move around using both vr headset and keyboard and mouse.
...in this guide,
learn how to make use of these devices' controls.
Using the Web Audio API - Web APIs
we could make this a lot more complex, but this is ideal for simple
learning at this stage.
...you can
learn more about this in our article autoplay guide for media and web audio apis.
... adding stereo panning to our app let's add another modification node to practise what we've just
learnt.
... more examples there are other examples available to
learn more about the web audio api.
Implementing a Microsoft Active Accessibility (MSAA) Server - Accessibility
if you're interested in more about gecko's msaa implementation, read gecko info for windows accessibility vendors to
learn how msaa clients can utilize gecko's msaa support.
... to really
learn about msaa, you need to download the entire msaa sdk.
... without downloading the sdk, you won't get the extremely useful tools, which help a great deal in the
learning process.
... the assistive technology chooses which events it is interested in
learning more about by calling the win32 method accessibleobjectfromevent, which returns the iaccessible to the node corresponding to the child number that had been indicated from notifywinevent().
Applying color to HTML elements using CSS - HTML: Hypertext Markup Language
maybe that's why color is one of the first things people often want to experiment with when
learning to develop websites.
...see text drop shadows in fundamental text and font styling to
learn more.
...see box properties in the box model to
learn about the relationship between elements and their borders, and the article styling borders using css to
learn more about applying styles to borders.
...see our canvas tutorial to
learn more.
HTML: Hypertext Markup Language
the articles below can help you
learn more about html.
... html introduction if you're new to web development, be sure to read our html basics article to
learn what html is and how to use it.
... html tutorials for articles about how to use html, as well as tutorials and complete examples, check out our html
learning area.
... get started beginner's tutorials our html
learning area features multiple modules that teach html from the ground up — no previous knowledge required.
Introduction - JavaScript
where to find javascript information the javascript documentation on mdn includes the following:
learn web development provides information for beginners and introduces basic concepts of programming and the internet.
... if you are new to javascript, start with the articles in the
learning area and the javascript guide.
...see new in javascript to
learn more about different versions of javascript and ecmascript specification editions.
...you will
learn what these mean, but for now they can be thought of as doing the following: massively improve performance.
Web Performance
beginner's tutorials the mdn web performance
learning area contains modern, up-to-date tutorials covering performance essentials.
... start here if you are a newcomer to performance: web performance: brief overview overview of the web performance
learning path.
... intersection observer api
learn to time element visibility with the intersection observer api and be asynchronously notified when elements of interest becomes visible.
... profiling with the built-in profiler
learn how to profile app performance with firefox's built-in profiler.
Web technology reference
if you're new to web development, consider starting with our
learning area, which is filled with step-by-step tutorials that will guide you from total webdev newbie to at least semi-pro!
... introduction to html |
learn html | html5 | developer guide | element reference | reference css — styling the web cascading style sheets are used to describe the appearance of web content.
... introduction to css | getting started with css |
learn css | common css questions | reference javascript — dynamic client-side scripting the javascript programming language is used to add interactivity and other dynamic features to web sites.
...
learn javascript | developer guide | reference ...
Display a Popup - Archive of obsolete content
to follow this tutorial you'll need to have
learned the basics of jpm.
...
learning more to
learn more about the panel module, see the panel api reference.
... to
learn more about buttons, see the action button and toggle button api reference.
List Open Tabs - Archive of obsolete content
to follow this tutorial you'll need to have
learned the basics of jpm.
...ds a red border to the tab's document: require("sdk/ui/button/action").actionbutton({ id: "list-tabs", label: "list tabs", icon: "./icon-16.png", onclick: listtabs }); function listtabs() { var tabs = require("sdk/tabs"); for (let tab of tabs) runscript(tab); } function runscript(tab) { tab.attach({ contentscript: "document.body.style.border = '5px solid red';" }); }
learning more to
learn more about working with tabs in the sdk, see the tabs api reference.
... to
learn more about running scripts in tabs, see the tutorial on using tab.attach().
Listen for Page Load - Archive of obsolete content
to follow this tutorial you'll need to have
learned the basics of jpm.
...the script adds a red border to the tab's document: require("sdk/tabs").on("ready", runscript); function runscript(tab) { tab.attach({ contentscript: "if (document.body) document.body.style.border = '5px solid red';" }); } (this example is only to show the idea: to implement something like this, you should instead use page-mod, and specify "*" as the match-pattern.)
learning more to
learn more about working with tabs in the sdk, see the tabs api reference.
... to
learn more about running scripts in tabs, see the tutorial on using tab.attach().
Modifying Web Pages Based on URL - Archive of obsolete content
to follow this tutorial you'll need to have
learned the basics of jpm.
... var pagemod = require("sdk/page-mod").pagemod({ include: "*", contentstylefile: require("sdk/self").data.url("my-style.css") }); or, from firefox 34, you can use the simpler version: var pagemod = require("sdk/page-mod").pagemod({ include: "*", contentstylefile: "./my-style.css" });
learning more to
learn more about page-mod, see its api reference page.
... to
learn more about content scripts in general, see content scripts guide.
Modifying the Page Hosted by a Tab - Archive of obsolete content
to follow this tutorial you'll need to have
learned the basics of jpm.
...
learning more to
learn more about working with tabs in the sdk, see the open a web page tutorial, the list open tabs tutorial, and the tabs api reference.
... to
learn more about content scripts, see the content scripts guide.
Open a Web Page - Archive of obsolete content
to follow this tutorial you'll need to have
learned the basics of jpm.
...this add-on loads a page, then attaches a script to the page which adds a red border to it: var tabs = require("sdk/tabs"); tabs.open({ url: "http://www.example.com", onready: runscript }); function runscript(tab) { tab.attach({ contentscript: "document.body.style.border = '5px solid red';" }); }
learning more to
learn more about working with tabs in the sdk, see the tabs api reference.
... to
learn more about running scripts in tabs, see the tutorial on using tab.attach().
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
you can use it to help debug firefox extensions as well as to inspect and
learn how the firefox ui (chrome) is constructed.
... you can
learn more about chromebug and download it at http://getfirebug.com/wiki/index.php/chromebug_user_guide you may also find this extension to be valuable: extension developer https://addons.mozilla.org/firefox/addon/7434 developing extensions: what you need to know let’s delve into chrome, something you’ll need to know about in order to develop extensions.
... where can i
learn more about the xpcom interface?
Introduction - Archive of obsolete content
with this tutorial you'll
learn how to develop firefox extensions.
... you'll
learn how to quickly do the most common tasks in extension development, comparing several different approaches to solve them.
...if you're unfamiliar with these terms, it's good that you take some time and
learn a little about mozilla.
Mozilla Documentation Roadmap - Archive of obsolete content
this tutorial was aimed at compiling all the right resources for extension development and putting them in the right context, but there's much more to
learn, and knowing how to find it is part of what we felt was necessary to teach.
...there are various tricks that you can't
learn anywhere, but you know that firefox implements them in some way.
...it takes a little getting used to, specially
learning how to choose the best search queries, but it's an invaluable resource of information.
Video presentations - Archive of obsolete content
mozilla is actively working to produce video presentations that can help you
learn how the mozilla codebase works and how to take advantage of its technology in your own applications and extensions.
...
learn how to properly file a good bug report, how the bug reports are handled, and how to submit and get reviews for patches.
... (as quicktime; 122 mb and 110 mb) release builds - from source tree to exe (part 1, part 2)
learn how release builds of firefox are created.
IO - Archive of obsolete content
deleting files to
learn how to delete a file, see deleting a file.
...upload and download files upload files to
learn how to upload and post files to a web site, see uploading and downloading files.
... download files to
learn how to download and save a file from a web site to disk, see downloading files.
Index - Archive of obsolete content
web developers already familiar with dynamic html (dhtml) will
learn xul quickly and can start building applications right away.
... 959 complete this page is for readers who have followed the custom toolbar button tutorial for firefox, thunderbird and sunbird, or the custom toolbar button:seamonkey tutorial for seamonkey, and who want to
learn more about developing extensions.
... 1034 introduction tutorials, xul, xul tutorial this tutorial is a guide to
learning xul (xml user interface language) which is a cross-platform language for describing applications' user interfaces.
Getting Started - Archive of obsolete content
this tutorial follows the mantra thatthe best way to
learn is to do .
... if you are comfortable with that, you should have no problem
learning rss.
... it is not mandatory to create rss files in this tutorial (you can just read on), but this would be a less effective way for you to
learn.
3D games on the Web - Game development
there are some advanced concepts which you should dive into and
learn more about — like shaders, collision detection, or the latest hot topic: virtual reality on the web.
...you should definitely check out glsl shaders article to
learn more about them.
...we have information available for you to
learn from: 2d collision detection 3d collision detection webxr the concept of virtual reality is not new, but it's storming onto the web thanks to hardware advancements such as the oculus rift, and the (currently experimental) webxr api for capturing information from vr and ar hardware and making it available for use in javascript applications.
2D breakout game using pure JavaScript - Game development
you will
learn the basics of using the <canvas> element to implement fundamental game mechanics like rendering and moving images, collision detection, control mechanisms, and winning and losing states.
...frameworks are just tools built with the javascript language; so even if you plan on working with them, it's good to
learn about the language itself first to know what exactly is going on under the hood.
... note: if you are interested in
learning about 2d web game development using a game library, consult this series' counterpart, 2d breakout game using phaser.
Software accessibility: Where are we today?
which allow people with physical disabilities to use alternatives to a keyboard and mouse voice recognition software, which allows a person to simulate typing on a keyboard or selecting with a mouse by speaking into the computer screen magnification software, which allows a low-vision computer user to more easily read portions of the screen comprehension software, which allows a dyslexic or
learning disabled computer user to see and hear text as it is manipulated on the computer screen in fact, the entire adaptive technology industry has grown up around these issues.
... one great place to go and
learn about this industry is the csun conference in los angeles, which takes place every year in mid-late march.
...if you take a little time to
learn them, they will become an unconscious improvement to your design and engineering technique.
Working with Mozilla source code
the articles below will help you get your hands on the mozilla source code,
learn to navigate the code, and how to get the changes you propose checked into the tree.
... viewing and searching mozilla source code online
learn how to use searchfox, mozilla's online search and browsing tool for accessing the source code.
... navigating the mozilla source code
learn about the various folders in the mozilla source tree, and how to find what you're looking for.
QA phase
visit the links above to
learn how to make these testing builds.
... we use a web service called bit bucket to start the
learning process.
... the instructions below will help you
learn how to use your hg repository.
Localization quick start guide
along the way, you'll
learn about the variety of projects you can contribute to and the tools used to localize them.
...visit the l10n process page to
learn about the whole process.
...to
learn more about any of these, click on any of the links above.
Index
and of course, the idea of the future is always evolving in time as things change and we
learn more.
... 200 js_c
learnewbornroots jsapi reference, spidermonkey the last gc thing of each type (object, string, double, external string types) created on a given context is kept alive until another thing of the same type is created, using a newborn root in the context.
... 201 js_c
learnonglobalobject jsapi reference, obsolete, spidermonkey js_c
learnonglobalobject removes all of obj's own properties, except the special __proto__ and __parent__ properties, in a single operation.
JSAPI reference
to
learn how to use the jsapi, see the jsapi user guide and the jsapi cookbook.
...rmonkey 17 js_removefinalizecallback added in spidermonkey 38 js_setgczeal added in spidermonkey 1.8 js_schedulegc added in spidermonkey 17 js_dumpheap added in spidermonkey 1.8 js_setgccallbackrt obsolete since jsapi 13 js_setfinalizecallback added in spidermonkey 17 obsolete since jsapi 32 js_markgcthing obsolete since jsapi 5 js_isabouttobefinalized obsolete since jsapi 35 js_c
learnewbornroots obsolete since jsapi 5 the rest of these apis help protect objects from being destroyed by the garbage collector before the application is done using them.
...ded in spidermonkey 31 js_getpropertydescriptorbyid added in spidermonkey 1.8.1 js_getownpropertydescriptor added in spidermonkey 31 js_getownpropertydescriptorbyid added in spidermonkey 31 js_getownucpropertydescriptor added in spidermonkey 45 js_setallnonreservedslotstoundefined added in spidermonkey 24 js_aliasproperty obsolete since jsapi 8 js_clearscope obsolete since jsapi 18 js_c
learnonglobalobject added in spidermonkey 18 obsolete since jsapi 34 js_defineownproperty added in spidermonkey 1.8.5 obsolete since jsapi 33 js_definepropertywithtinyid obsolete since jsapi 30 js_defineucpropertywithtinyid obsolete since jsapi 30 js_getpropertydefault obsolete since jsapi 26 js_getpropertybyiddefault obsolete since jsapi 26 js_getpropertyattributes obsolete since jsapi 26 js_ge...
The Rust programming language
it prevents segmentation faults and guarantees thread safety, all with an easy-to-
learn syntax.
... to
learn more about rust, you can: watch the videos below for a closer look at the power and benefits rust provides.
... download the rust compiler, check out examples, and
learn everything you could possibly wish to know at the rust official web site.
Creating the Component Code
use the calculator (after
learning long division) you have to write a fair amount of code to create a component library that gets loaded into xpcom.
...using xpcom utilities to make things easier shows some simpler and more elegant ways to create an xpcom component using generic macros, and this chapter is more about
learning the basics.
... as in grade school when you
learned long division, better tools like calculators come after you figure out what's actually happening.
nsIMsgFolder
nsimsgwindow msgwindow); void renamesubfolders( in nsimsgwindow msgwindow, in nsimsgfolder oldfolder); astring generateuniquesubfoldername(in astring prefix,in nsimsgfolder otherfolder); void updatesummarytotals(in boolean force); void summarychanged(); long getnumunread(in boolean deep); long gettotalmessages(in boolean deep); void c
learnewmessages(); void clearrequirescleanup(); void setflag(in unsigned long flag); void clearflag(in unsigned long flag); boolean getflag(in unsigned long flag); void toggleflag(in unsigned long flag); void onflagchange(in unsigned long flag); void setprefflag(); nsimsgfolder getfolderswithflag(in unsigned long flags, in unsigned...
... long gettotalmessages(in boolean deep); c
learnewmessages() clear new status flag of all of the new messages.
... void c
learnewmessages(); clearrequirescleanup() void clearrequirescleanup(); setflag() sets a flag on the folder.
Getting Started Guide
a good place to
learn about the basic rules and reasoning behind com is in essential com by don box.
...there are a few other details you will want to know as you use nscomptr in more complicated situations, but what you've just
learned will cover 90% of your uses.
...after
learning how nscomptr automatically addrefs a pointer as it is being assigned in, the natural assumption is that it does the same thing when assigning out.
Index
this reference will help you track those events down and
learn how to use them.
...however, in many cases you only need to
learn a few concepts to write an extension.
...(in step 8 you will
learn how to package an .xpi file for distribution and installation.) 81 building a thunderbird extension 8: packaging extensions, thunderbird when you are satisfied with how your extension works, package it for deployment and installation.
Thunderbird extensions
start by reading the tutorial and
learn how to build a thunderbird extension.
... read about the main windows to
learn about « thread pane », « preview pane », and « folder pane ».
...
learn more about gloda: an overview of gloda how to create your first message query and read the gloda examples gloda internals: gloda debugging, gloda indexing more thunderbird-specific links some links may be out of date, but they still provide valuable information on the codebase.
Signaling and video calling - Web APIs
you can
learn more about the codecs which webrtc requires browsers to support, which additional codecs are supported by which browsers, and how to choose the best codecs to use in the guide codecs used by webrtc.
...see ending the call to
learn how closevideocall() works.
... set mypeerconnection to null, ensuring our code
learns there's no ongoing call; this is useful when the user clicks a name in the user list.
Fundamentals of WebXR - Web APIs
mixed reality is a large and complex subject, with much to
learn and many other apis to bring together in order to create an engaging experience for users.
... in this guide, we provide a fundamental overview of what webxr is and how it works, as well as providing a foundation for what you'll need to know before you even begin to
learn to develop augmented reality and virtual reality experiences for the web.
... basic concepts before getting into too much detail, let's consider some basic concepts that you need to know before you
learn how to develop xr code.
Geometry and reference spaces in WebXR - Web APIs
you can
learn more about the individual operations in matrix math for the web.
...see the article using bounded reference spaces to
learn more about the use of bounded reference spaces.
... you can
learn more about the animation process in the article rendering and the webxr frame animation callback.
Lighting a WebXR setting - Web APIs
you can
learn more about how to perform lighting in webgl in the article lighting in webgl.
...other data is collected using the geolocation api, and then all this data is put through algorithms and machine
learning engines to generate the estimated lighting information.
...you can
learn all about the proposed api and a fair amount about the concept of lighting estimation in the explainer documnent that's included in the specification's github repository.
Web Audio API - Web APIs
learning coding is like playing cards — you
learn the rules, then you play, then you go back and
learn the rules again, then you play again.
... so if some of the theory doesn't quite fit after the first tutorial and article, there's an advanced tutorial which extends the first one to help you practise what you've
learnt, and apply some more advanced techniques to build up a step sequencer.
...n go ahead and start building things with the advance tutorial and others as a guide (the above linked tutorial covers scheduling notes, creating bespoke oscillators and envelopes, as well as an lfo among other things.) if you aren't familiar with the programming basics, you might want to consult some beginner's javascript tutorials first and then come back here — see our beginner's javascript
learning module for a great place to begin.
Accessibility: What users can do to browse more safely - Accessibility
the user can do much to protect himself by
learning his operating system, its personalization and accessibility settings.
...
learn personalization and accessibility settings firefox 73 and above (dekstop) firefox added support for css prefers-reduced-motion in october 2018.
...grayscale is enabled when the color filters button is toggled "on" see also accessibilty accessibility
learning path web accessibility for seizures and physical reactions color blindness discussion: "what is the “grayscale” setting for in accessibility options?" contributors many, many thanks to eric eggert from knowbility; for his discussions and huge help on this topic.
CSS: Cascading Style Sheets
css introduction if you're new to web development, be sure to read our css basics article to
learn what css is and how to use it.
... css tutorials our css
learning area contains a wealth of tutorials to take you from beginner level to proficiency, covering all the fundamentals.
... get started tutorials our css
learning area features multiple modules that teach css from the ground up — no previous knowledge required.
Overview of events and handlers - Developer guides
the pattern is therefore easy to
learn and implement.
... the difficulty with events comes from
learning the wide variety of events which are generated in modern web browsers.
... there is also some subtlety in
learning how to write the handler functions since such code works asynchronously and potentially will run repeatedly but in slightly different situations.
HTML5 - Developer guides
2d/3d graphics and effects canvas tutorial
learn about the new <canvas> element and how to draw graphs and other objects in firefox.
...
learn more about this feature.
...you can
learn more about these by reading advanced box effects.
Compiling from Rust to WebAssembly - WebAssembly
we give a high-level explanation here, and gloss over some details; to
learn more about rust, please check the free online book the rust programming language.
...to
learn about them in detail, check out this blog post on mozilla hacks.
...this is beyond the scope of this tutorial, but if you'd like to
learn more, check out the rust webassembly working group's documentation on shrinking .wasm size.
Content Scripts - Archive of obsolete content
to
learn about how to interact with the content for a given user interface module, please see the module-specific documentation: panel, sidebar, frame.
...to
learn about communicating with content scripts loaded using context-menu, see the context-menu documentation.
page-mod - Archive of obsolete content
to
learn much more about communicating with content scripts, see the guide to content scripts and in particular the chapter on communicating using port.
... to
learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
tabs - Archive of obsolete content
to
learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
...see content scripts guide to
learn the details.
widget - Archive of obsolete content
e("sdk/self").data; var player = widgets.widget({ id: "player", width: 72, label: "player", contenturl: data.url("buttons.html"), contentscriptfile: data.url("button-script.js") }); player.port.on("play", function() { console.log("playing"); }); player.port.on("pause", function() { console.log("pausing"); }); player.port.on("stop", function() { console.log("stopping"); }); to
learn much more about content scripts, see the working with content scripts guide.
... to
learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
Add a Context Menu Item - Archive of obsolete content
to follow this tutorial you'll need to have
learned the basics of jpm.
..."); var menuitem = contextmenu.item({ label: "log selection", context: contextmenu.selectioncontext(), contentscript: 'self.on("click", function () {' + ' var text = window.getselection().tostring();' + ' self.postmessage(text);' + '});', accesskey: "l", onmessage: function (selectiontext) { console.log(selectiontext); } });
learning more to
learn more about the context-menu module, see the context-menu api reference.
Add-on SDK - Archive of obsolete content
development techniques
learn about common development techniques, such as unit testing, logging, creating reusable modules, localization, and mobile development.
... guides contributor's guide
learn how to start contributing to the sdk and about the most important idioms used in the sdk code such as modules, classes and inheritance, private properties, and content processes.
Chapter 6: Firefox extensions and XUL applications - Archive of obsolete content
also, because it works with the javascript in extensions and firefox itself, the debugger can be a good way to
learn about design methods.
...ng 5: calc.js (implementing subtraction operation) minus: function() { this._letfunc(this._minus); }, _minus: function(a, b) { return a - b; }, listing 6: calc.js (correcting mistake in implementation of subtraction) _letfunc: function(func) { // correct pop order b = this.pop(); a = this.pop(); this.push(func(a, b)); }, understanding source code in the open-source community, you can
learn a lot about how software works by studying its source code; with a massive project like firefox, people typically use special source-code browsing tools to make sense of it.
Chapter 2: Technologies used in developing extensions - Archive of obsolete content
figure 1: role of each technology in firefox in addition to these technologies, extension development will require you to
learn about how to confer privileges to overcome security restrictions on code that you write, and how to embed your code into the firefox ui.
...to
learn more about the dom, please take a look at the mdc documentation.
Setting Up a Development Environment - Archive of obsolete content
you can
learn about setting up multiple firefox profiles in the mozilla support article managing profiles.
... now that you know how to quickly monitor your project and test changes, we'll
learn how to add new ui elements to firefox, through overlays and new windows.
List of Mozilla-Based Applications - Archive of obsolete content
manager enlis genome personal genome browser esxx javascript application server uses mozilla rhino etna xml wysiwyg editor eudora mail and news application the upcoming version 8 will be based on thunderbird evergreen library automation system evolution email client uses nss exe e
learning xhtml editor seems to be using xul for some of their webui facebook open platform facebook open platform the fbml parser used in the platform is based on mozilla code fennec browser for mobiles as mark notes: fennec is not firefox, it’s a completely different application findthatfont!
...(product was formerly known as lombardi teamworks) icedragon fast, secure and feature-rich internet browser based on firefox ida e-
learning authoring system about 200 users imvu 3d chat client incredimail mail client seems to use xulrunner instantbird im client xulrunner application itsnat java ajax component based web framework java software platform uses mozilla rhino javalikescript javascript extensible tooling framework uses nspr and...
Install Wizards (aka: Stub Installers) - Archive of obsolete content
to
learn more about the xpinstall and installer packages please refer to the annotated browser xpi installer and the xpinstall api reference.
...to
learn more about the three platform-specific versions of the stub installer follow the links below: unix stub installer mac stub installer windows stub installer what do we mean by xpistub?
Popup Guide - Archive of obsolete content
attaching menus to a button to
learn about how to open a menu when a button is pressed, see menu buttons.
... features of items on a menu to
learn about the various features of items on a menu, see features of the menuitem element modifying the items on a menu to append, insert and remove elements from a menu, see modifying a menu.
The Joy of XUL - Archive of obsolete content
web developers already familiar with dynamic html (dhtml) will
learn xul quickly and can start building applications right away.
...later, as the developers
learned more about xul and the implementation of the basic components matured, better ways were identified to simplify the composition of the ui.
Gecko Compatibility Handbook - Archive of obsolete content
this is unfortunate since the html validator is one of the primary vehicles web developers have for
learning about the standards.
...visit the plugins page to
learn about scripting gecko browsers, proper use of tags, changes in the plugin architecture vs.
2006-10-20 - Archive of obsolete content
adding extension to extensions/ folder originally posted on oct 19th: christopher finke is currently
learning how to compile firefox.
...christopher would not like to
learn how to create a build of firefox with custom extensions and not have those extensions appear in the addons window.
Plugins - Archive of obsolete content
supporting private browsing in plugins firefox 3.5 introduced support for private browsing;
learn how to make your plugin respect the user's privacy wishes.
... writing a plugin for mac os x
learn how to write a plugin for mac os x; a template xcode project is provided.
Browser Detection and Cross Browser Support - Archive of obsolete content
etscape 6.2 netscape6 6.2 netscape 6.2.1 netscape6 6.2.1 netscape 6.2.2 netscape6 6.2.2 netscape 6.2.3 netscape6 6.2.3 compuserve 7.0 cs 2000 7.0 7.0 netscape 7 preview release 1 netscape 7.0b1 netscape 7.0 netscape 7.0 netscape 7.01 netscape 7.01 examples if you are like me, you
learn best from examples.
... studying how other authors use browser detection and cross browser coding techniques is the best way to
learn.
XForms Custom Controls - Archive of obsolete content
but even if you are only comfortable with a couple of these technologies, we hope that the possibilities outlined below will inspire you to
learn more where you need to.
...this will also allow you to be up to date with our current approaches (often the result of hard-
learned lessons) and that will hopefully help you to more easily write your own controls.
XUL Booster - Archive of obsolete content
learn more at creating_a_mozilla_extension:finding_the_file_to_modify to create an xul:overlay, create a xul fragment with a top level node that has an id matching an existing element, ex.
...
learn more at creating_a_mozilla_extension:adding_the_structure.
Index - Game development
without promotion, they wouldn't even be able to
learn about it and play it.
...by this point you would have
learnt the basics of phaser and the logic behind simple 2d games.
Game distribution - Game development
if you're working on a side project just for fun, then leaving the source open will benefit those who would like to
learn from what you've created.
...without promotion, they wouldn't even be able to
learn about it and play it.
Game monetization - Game development
you have to follow the market and do your own research —
learning from your mistakes quickly is important.
...game promotion and monetization at the same time is a win-win, and if you don't abuse it with too much advertising the readers will enjoy reading them and as well as
learning a thing or two.
GLSL Shaders - Game development
note: you can
learn more about model, view, and projection transformations from the vertex processing paragraph, and you can also check out the links at the end of this article to
learn more about it.
...our example doesn't do much but there are many more cool things you can do with shaders — check out some really cool ones on shadertoy for inspiration and to
learn from their sources.
Desktop gamepad controls - Game development
implementation we now know what the gamepadapi object looks like and what variables and functions it contain, so let's
learn how all this is actually used in the game.
... if(gamepadapi.buttons.pressed('y','hold')) { if(!this.screengamepadhelp.visible) { this.screengamepadhelp.visible = true; } } else { if(this.screengamepadhelp.visible) { this.screengamepadhelp.visible = false; } } if the b button is pressed, the game is paused: if(gamepadapi.buttonpressed('b')) { this.managepause(); } pause and game over states we already
learned how to control the whole lifecycle of the game: pausing the gameplay, restarting it, or getting back to the main menu.
Initialize the framework - Game development
« previousnext » this is the first of 16 tutorials to
learn how to use gamedev phaser.
... compare your code here's the full source code of the first lesson, running live in a jsfiddle: next steps now we've set up the basic html and
learned a bit about phaser initialization, let's continue to the second lesson and
learn about scaling.
2D breakout game using Phaser - Game development
you will
learn the basics of using the phaser framework to implement fundamental game mechanics like rendering and moving images, collision detection, control mechanisms, framework-specific helper functions, animations and tweens, and winning and losing states.
...rsions of the mdn breakout game we are building together — are available on github: initialize the framework scaling load the assets and print them on screen move the ball physics bounce off the walls player paddle and controls game over build the brickfield collision detection the score win the game extra lives animations and tweens buttons randomizing gameplay as a note on
learning paths — starting with pure javascript is the best way to get a solid knowledge of web game development.
Game development
the
learning area is a good place to go to get started with the basics.
... port native games to the web if you are a native developer (for example writing games in c++), and you are interested in how you can port your games over to the web, you should
learn more about our emscripten tool — this is an llvm to javascript compiler, which takes llvm bytecode (e.g.
Algorithm - MDN Web Docs Glossary: Definitions of Web-related terms
there are also machine
learning algorithms such as linear regression, logistic regression, decision tree, random forest, support vector machine, recurrent neural network (rnn), long short term memory (lstm) neural network, convolutional neural network (cnn), deep convolutional neural network and so on.
...
learn more general knowledge algorithm on wikipedia technical reference explanations of sorting algorithms explanations of algorithmic complexity ...
Screen reader - MDN Web Docs Glossary: Definitions of Web-related terms
screen readers are essential to people who are blind, as well as useful to people who are visually impaired, illiterate, or have a
learning disability.
...l + option + x next graphic: control + option + g next table: control + option + t down an html hierarchical order control + option + right arrow previous heading: shift + control + option + h previous list: shift + control + option + x previous graphic: shift + control + option + g previous table: shift + control + option + t up an html hierarchical order: control + option + left arrow
learn more aria ...
Firefox
here you can
learn about how to contribute to the firefox project and you will also find links to information about the construction of firefox add-ons, using the developer tools in firefox, and other topics.
...
learn how to create add-ons for firefox, how to develop and build firefox itself, and how the internals of firefox and its subprojects work.
PopupNotifications.jsm
learnmoreurl a string url.
... setting this property will make the prompt display a "
learn more" link that, when clicked, opens the url in a new tab.
Bootstrapping a new locale
to
learn how to bootstrap a new locale for mozilla projects, please see those documents.
... we use a web service called bit bucket to start the
learning process.
Mozilla DOM Hacking Guide
since i am myself still
learning how it works, don't expect this to be a complete reference quite yet.
... target audience: people interested in
learning how the dom is implemented.
Getting Started With NSS
learn about getting the nss sources, building, and testing.
...you could contribute by organizing it in a better way.) nss sample code a good place to start
learning how to write nss applications are the command line tools that are maintained by the nss developers.
HTTP delegation
to
learn about all the details, please read the documentation contained in the nss c header files.
...please read the source code documentation to
learn how to use this api synchronously or asynchronously.
HTTP delegation
to
learn about all the details, please read the documentation contained in the nss c header files.
...please read the source code documentation to
learn how to use this api synchronously or asynchronously.
NSS sources building testing
in order to
learn about the details of test failures, search the file for the uppercase test failed.
...read the contents of file all.sh to
learn how that works.
NSS functions
mxr 3.2 and later sec_asn1decode mxr 3.4 and later sec_asn1decodeinteger mxr 3.2 and later sec_asn1decodeitem mxr 3.2 and later sec_asn1decoderabort mxr 3.9 and later sec_asn1decoderclearfilterproc mxr 3.2 and later sec_asn1decoderc
learnotifyproc mxr 3.2 and later sec_asn1decoderfinish mxr 3.2 and later sec_asn1decodersetfilterproc mxr 3.2 and later sec_asn1decodersetnotifyproc mxr 3.2 and later sec_asn1decoderstart mxr 3.2 and later sec_asn1decoderupdate mxr 3.2 and later ...
... sec_asn1encode mxr 3.2 and later sec_asn1encodeinteger mxr 3.2 and later sec_asn1encodeitem mxr 3.2 and later sec_asn1encoderabort mxr 3.9 and later sec_asn1encoderc
learnotifyproc mxr 3.2 and later sec_asn1encoderclearstreaming mxr 3.2 and later sec_asn1encodercleartakefrombuf mxr 3.2 and later sec_asn1encoderfinish mxr 3.2 and later sec_asn1encodersetnotifyproc mxr 3.2 and later sec_asn1encodersetstreaming mxr 3.2 and later sec_asn1encodersettakefrombuf mxr 3.2 and later sec_asn1enc...
Utility functions
mxr 3.2 and later sec_asn1decode mxr 3.4 and later sec_asn1decodeinteger mxr 3.2 and later sec_asn1decodeitem mxr 3.2 and later sec_asn1decoderabort mxr 3.9 and later sec_asn1decoderclearfilterproc mxr 3.2 and later sec_asn1decoderc
learnotifyproc mxr 3.2 and later sec_asn1decoderfinish mxr 3.2 and later sec_asn1decodersetfilterproc mxr 3.2 and later sec_asn1decodersetnotifyproc mxr 3.2 and later sec_asn1decoderstart mxr 3.2 and later sec_asn1decoderupdate mxr 3.2 and later ...
... sec_asn1encode mxr 3.2 and later sec_asn1encodeinteger mxr 3.2 and later sec_asn1encodeitem mxr 3.2 and later sec_asn1encoderabort mxr 3.9 and later sec_asn1encoderc
learnotifyproc mxr 3.2 and later sec_asn1encoderclearstreaming mxr 3.2 and later sec_asn1encodercleartakefrombuf mxr 3.2 and later sec_asn1encoderfinish mxr 3.2 and later sec_asn1encodersetnotifyproc mxr 3.2 and later sec_asn1encodersetstreaming mxr 3.2 and later sec_asn1encodersettakefrombuf mxr 3.2 and later sec_asn1enc...
Redis Tips
yet redis is so easy to
learn and use that you'll seldom feel you need to consult it.
... (this is, for instance, how tj holowaychuk's implemented kue: https://github.com/
learnboost/kue.) memory usage in redis is important to think about.
Preface
accordingly, the book is arranged so that you can follow along and create your own components or
learn about different xpcom topics individually, as in a reference work.
...by the end of the book, if we've done our job, you will have
learned how to build a component and you will know something about the framework for these components in gecko, which is xpcom.
Index
if you're looking here just to
learn about nscomptrs, you'll get a better introduction in the getting started guide.
...accordingly, the book is arranged so that you can follow along and create your own components or
learn about different xpcom topics individually, as in a reference work.
Introduction to XPCOM for the DOM
i
learned c++ by reading "c++ primer" from stanley lippman and josee lajoie, then experimenting on the dom code.
...please see the user's guide of class info to
learn how to add it.
nsIMsgDatabase
elistener instigator); void setlabel(in nsmsgkey key, in nsmsglabelvalue label); void setstringproperty(in nsmsgkey akey, in string aproperty, in string avalue); void markimapdeleted(in nsmsgkey key, in boolean deleted, in nsidbchangelistener instigator); void applyretentionsettings(in nsimsgretentionsettings amsgretentionsettings, in boolean adeleteviafolder); boolean hasnew(); void c
learnewlist(in boolean notify); void addtonewlist(in nsmsgkey key); void startbatch(); void endbatch(); nsimsgofflineimapoperation getofflineopforkey(in nsmsgkey messagekey, in boolean create); void removeofflineop(in nsimsgofflineimapoperation op); nsisimpleenumerator enumerateofflineops(); void listallofflineopids(in nsmsgkeyarrayptr offlineopids); native code only!
... void applyretentionsettings(in nsimsgretentionsettings amsgretentionsettings, in boolean adeleteviafolder); hasnew() boolean hasnew(); c
learnewlist() void c
learnewlist(in boolean notify); addtonewlist() void addtonewlist(in nsmsgkey key); startbatch() batching - can be used to cache file stream for local mail, and perhaps to use the mdb batching mechanism as well.
Using js-ctypes
also
learn about the lib.declare function used here: lib.declare.
...
learn about the data types used here: data types.
Mozilla
for example, by using components.results.ns_error_not_initialized firefox here you can
learn about how to contribute to the firefox project and you will also find links to information about the construction of firefox add-ons, using the developer tools in firefox, and other topics.
...it prevents segmentation faults and guarantees thread safety, all with an easy-to-
learn syntax.
Console messages - Firefox Developer Tools
js javascript errors contain a "
learn more" link that takes you to the javascript error reference containing additional advice for fixing issues: source maps the web console understands source maps.
...additionally, many of these messages help educate developers because they end with a “
learn more” link that takes you to a page with background information and advice for mitigating the issue.
Applying styles and colors - Web APIs
you will
learn how to add different colors, line styles, gradients, patterns and shadows to your drawings.
...in a later part of this tutorial, you can
learn how to do this and other basic animations.
Drawing shapes with canvas - Web APIs
by the end of this article, you will have
learned how to draw rectangles, triangles, lines, arcs and curves, providing familiarity with some of the basic shapes.
... note: to
learn more about the arc() function, see the arcs section below.
EventTarget.addEventListener() - Web APIs
see improving scrolling performance with passive listeners to
learn more.
... you can
learn more from the article about eventlisteneroptions from the web incubator community group.
LocalFileSystem - Web APIs
(to
learn more about the storage types, see the basic concepts article.) in most cases, you need to create only one file system, but in a few cases, it might be useful to create a second one.
...to
learn more, see this stackoverflow answer.
LocalMediaStream - Web APIs
see stopping a video stream in mediastreamtrack to
learn how.
...see stopping a video stream in mediastreamtrack to
learn how to stop an entire stream.
WebGL: 2D and 3D graphics for the web - Web APIs
guides and tutorials below, you'll find an assortment of guides to help you
learn webgl concepts and tutorials that offer step-by-step lessons and examples.
... webgl academy an html/javascript editor with tutorials to
learn basics of webgl programming.
Inputs and input sources - Web APIs
see advanced controllers using the gamepad object to
learn how to use these controllers.
... you can
learn more about how to use this the viewer pose to determine the facing direction in the article viewpoints and viewers.
Rendering and the WebXR frame animation callback - Web APIs
you can
learn more about how 3d is represented by webxr in representing 3d with webxr in viewpoints and viewers: simulating cameras in webxr.
...thus it's the other kinds of input that you need to handle yourself: pointing device target and button presses gamepad inputs non-xr input device inputs to
learn more about how to handle user inputs while presenting a scene using webxr, see the article inputs and input sources.
Accessibility documentation index - Accessibility
89 cognitive accessibility accessibility, best practices, forms, wcag, cognitive accessibility cognitive accessibility covers accessibility considerations for people with cognition and
learning disabilities.
... this document introduces cognitive accessibility and improving accessibility of the web for people with cognitive and
learning differences.
Accessibility
when the web meets this goal, it is accessible to people with a diverse range of hearing, movement, sight, and cognitive ability." (w3c - accessibility) key tutorials the mdn accessibility
learning area contains modern, up-to-date tutorials covering accessibility essentials: what is accessibility?
... aria a collection of articles to
learn how to use aria to make your html documents more accessible.
Using feature queries - CSS: Cascading Style Sheets
in this guide you will
learn how to implement progressive enhancement using feature queries.
... see also the @supports rule
learn layout: supporting older browsers css grid layout and progressive enhancement using feature queries in css ...
Media queries - CSS: Cascading Style Sheets
you can
learn more about programmatically using media queries in testing media queries.
... using media queries for accessibility
learn how media queries can help users understand your website better.
Developer guides
html
learning area hypertext markup language (html) is the core language of nearly all web content.
... css
learning area cascading style sheets (css) is a stylesheet language used to define the presentation of a document written in html.
<a>: The Anchor element - HTML: Hypertext Markup Language
inaccessible, weak link text a sadly common mistake is to only link the words “click here” or “here”: <p>
learn more about our products <a href="/products">here</a>.
... <p>
learn more <a href="/products">about our products</a>.
Identifying resources on the Web - HTTP
https://developer.mozilla.org https://developer.mozilla.org/docs/
learn/ https://developer.mozilla.org/search?q=url any of those urls can be typed into your browser's address bar to tell it to load the associated page (resource).
... examples https://developer.mozilla.org/docs/
learn tel:+1-816-555-1212 git@github.com:mdn/browser-compat-data.git ftp://example.org/resource.txt urn:isbn:9780141036144 mailto:help@supercyberhelpdesk.info specifications specification title rfc 7230, section 2.7: uniform resource identifiers hypertext transfer protocol (http/1.1): message syntax and routing ...
About JavaScript - JavaScript
javascript is an easy to
learn and also powerful scripting language, widely used for controlling web page behavior.
...the basic syntax is intentionally similar to both java and c++ to reduce the number of new concepts required to
learn the language.
Paths - SVG: Scalable Vector Graphics
later, we will
learn how paths can be transformed to suit other needs.
... if transitioning to svg from <canvas>, arcs can be the hardest thing to
learn, but are also much more powerful.
Modules - Archive of obsolete content
, the access is prevented, as the following example shows: // index.js: let a = loadscript("www.foo.com/a.js", { components: components }); // index.js has chrome privileges components.utils; // => [object nsxpccomponents_utils] // a.js: // a.js has content privileges imports.components.utils; // => undefined modules in the add-on sdk the module system used by the sdk is based on what we
learned so far: it follows the commonjs specification, which attempts to define a standardized module api.
context-menu - Archive of obsolete content
to
learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
panel - Archive of obsolete content
d> <style type="text/css" media="all"> textarea { margin: 10px; } body { background-color: gray; } </style> </head> <body> <textarea rows="13" cols="33" id="edit-box"></textarea> </body> </html> finally, save these three icon files to the "data" directory: icon-16.png icon-32.png icon-64.png to
learn much more about content scripts, see the working with content scripts guide.
selection - Archive of obsolete content
to
learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
windows - Archive of obsolete content
to
learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
tabs/utils - Archive of obsolete content
to
learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
ui/button/action - Archive of obsolete content
"16": "./firefox-16.png", "32": "./firefox-32.png" }, onclick: disableforthiswindow }); function disableforthiswindow(state) { button.state("window", { disabled: true }); } to fetch the state for a specific window or tab, call state(), passing in the window or tab you are interested in, and it will return the state: var labelforactivetab = button.state("tab").label; to
learn more about this, see the api documentation for state().
ui/button/toggle - Archive of obsolete content
"16": "./firefox-16.png", "32": "./firefox-32.png" }, onclick: disableforthiswindow }); function disableforthiswindow(state) { button.state("window", { disabled: true }); } to fetch the state for a specific window or tab, call state(), passing in the window or tab you are interested in, and it will return the state: var labelforactivetab = button.state("tab").label; to
learn more about this, see the api documentation for state().
window/utils - Archive of obsolete content
to
learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
Tabbed browser - Archive of obsolete content
for example: var num = gbrowser.browsers.length; for (var i = 0; i < num; i++) { var b = gbrowser.getbrowseratindex(i); try { dump(b.currenturi.spec); // dump urls of all open tabs to console } catch(e) { components.utils.reporterror(e); } } to
learn what methods are available for <browser/> and <tabbrowser/> elements, use dom inspector or look in browser.xml for corresponding xbl bindings (or just look at the current reference pages on browser and tabbrowser.
Index of archived content - Archive of obsolete content
when to use ifdefs writing textual data xml in mozilla xpinstall creating xpi installer modules install wizards (aka: stub installers) mac stub installer unix stub installer windows stub installer
learn xpi installer scripting by example installer script using xpinstall to install plugins install script template xpinstall api reference examples file.macalias ...
List of Former Mozilla-Based Applications - Archive of obsolete content
nicator internet software last news item on site from 2004 chameleon theme builder inactive civil netizen p2p file delivery (email attachment replacement) site not updated since 2006 compuserve client internet software no longer available doczilla sgml/xml/html browser last release on site from july 2005 fabula language
learning application inactive galeon browser last news item on site from september 2006 gencatrss rss reader domain switched over to domain parking service ghostzilla browser archived version of ghostzilla site from 2005 homebase desktop operating environment for internet computers no longer available hp printer assistant printe...
Getting Started - Archive of obsolete content
install your new theme before you can see the changes you make to a seamonkey theme (since live edits are restrictively difficult to set up) you must first
learn how to repackage the classic theme to make it installable.
Creating a Microsummary - Archive of obsolete content
we'll build the xslt transform sheet that converts that page into its microsummary,
learn how to specify that the generator applies to that page, and find out how to make the generator available for download and installation.
Me - Archive of obsolete content
read the experiment report for what we
learned from it and the blog post announcing the first sdk release for what we're up to next!
UI - Archive of obsolete content
read the experiment report for what we
learned from it and the blog post announcing the first sdk release for what we're up to next!
Monitoring downloads - Archive of obsolete content
if you're
learning to use the download manager or storage apis, they're things you might look into doing for practice: add code to update the download log window on the fly, instead of generating a static list when it's first opened.
Mozilla Application Framework - Archive of obsolete content
framework xul a comprehensive, cross-platform ui toolkit with an easy-to-
learn xml language for defining ui structure, a schema for localization, and support for both native and cross-platform (using css) look and feel to make writing uis quick and painless.
Example Sticky Notes - Archive of obsolete content
fax - respond today.</p></div> <div class="sticker"><p>don't forget the eggs!</p></div> <div class="sticker"><p>the new project - who's on charge?</p></div> <div class="sticker"><p>
learn more about xbl.</p></div> <p style="clear: left"><a href="http://validator.w3.org/check?uri=referer"><img src="https://udn.realityripple.com/samples/e2/dd625ef1cd.png" width="88" height="31" alt="valid html 4.01" style="border: 1px none"></a></p> </body> </html> notes.xml <?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymas...
XPInstall - Archive of obsolete content
learn xpi installer scripting by example this article uses the installer script from browser.xpi install package as the basis for discussing xpi installations in general.
Complete - Archive of obsolete content
this page is for readers who have followed the custom toolbar button tutorial for firefox, thunderbird and sunbird, or the custom toolbar button:seamonkey tutorial for seamonkey, and who want to
learn more about developing extensions.
XPCOM Interfaces - Archive of obsolete content
after
learning this section, you can search suitable interfaces using xulplanet xpcom reference about xpcom mozilla is constructed from a collection of components, each of which performs a certain task.
2006-10-26 - Archive of obsolete content
gavin replies that "[t]he log file shows a "no space left on device" error when trying to link the final executable."
learn the traffic magic of search engine cloaking mark describes the magic of search engine cloaker.
2006-10-27 - Archive of obsolete content
gavin replies that "[t]he log file shows a "no space left on device" error when trying to link the final executable."
learn the traffic magic of search engine cloaking mark describes the magic of search engine cloaker.
References - Archive of obsolete content
<- previous section: summary of changes you can
learn more on using web standards from these sites (listed in no particular order): what are web standards and why should i use them?
Styling Abbreviations and Acronyms - Archive of obsolete content
this is to be encouraged, and according to guideline 4 of the web content accessibility guidelines, both elements should be given a title attribute to improve "readability of the web for all people, including those with
learning disabilities, cognitive disabilities, or people who are deaf." the problem authors have discovered that any abbr or acronym that has a title attribute is rendered with a dotted underline, per the following rule in resource://gre-resources/html.css abbr[title], acronym[title] { text-decoration: dotted underline; } the solution if authors wish to remove the underline from abbr and acrony...
Tutorials - Game development
along the way you will
learn the basics of using the <canvas> element to implement fundamental game mechanics like rendering and moving images, collision detection, control machanisms, and winning and losing states.
Abstraction - MDN Web Docs Glossary: Definitions of Web-related terms
example class implementabstraction { // method to set values of internal members set(x, y) { this.a = x; this.b = y; } display() { console.log('a = ' + this.a); console.log('b = ' + this.b); } } const obj = new implementabstraction(); obj.set(10, 20); obj.display(); // a = 10 // b = 20
learn more general knowledge abstraction on wikipedia ...
Accessibility - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge accessibility resources at mdn web accessibility on wikipedia
learn web accessibility
learn accessibility on mdn web accessibility in mind technical reference the aria documentation on mdn the web accessibility initiative homepage the wai-aria recommendation ...
Canvas - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge canvas on wikipedia
learning resources the canvas tutorial on mdn technical information the html <canvas> element on mdn the canvas general documentation on mdn canvasrenderingcontext2d: the canvas 2d drawing api the canvas 2d api specification ...
Cipher suite - MDN Web Docs Glossary: Definitions of Web-related terms
a typical cipher suite looks like ecdhe_rsa_with_aes_128_gcm_sha256 or ecdhe-rsa-aes128-gcm-sha256, indicating: ecdhe (elliptic curve diffie-hellman ephemeral) for key exchange rsa for authentication aes-128 as the cipher, with galois/counter mode (gcm) as the block cipher mode of operation sha-256 as the hash-based message authentication code (hmac)
learn more mozilla recommended cipher suite choices for tls ...
Constructor - MDN Web Docs Glossary: Definitions of Web-related terms
function default() { } // a new reference of a default object assigned to a // local variable defaultreference var defaultreference = new default();
learn more general knowledge constructor on wikipedia technical reference the constructor in object oriented programming for javascript on mdn new operator in javascript on mdn ...
DoS attack - MDN Web Docs Glossary: Definitions of Web-related terms
here is a non-exhaustive list of dos attack types: bandwidth attack service request flood syn flooding attack icmp flood attack peer-to-peer attack permanent dos attack application level flood attack
learn more denial-of-service attack on wikipedia denial-of-service on owasp ddos ...
DTLS (Datagram Transport Layer Security) - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge datagram transport layer security on wikipedia specifications rfc 6347: datagram transport layer security version 1.2 datagram transport layer security protocol version 1.3 draft specification related specifications rfc 5763: framework for establishing a secure real-time transport protocol (srtp) security context using dtls rfc 5764: dtls extension to establ...
Delta - MDN Web Docs Glossary: Definitions of Web-related terms
likewise, given the new value of x and its old value, you might compute the delta like this: let deltax = newx - oldx; more commonly, you receive the delta and use it to update a saved previous condition: let newx = oldx + deltax;
learn more technical reference mouse wheel events (wheelevent offer the amount the wheel moved since the last event in its deltax, deltay, and deltaz properties, for example.
Distributed Denial of Service - MDN Web Docs Glossary: Definitions of Web-related terms
ks to include: unusually slow network performance (opening files or accessing websites) unavailability of a particular website inability to access any website dramatic increase in the number of spam emails received—(this type of dos attack is considered an email bomb) disconnection of a wireless or wired internet connection longterm denial of access to the web or any internet services
learn more general knowledge denial-of-service attack on wikipedia ...
Entity header - MDN Web Docs Glossary: Definitions of Web-related terms
a few request headers after a get request: in the following example, content-length is an entity header, while host and user-agent are requests headers: post /myform.html http/1.1 host: developer.mozilla.org user-agent: mozilla/5.0 (macintosh; intel mac os x 10.9; rv:50.0) gecko/20100101 firefox/50.0 content-length: 128
learn more technical knowledge list of all http headers ...
Flex - MDN Web Docs Glossary: Definitions of Web-related terms
learn more property reference align-content align-items align-self flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap justify-content order further reading css flexible box layout module level 1 specification css flexbox guide: basic concepts of flexbox css flexbox guide: relationship of flexbox to other layout methods css flexbox guide: aligning items in ...
Flexbox - MDN Web Docs Glossary: Definitions of Web-related terms
learn more property reference align-content align-items align-self flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap justify-content order further reading css flexible box layout module level 1 specification css flexbox guide: basic concepts of flexbox css flexbox guide: relationship of flexbox to other layout methods css flexbox guide: aligning items in ...
Function - MDN Web Docs Glossary: Definitions of Web-related terms
tion foo() { console.log('hello foo'); }(); */ // function expressions, named or anonymous, can be called immediately (function foo() { console.log("hello foo"); }()); (function food() { console.log("hello food"); })(); (() => console.log('hello world'))(); if you'd like to know more about iifes, check out the following page on wikipedia : immediately invoked function expression
learn more technical reference functions arrow functions ...
Grid Areas - MDN Web Docs Glossary: Definitions of Web-related terms
der-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } .wrapper { display: grid; grid-template-columns: repeat(3,1fr); grid-template-rows: 100px 100px; grid-template-areas: "a a b" "a a b"; } .item1 { grid-area: a; } .item2 { grid-area: b; } <div class="wrapper"> <div class="item1">item</div> <div class="item2">item</div> </div>
learn more property reference grid-template-columns grid-template-rows grid-auto-rows grid-auto-columns grid-template-areas grid-area further reading css grid layout guide: basic concepts of grid layout css grid layout guide: grid template areas definition of grid areas in the css grid layout specification ...
Grid Cell - MDN Web Docs Glossary: Definitions of Web-related terms
ackground-color: #fff4e6; } .wrapper > div { border: 2px solid #ffa94d; border-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } .wrapper { display: grid; grid-template-columns: repeat(3,1fr); grid-auto-rows: 100px; } <div class="wrapper"> <div>one</div> <div>two</div> <div>three</div> <div>four</div> <div>five</div> </div>
learn more property reference grid-template-columns grid-template-rows grid-auto-rows grid-auto-columns further reading css grid layout guide: basic concepts of grid layout definition of grid cells in the css grid layout specification ...
Grid Lines - MDN Web Docs Glossary: Definitions of Web-related terms
9480f; } <div class="wrapper"> <div class="item">item</div> </div> .wrapper { display: grid; grid-template-columns: [col1-start] 1fr [col2-start] 1fr [col3-start] 1fr [cols-end]; grid-template-rows: [row1-start] 100px [row2-start] 100px [rows-end]; } .item { grid-column-start: col1-start; grid-column-end: col3-start; grid-row-start: row1-start; grid-row-end: rows-end; }
learn more property reference grid-template-columns grid-template-rows grid-column-start grid-column-end grid-column grid-row-start grid-row-end grid-row further reading css grid layout guide: basic concepts of grid layout css grid layout guide: line-based placement with css grid css grid layout guide: layout using named grid lines css grid layout guide: css grids, logical values and...
I18N - MDN Web Docs Glossary: Definitions of Web-related terms
(the w3c definition) among other things, i18n requires support for multiple character sets (usually via unicode) units of measure (currency, °c/°f, km/miles, etc.) time and date formats keyboard layouts text directions
learn more general knowledge i18n on wikipedia technical reference i18n on w3c i18n on gala-global.org
learn about it i18n material on i18nguy.com ...
ICE - MDN Web Docs Glossary: Definitions of Web-related terms
wo peers, trying these options in order: direct udp connection (in this case—and only this case—a stun server is used to find the network-facing address of a peer) direct tcp connection, via the http port direct tcp connection, via the https port indirect connection via a relay/turn server (if a direct connection fails, e.g., if one peer is behind a firewall that blocks nat traversal)
learn more general knowledge webrtc, the principal web-related protocol which uses ice webrtc protocols technical reference rfc 5245, the ietf specification for ice rtcicecandidate, the interface representing a ice candidate ...
Idempotent - MDN Web Docs Glossary: Definitions of Web-related terms
al rows: post /add_row http/1.1 post /add_row http/1.1 -> adds a 2nd row post /add_row http/1.1 -> adds a 3rd row delete /idx/delete http/1.1 is idempotent, even if the returned status code may change between requests: delete /idx/delete http/1.1 -> returns 200 if idx exists delete /idx/delete http/1.1 -> returns 404 as it just got deleted delete /idx/delete http/1.1 -> returns 404
learn more general knowledge definition of idempotent in the http specification.
Immutable - MDN Web Docs Glossary: Definitions of Web-related terms
an object can be immutable for various reasons, for example: to improve performance (no planning for the object's future changes) to reduce memory use (make object references instead of cloning the whole object) thread-safety (multiple threads can reference the same object without interfering with one other)
learn more general knowledge immutable on wikipedia ...
JavaScript - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge javascript on wikipedia
learning javascript the javascript guide on mdn the "javascripting" workshop on nodeschool the javascript course on codecademy.com john resig's
learning advanced javascript technical reference the latest ecmascript standard the javascript reference on mdn the eloquent javascript book ...
Main Axis - MDN Web Docs Glossary: Definitions of Web-related terms
learn more property reference flex-basis flex-direction flex-grow flex-shrink justify-content flex further reading css flexbox guide: basic concepts of flexbox css flexbox guide: aligning items in a flex container css flexbox guide: controlling ratios of flex items along the main axis ...
Media (CSS) - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge using media queries technical reference media queries define a set of characteristics or parameters required to apply the css styles that are specified within the curly braces of the media query; for example: only applying certain css styles for devices below 768 pixels.
Microsoft Internet Explorer - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge internet explorer on wikipedia history of internet explorer on wikipedia internet explorer versions on wikipedia
learning about internet explorer http://windows.microsoft.com/en-us/internet-explorer/download-ie http://windows.microsoft.com/en-us/windows7/getting-started-with-internet-explorer-9 http://windows.microsoft.com/en-us/internet-explorer/internet-explo...
Request header - MDN Web Docs Glossary: Definitions of Web-related terms
l 2016 02:36:04 gmt if-none-match: "c561c68d0ba92bbeb8b0fff2a9199f722e3a621a" cache-control: max-age=0 strictly speaking, the content-length header in this example is not a request header like the others, but an entity header: post /myform.html http/1.1 host: developer.mozilla.org user-agent: mozilla/5.0 (macintosh; intel mac os x 10.9; rv:50.0) gecko/20100101 firefox/50.0 content-length: 128
learn more technical knowledge list of all http headers ...
Scope - MDN Web Docs Glossary: Definitions of Web-related terms
console.log("inside function"); console.log(x); } console.log(x); // causes error however, the following code is valid due to the variable being declared outside the function, making it global: var x = "declared outside function"; examplefunction(); function examplefunction() { console.log("inside function"); console.log(x); } console.log("outside function"); console.log(x);
learn more general knowledge scope (computer science) on wikipedia ...
Semantics - MDN Web Docs Glossary: Definitions of Web-related terms
semantic elements these are some of the roughly 100 semantic elements available: <article> <aside> <details> <figcaption> <figure> <footer> <header> <main> <mark> <nav> <section> <summary> <time>
learn more html element reference on mdn using html sections and outlines on mdn the meaning of semantics in computer science on wikipedia ...
Server - MDN Web Docs Glossary: Definitions of Web-related terms
for example: an internet-connected web server is sending a html file to your browser software so that you can read this page local area network server for file, name, mail, print, and fax minicomputers, mainframes, and super computers at data centers
learn more general knowledge introduction to servers server (computing) on wikipedia ...
Session Hijacking - MDN Web Docs Glossary: Definitions of Web-related terms
protection against session hijacking create a secure communication channel with ssh (secure shell) pass authentication cookies over https connection implement logout functionality so the user can end the session generate the session id after successful login pass encrypted data between the users and the web server use a string or long random number as a session key
learn more general knowledge session hijacking on wikipedia ...
Symbol - MDN Web Docs Glossary: Definitions of Web-related terms
the method symbol.for(tokenstring) returns a symbol value from the registry, and symbol.keyfor(symbolvalue) returns a token string from the registry; each is the other's inverse, so the following is true: symbol.keyfor(symbol.for("tokenstring")) === "tokenstring" // true
learn more general knowledge symbol (programming) on wikipedia javascript data types and data structures symbols in ecmascript 6 symbol in the mdn js reference object.getownpropertysymbols() ...
Vendor Prefix - MDN Web Docs Glossary: Definitions of Web-related terms
e-webkit, versions of opera) ms (internet explorer and microsoft edge) sample usage: var requestanimationframe = window.requestanimationframe || window.mozrequestanimationframe || window.webkitrequestanimationframe || window.orequestanimationframe || window.msrequestanimationframe;
learn more general knowledge vendor prefix on wikipedia ...
WebDAV - MDN Web Docs Glossary: Definitions of Web-related terms
author or creation date) link pages of any media type to related pages create sets of documents and retrieve hierarchical list copy and move webpages lock a document from being edited by more than one person at a time
learn more general knowledge webdav on wikipedia technical reference rfc 2518 rfc 3253 rfc 3744 ...
Web standards - MDN Web Docs Glossary: Definitions of Web-related terms
markup language (e.g., html), style definitions (i.e., css), dom, accessibility iana (internet assigned numbers authority): name and number registries ecma intl.: scripting standards, most prominently for javascript iso (international organization for standardization): standards governing a diverse array of aspects, including character encodings, website management, and user-interface design
learn more general knowledge web standards on wikipedia ...
jQuery - MDN Web Docs Glossary: Definitions of Web-related terms
.ready(function(){ alert("hello world!"); $("#blackbox").hide(); }); the above code carries out the same function as the following code: window.onload = function() { alert("hello world!"); document.getelementbyid("blackbox").style.display = "none"; }; or: window.addeventlistener("load", () => { alert("hello world!"); document.getelementbyid("blackbox").style.display = "none"; });
learn more general knowledge jquery on wikipedia jquery official website technical information offical api reference documentation ...
Property (CSS) - MDN Web Docs Glossary: Definitions of Web-related terms
selector indicating that all the div elements */ /* in the document will be styled by that rule */ div { /* the property "color" with the value "black" indicates */ /* that the text will have the color black */ color: black; /* the property "background-color" with the value "white" indicates */ /* that the background color of the elements will be white */ background-color: white; }
learn more general knowledge
learn css technical reference the css reference on mdn the css working group current work ...
Safe - MDN Web Docs Glossary: Definitions of Web-related terms
a call to a safe method, not changing the state for the server: get /pagex.html http/1.1 a call to a non-safe method, that may change the state of the server: post /pagex.html http/1.1 a call to an idempotent but non-safe method: delete /idx/delete http/1.1
learn more general knowledge definition of safe in the http specification.
Accessibility/LiveRegionDevGuide
for more information about live regions, please read the aria properties spec or the live region report to
learn about aria live region markup and the live region api support document for the latest firefox api with regards to live regions.
Index
learn how to create and share themes!
Theme concepts
return; } currenttheme = theme; browser.theme.update(themes[theme]); }
learn more about dynamic themes and see an additional example in the following video: if you have not built a browser extension before, check out your first extension for a step-by-step guide.
Themes
learn how to create and share themes!
Debugging
debugging update problems
learn how to debug update problems in mozilla-based applications.
Index
found 172 pages: # page tags and summary 1 firefox firefox, landing, mozilla here you can
learn about how to contribute to the firefox project and you will also find links to information about the construction of firefox add-ons, using the developer tools in firefox, and other topics.
Script security
having the browser front end in javascript has benefits: it can be much quicker to develop in javascript than in c++, and contributors do not need to
learn c++.
IPDL Best Practices
reference counting protocol actors is tricky here is the easiest way to get it right the first time (lessons
learned from the http channel and geolocation protocols): allocpprotocol calls addref deallocpprotocol calls release this ensures that the actor will not disappear from under ipdl, and that you won't get bizarre crashes at other times if ipdl deletes the protocol tree.
Extending a Protocol
the webidl for this will be: partial interface navigator { promise<domstring> echo(domstring somestring); };
learning goals are: extending an existing ipdl protocol.
PromiseWorker.jsm
to
learn more on how to achieve this see the section in this article titled transferring special data from main thread to worker.
Index
here you'll
learn the process of using svn to obtain mozilla website source files from the mozilla servers and pushing your localizations right back to them.
Localizing without a specialized tool
if you choose to localize mozilla with nothing more than a text editing application and not a specialized tool, this document (along with create a new localization) will enable you to
learn just what needs to be done.
Initial setup
the svn for localizers guide will help you
learn the most important svn commands for l10n.
SVN for Localizers
here you'll
learn the process of using svn to obtain mozilla website source files from the mozilla servers and pushing your localizations right back to them.
Localization at Mozilla
to
learn how to bootstrap a new locale for mozilla projects, please see those documents ...
Mobile
learn how to make sure your web site works well on different browsers.
TimerFirings logging
(running on mac or linux is obviously necessary to
learn the timer function's name.) this is done by initializing it with initwithnamedfunccallback or initwithnameablefunccallback instead of initwithnamecallback.
Patches and pushes
now that you've made your productization selections, you may be interested in
learning the technical aspects behind productization by creating a productization patch.
Productization guide
for example, putting one sample news feed on the bookmarks toolbar in new profiles in firefox helps in
learning about the live bookmarks.
A guide to searching crash reports
one way to
learn about them is to read lots of individual crash reports; note that all fields shown in the details tab of an individual crash report have a tool-tip that indicates its key for search.
Emscripten
with emscripten, c/c++ developers don’t have the high cost of porting code manually to javascript — or having to
learn javascript at all.
L20n
learn the l20n syntax how to naturally localize applications using l20n.
McCoy
if you want to
learn about the technical details of mccoy then visit the project wiki.
NSS FAQ
how can i
learn more about tls?
NSS 3.28 release notes
ssl_signatureschemeprefget allows an application to
learn the currently supported and enabled signature schemes for a socket.
NSS API Guidelines
if our library is self-consistent with how we accomplish these tasks, it makes it easier for the developer to
learn how to use our functions.
Migration to HG
updated instructions for building nss with nspr can be found at: /docs/nss_reference/building_and_installing_nss/build_instructions it's best to refer to the above document to
learn about the various environment variables that you might have to set to build on your platform (this part hasn't changed).
TLS Cipher Suite Discovery
here are the details of how an nss-based application
learns what cipher suites are supported and obtains the information to display to the user.
Scripting Java
exploratory programming is the process of
learning about what a library or api can do by writing quick programs that use it.
Future directions
and of course, the idea of the future is always evolving in time as things change and we
learn more.
JS_ClearScope
see also js_deleteproperty js_deleteelement js_c
learnonglobalobject js_setallnonreservedslotstoundefined bug 749371 ...
SpiderMonkey 1.8.5
jsautorequest jsautosuspendrequest jsautocheckrequest jsautoentercompartment js::anchor<> js::call obsolete apis js_c
learnewbornroots js_enterlocalrootscope js_leavelocalrootscope js_leavelocalrootscopewithresult js_forgetlocalroot js_newgrowablestring deleted apis js_addnamedroot – use js_add*root js_addnamedrootrt – use js_add*root js_addroot – use js_add*root js_c
learnewbornroots – no longer needed js_clearoperationcallback js_clearregexproots js_decompilescript js_destroyscript js_enterloc...
SpiderMonkey 1.8.7
jsautorequest jsautosuspendrequest jsautocheckrequest jsautoentercompartment js::anchor<> js::call obsolete apis js_c
learnewbornroots js_enterlocalrootscope js_leavelocalrootscope js_leavelocalrootscopewithresult js_forgetlocalroot js_newgrowablestring deleted apis js_getscopechain use js_getglobalforscopechain api changes operation callback js_setoperationcallback was introduced in js 1.8.0, replacing the branch callback, in anticipation of the addition of the tracing jit (tracemonkey).
SpiderMonkey 17
js_isscriptframe jsclass_new_resolve_gets_start flag js_newnumbervalue js_finalizestub js_c
learnewbornroots jsclass_mark_is_trace flag js_setscriptstackquota api changes break out and discuss all api changes here...
SpiderMonkey 38
952650) jsval_is_int (bug 952650) jsval_is_null (bug 952650) jsval_is_number (bug 952650) jsval_is_primitive (bug 952650) jsval_is_string (bug 952650) jsval_is_void (bug 952650) jsval_to_boolean (bug 952650) jsval_to_double (bug 952650) jsval_to_gcthing (bug 952650) jsval_to_int (bug 952650) jsval_to_object (bug 952650) jsval_to_private (bug 952650) jsval_to_string (bug 952650) js_c
learnonglobalobject (bug 1043281) js_clonefunctionobject (bug 1089026) js_compilefunction (bug 1089026) js_compileucfunction (bug 1089026) js_convertarguments (bug 1125784) js_convertargumentsva (bug 1125784) js_convertstub (bug 1103152) js_defineownproperty (bug 1017323) js_deletepropertystub (bug 1103152) js_doubletoint32 (bug 1112774) js_doubletouint32 (bug 1112774) js_enumeratestub (bug ...
Web Replay
learn more web replay allows firefox content processes to record their behavior, replay it later, and rewind to earlier states.
AT APIs Support
refer to accessible web specifications page to
learn what and how markup languages are exposed.
XML Extras
documentation probably the best way to
learn how to use these technologies is through examples.
XPCOM glue
please see xpcom glue without mozalloc to
learn how to create xpcom components that aren't dependant on mozalloc, and thus are compatible with versions of xulrunner prior to 2.0.
XPCOM array guide
see the section on enumerators to
learn when to properly use enumerators.
An Overview of XPCOM
when components are accessed from other languages, as they can be in xpcom, they use the binary type library to access the interface,
learn what methods it supports, and call those methods.
Creating XPCOM components
accordingly, the book is arranged so that you can follow along and create your own components or
learn about different xpcom topics individually, as in a reference work.
XPConnect wrappers
security wrappers exposed to chrome to
learn about security wrappers, see the article on script security in gecko.
xpcshell
learn how to write xpcshell-based unit tests.
XPConnect
wrappers what sorts of wrappers xpconnect generates and uses xpconnect security membranes tools xpcshell join the xpcom community choose your preferred method for joining the discussion: mailing list newsgroup rss feed irc: #developers (
learn more)tools: javascript component wizard, visual c++ component wizard, visual c++ component wizard for visual studio 2010 ...
nsIUpdate
this object also contains information about the update that the front end and other application services can use to
learn more about what is going on.
nsIUserInfo
to get the service, use: var userinfo = components.classes["@mozilla.org/userinfo;1"] .getservice(components.interfaces.nsiuserinfo); you can then look at the userinfo object's attributes to
learn what the system knows about the user.
Setting HTTP request headers
while the previous version we showed before was good for
learning, in an actual real-world application, you'd probably want to code it more like the following.
Frequently Asked Questions
if you're looking here just to
learn about nscomptrs, you'll get a better introduction in the getting started guide.
Reference Manual
several reasons: it would become inconvenient take the address of an nscomptr in all other situations; the name "getter_addrefs" enforces the notion that a certain behavior is required of the getter; and once upon a time, there was another possibility (as you're about to
learn).
XPCOM
join the xpcom community choose your preferred method for joining the discussion: mailing list newsgroup rss feed irc: #developers (
learn more)tools: javascript component wizard, visual c++ component wizard, visual c++ component wizard for visual studio 2010, xpcomviewer addon: browse xpcom interfaces easily ...
Events
this reference will help you track those events down and
learn how to use them.
Mail and RDF
you should
learn about rdf before reading this document or you will be hopelessly confused.
Standard OS Libraries
core foundation to
learn about all the mac os x apis and which library file you will need to call, go to the mac developer library website and find the function, then scroll down to "declared in" section, and find which framework contains the header file.
Browser Console - Firefox Developer Tools
components.utils.import("resource://gre/modules/console.jsm"); console.log("hello from firefox code"); //output messages to the console
learn more: console api reference console.jsm source code in the mozilla dxr hudservice there is also the hudservice which allows access to the browse console.
Index - Firefox Developer Tools
82 performance developer tools,
learn, performance, web performance the performance tool gives you insight into your site's general responsiveness, javascript and layout performance.
Firefox Developer Tools
note: if you are just getting started with web development and using developer tools, our
learning docs will help you — see getting started with the web and what are browser developer tools?
Advanced animations - Web APIs
adding velocity now that we have a ball, we are ready to add a basic animation like we have
learned in the last chapter of this tutorial.
Transformations - Web APIs
« previousnext » earlier in this tutorial we've
learned about the canvas grid and the coordinate space.
Introduction to the DOM - Web APIs
however, you design your test pages, testing the interfaces as you read about them is an important part of
learning how to use the dom effectively.
ElementCSSInlineStyle.style - Web APIs
examples // set multiple styles in a single statement elt.style.csstext = "color: blue; border: 1px solid black"; // or elt.setattribute("style", "color:red; border: 1px solid blue;"); // set specific style while leaving other inline style values untouched elt.style.color = "blue"; getting style information the style property is not useful for completely
learning about the styles applied on the element, since it represents only the css declarations set in the element's inline style attribute, not those that come from style rules elsewhere, such as style rules in the <head> section, or external style sheets.
HTML Drag and Drop API - Web APIs
let img = new image(); img.src = 'example.gif'; ev.datatransfer.setdragimage(img, 10, 10); }
learn more about drag feedback images in: setting the drag feedback image define the drag effect the dropeffect property is used to control the feedback the user is given during a drag-and-drop operation.
IdleDeadline - Web APIs
to
learn more about how request callbacks work, see collaborative scheduling of background tasks.
InputDeviceCapabilities API - Web APIs
input device capabilities concepts and usage because dom events abstract device input, they provide no way to
learn what device or type of device fired an event.
Timing element visibility with the Intersection Observer API - Web APIs
although many aspects of this example will not match real world usage (in particular, the articles all have the same text and aren't loaded from a database, and there are just a handful of simple text-only ads that are selected from an array), this should provide enough understanding of the api to quickly
learn how to apply the intersection observer api to your own site.
Key Values - Web APIs
learn how to use these key values in javascript using keyboardevent.key special values | modifier keys | whitespace keys | navigation keys | editing keys | ui keys | device keys | ime and composition keys | function keys | phone keys | multimedia keys | audio control keys | tv control keys | media controller keys | speech recognition keys | document keys | application selector keys | browser control keys | numeric keypad keys special values values of key which have special meanings other than identifying a specific key or character.
MediaDevices.getUserMedia() - Web APIs
here, indicate we need the ability to use both camera and microphone: <iframe src="https://mycode.example.net/etc" allow="camera;microphone"> </iframe> read our guide, using feature policy, to
learn more about how it works.
MediaDevices - Web APIs
see capabilities and constraints in media capture and streams api (media stream) to
learn more about constraints and how to use them.
MediaStream Recording API - Web APIs
for more information to
learn more about using the mediastream recording api, see using the mediastream recording api, which shows how to use the api to record audio clips.
Media Capture and Streams API (Media Stream) - Web APIs
events addtrack ended muted overconstrained removetrack started unmuted guides and tutorials the articles below provide additional guidance and how-to information that will help you
learn to use the api, and how to perform specific tasks that you may wish to handle.
Navigator.share() - Web APIs
the javascript looks like this: const sharedata = { title: 'mdn', text: '
learn web development on mdn!', url: 'https://developer.mozilla.org', } const btn = document.queryselector('button'); const resultpara = document.queryselector('.result'); // must be triggered some kind of "user activation" btn.addeventlistener('click', async () => { try { await navigator.share(sharedata) resultpara.textcontent = 'mdn shared successfully' } catch(err) { resultpara.t...
NavigatorStorage.storage - Web APIs
the returned object lets you examine and configure persistence of data stores and
learn approximately how much more space your browser has available for local storage use.
ParentNode - Web APIs
see locating dom elements using selectors to
learn how to use css selectors to find nodes or elements of interest.
Multi-touch interaction - Web APIs
ngle touch point ev.target.style.background = "yellow"; break; case 2: // two simultaneous touch points ev.target.style.background = "pink"; break; default: // three or more simultaneous touches ev.target.style.background = "lightblue"; } } event logging these functions are used send to event activity to the application window (to support debugging and
learning about the event flow).
Pinch zoom gestures - Web APIs
function remove_event(ev) { // remove this event from the target's cache for (var i = 0; i < evcache.length; i++) { if (evcache[i].pointerid == ev.pointerid) { evcache.splice(i, 1); break; } } } event logging these functions are used to send event activity to the application's window (to support debugging and
learning about the event flow).
RTCIceRole - Web APIs
you can
learn more about ice roles in choosing a candidate pair in webrtc connectivity.
Multi-touch interaction - Web APIs
e 1: // single tap` ev.target.style.background = "yellow"; break; case 2: // two simultaneous touches ev.target.style.background = "pink"; break; default: // more than two simultaneous touches ev.target.style.background = "lightblue"; } } event logging the functions are used to log event activity to the application window, to support debugging and
learning about the event flow.
Boilerplate 1 - Web APIs
this would allow us to focus on the interesting pieces of code that are most relevant for
learning webgl.
WebGL by example - Web APIs
we believe that it leads to a more effective
learning experience and ultimately a deeper understanding of the underlying concepts.
WebRTC coding guide - Web APIs
if you need to
learn more about the fundamentals of how webrtc and its protocols work, check out our high-level guides for webrtc.
Introduction to WebRTC protocols - Web APIs
for example, lines providing media descriptions have the type "m", so those lines are referred to as "m-lines." for more information to
learn more about sdp, see the following useful resources: specification: rfc 4566: sdp: session description protocol iana registry of sdp parameters ...
Using WebRTC data channels - Web APIs
while there's no way to control the size of the buffer, you can
learn how much data is currently buffered, and you can choose to be notified by an event when the buffer starts to run low on queued data.
WebRTC API - Web APIs
to
learn more about adapter.js, see improving compatibility using webrtc adapter.js.
Using the Web Animations API - Web APIs
writing css animations with the web animations api one of the more familiar ways to approach
learning the web animations api is to start with something most web developers have played with before: css animations.
msWriteProfilerMark - Web APIs
notes mswriteprofilermark enables you to inject dom based performance markers in addition to existing javascript api to
learn exactly when parts of the page are being rendered, building a waterfall view for every one of our impressions showing latency per object, which can be useful for more accurately debugging real users perf issues.
ARIA: contentinfo role - Accessibility
examples <body> <!-- other page content --> <div role="contentinfo"> <h2>mdn web docs</h2> <ul> <li><a href="#">web technologies</a></li> <li><a href="#">
learn web development</a></li> <li><a href="#">about mdn</a></li> <li><a href="#">feedback</a></li> </ul> <p>© 2005-2018 mozilla and individual contributors.
ARIA - Accessibility
learn how to improve accessibility of html forms using additional aria attributes.
CSS Fonts - CSS: Cascading Style Sheets
ariant-caps font-variant-east-asian font-variant-ligatures font-variant-numeric font-variant-position font-variation-settings font-weight line-height at-rules @font-face font-family font-feature-settings font-style font-variant font-weight font-stretch src unicode-range @font-feature-values guides fundamental text and font styling in this beginner's
learning article we go through all the basic fundamentals of text/font styling in detail, including setting font weight, family and style, font shorthand, text alignment and other effects, and line and letter spacing.
CSS Grid Layout - CSS: Cascading Style Sheets
and writing modes css grid layout and accessibility css grid and progressive enhancement realising common layouts using css grid subgrid external resources css grid and ie11 (polyfill) examples from jen simmons grid by example - a collection of usage examples and video tutorials codrops grid reference firefox devtools css grid inspector css grid playground grid garden - a game for
learning css grid specifications specification status comment css grid layout module level 2 working draft added subgrids.
CSS Shapes - CSS: Cascading Style Sheets
shape-outside data types <basic-shape> guides overview of css shapes shapes from box values basic shapes shapes from images edit shape paths in css — firefox developer tools external resources a list of css shapes resources css shapes 101 creating non-rectangular layouts with css shapes how to use css shapes in your web design how to get started with css shapes what i
learned in one weekend with css shapes css vs.
Community - Developer guides
ajax resources ajax workshops and courses skillsmatter.com: courses and events on javascript, ajax, and reverse ajax technologies telerik.com: an active community forum for ajax community.tableau.com: community support forum and courses available for ajax codementor.io: social platform with ajax forums and tutorials lynda.com: tutorials available for
learning the fundamentals of ajax ajax interview questions and answer and answerinterwiki links ...
The Unicode Bidirectional Text Algorithm - Developer guides
in this guide, we'll take a look at the bidi algorithm and
learn in general what it does and how it applies to your content, so that you'll be better prepared when using the features of html and css to which the algorithm applies while determining the order and directionality of text during rendering.
<input type="email"> - HTML: Hypertext Markup Language
browsers that implement the specification should be using an algorithm equivalent to the following regular expression: /^[a-za-z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-za-z0-9](?:[a-za-z0-9-]{0,61} [a-za-z0-9])?(?:\.[a-za-z0-9](?:[a-za-z0-9-]{0,61}[a-za-z0-9])?)*$/ to
learn more about how form validation works and how to take advantage of the :valid and :invalid css properties to style the input based on whether or not the current value is valid, see form data validation.
<tr>: The Table Row element - HTML: Hypertext Markup Language
we have some examples below, but for more examples and an in-depth tutorial, see the html tables series in our
learn web development area, where you'll
learn how to use the table elements and their attributes to get just the right layout and formatting for your tabular data.
contextmenu - HTML: Hypertext Markup Language
i am
learning contextmenu from mdn via mozilla"); } function shareviafacebook() { window.open("https://facebook.com/sharer/sharer.php?u=" + "https://developer.mozilla.org/en/html/element/using_html_context_menus"); } function incfont() { document.getelementbyid("fontsizing").style.fontsize = "larger"; } function decfont() { document.getelementbyid("fontsizing").style.fontsize = "smaller"; } ...
Microformats - HTML: Hypertext Markup Language
microformats2 is an update to microformats that provides a simpler way of annotating html structured syntax & vocabularies than previous approaches of using rdfa and microdata which require
learning new attributes.
HTTP
tutorials
learn how to use http with guides and tutorials.
CSS Houdini
the houdini apis below you can find links to the main reference pages covering the apis that fall under the houdini umbrella, along with links to guides to help you if you need guidance in
learning how to use them.
Grammar and types - JavaScript
to
learn more about javascript's language constructs, see also the following chapters in this guide: control flow and error handling loops and iteration functions expressions and operators in the next chapter, we will have a look at control flow constructs and error handling.
Quantifiers - JavaScript
o>" /<.*?>/ will match "<foo>" examples repeated pattern var wordendingwithas = /\w+a+\b/; var delicatemessage = "this is spartaaaaaaa"; console.table(delicatemessage.match(wordendingwithas)); // [ "spartaaaaaaa" ] counting characters var singleletterword = /\b\w\b/g; var notsolongword = /\b\w{1,6}\b/g; var loooongword = /\b\w{13,}\b/g; var sentence = "why do i have to
learn multiplication table?"; console.table(sentence.match(singleletterword)); // ["i"] console.table(sentence.match(notsolongword)); // [ "why", "do", "i", "have", "to", "
learn", "table" ] console.table(sentence.match(loooongword)); // ["multiplication"] optional character var britishtext = "he asked his neighbour a favour."; var americantext = "he asked his neighbor a favor."; var regexp...
Regular expressions - JavaScript
.getelementbyid('phone'));">check</button> </form> javascript var re = /(?:\d{3}|\(\d{3}\))([-\/\.])\d{3}\1\d{4}/; function testinfo(phoneinput) { var ok = re.exec(phoneinput.value); if (!ok) { console.error(phoneinput.value + ' isn\'t a phone number with area code!'); } else { console.log('thanks, your phone number is ' + ok[0]);} } result tools regexr an online tool to
learn, build, & test regular expressions.
Using Promises - JavaScript
if you think microtasks may help solve this problem, see the microtask guide to
learn more about how to use queuemicrotask() to enqueue a function as a microtask.
Inheritance and the prototype chain - JavaScript
for the best
learning experience, it is highly recommended that you open a console, navigate to the "console" tab, copy-and-paste in the below javascript code, and run it by pressing the enter/return key.
Array.prototype.forEach() - JavaScript
let words = ['one', 'two', 'three', 'four'] words.foreach((word) => { console.log(word) if (word === 'two') { words.shift() //'one' will delete from array } }) // one // two // four console.log(words); //['two', 'three', 'four'] flatten an array the following example is only here for
learning purpose.
Promise - JavaScript
to
learn about the way promises work and how you can use them, we advise you to read using promises first.
WeakMap - JavaScript
you can
learn more about weakmaps in the weakmap object guide (under keyed collections).
Object initializer - JavaScript
(see property accessors for detailed information.) object.foo // "bar" object['age'] // 42 object.foo = 'baz' property definitions we have already
learned how to notate properties using the initializer syntax.
Authoring MathML - MathML
cons: this may be harder to use: people must
learn a syntax, typos in the code may easily lead to parsing or rendering errors etc the interface is not user-friendly: only code editor without immediate display of the mathematical expression.
Web audio codec guide - Web media technologies
joint stereo can reduce the size of the encoded audio to some extent the parameters available—and the range of possible values—varies from codec to codec, and even among different encoding utilities for the same codec, so read the documentation that comes with the encoding software you use to
learn more.
Media container formats (file types) - Web media technologies
index of media container formats (file types) to
learn more about a specific container format, find it in this list and click through to the details, which include information about what the container is typically useful for, what codecs it supports, and which browsers support it, among other specifics.
Codecs used by WebRTC - Web media technologies
see the article handling media support issues in web content to
learn more about how to offer support for your preferred codecs while still being able to fall back on browsers that don't implement that codec.
Using images in HTML - Web media technologies
learn html: responsive images in this article, we'll
learn about the concept of responsive images — images that work well on devices with widely differing screen sizes, resolutions, and other such features — and look at what tools html provides to help implement them.
Progressive loading - Progressive web apps (PWAs)
final thoughts that's all for this tutorial series — we went through the source code of the js13kpwa example app and
learned about the use of progressive web apps features including an introduction, pwa structure, offline availability with service workers, installable pwas, and finally notifications.
Patterns - SVG: Scalable Vector Graphics
25" fill="url(#gradient2)"/> <circle cx="25" cy="25" r="20" fill="url(#gradient1)" fill-opacity="0.5"/> </pattern> </defs> <rect fill="url(#pattern)" stroke="black" width="200" height="200"/> </svg> screenshotlive sample inside the <pattern> element, you can include any of the other basic shapes you've included before, and each of them can be styled using any of the styles you've
learned before, including gradients and opacity.
Web technology for developers
tutorials for web developers a list of tutorials to take you step-by-step through
learning apis, technologies, or broad topic areas.
WebAssembly Concepts - WebAssembly
using assemblyscript for web developers who want to try webassembly without needing to
learn the details of c or rust, assemblyscript will be the best option.
Understanding WebAssembly text format - WebAssembly
putting this together with what we have already
learned, we can finally define a module containing our own simple function: (module (func (param $lhs i32) (param $rhs i32) (result i32) local.get $lhs local.get $rhs i32.add)) this function gets two parameters, adds them together, and returns the result.
Using the WebAssembly JavaScript API - WebAssembly
if you have already compiled a module from another language using tools like emscripten, or loaded and run the code yourself, the next step is to
learn more about using the other features of the webassembly javascript api.