Search completed in 1.40 seconds.
Sending forms through JavaScript - Learn web development
html forms can
send an http request declaratively.
... but forms can also prepare an http request to
send via javascript, for example via xmlhttprequest.
... a form is not always a form with progressive web apps, single page apps, and framework based apps, it's common to use html forms to
send data without loading a new document when response data is received.
...And 24 more matches
Sending form data - Learn web development
we also look at some of the security concerns associated with
sending form data.
...a client (usually a web browser)
sends a request to a server (most of the time a web server like apache, nginx, iis, tomcat, etc.), using the http protocol.
... an html form on a web page is nothing more than a convenient user-friendly way to configure an http request to
send data to a server.
...And 16 more matches
Sending and Receiving Binary Data - Web APIs
var oreq = new xmlhttprequest(); oreq.open("get", "/myfile.png", true); oreq.responsetype = "arraybuffer"; oreq.onload = function (oevent) { var arraybuffer = oreq.response; // note: not oreq.responsetext if (arraybuffer) { var bytearray = new uint8array(arraybuffer); for (var i = 0; i < bytearray.bytelength; i++) { // do something with each byte in the array } } }; oreq.
send(null); you can also read a binary file as a blob by setting the string "blob" to the responsetype property.
...}; oreq.
send(); receiving binary data in older browsers the load_binary_resource() function shown below loads binary data from the specified url, returning it to the caller.
... function load_binary_resource(url) { var req = new xmlhttprequest(); req.open('get', url, false); //xhr binary charset opt by marcus granado 2006 [http://mgran.blogspot.com] req.overridemimetype('text\/plain; charset=x-user-defined'); req.
send(null); if (req.status != 200) return ''; return req.responsetext; } the magic happens in line 5, which overrides the mime type, forcing the browser to treat it as plain text, using a user-defined character set.
...And 13 more matches
RTCRtpSender - Web APIs
the rtcrtp
sender interface provides the ability to control and obtain details about how a particular mediastreamtrack is encoded and sent to a remote peer.
...you can also obtain access to an rtcdtmf
sender which can be used to
send dtmf codes (to simulate the user pressing buttons on a telephone's dial pad) to the remote peer.
... properties rtcrtp
sender.dtmf read only an rtcdtmf
sender which can be used to
send dtmf tones using telephone-event payloads on the rtp session represented by the rtcrtp
sender object.
...And 10 more matches
nsISyncMessageSender
idl file: mozilla-central/source/dom/base/nsimessagemanager.idl inherits from: nsimessagelistenermanager message "
senders" have a single "other side" to which messages are sent.
... for example, a child-process message manager will
send messages that are only delivered to its one parent-process message manager.
... see message manager interfaces for more details on the distinction between message
senders and message broadcasters.
...And 8 more matches
Navigator.sendBeacon() - Web APIs
the navigator.
sendbeacon() method asynchronously
sends a small amount of data over http to a web server.
... syntax navigator.
sendbeacon(url, data); parameters url the url that will receive the data.
... data a arraybuffer, arraybufferview, blob, domstring, formdata, or urlsearchparams object containing the data to
send.
...And 8 more matches
nsIMessageSender
idl file: mozilla-central/source/dom/base/nsimessagemanager.idl inherits from: nsimessagelistenermanager message
senders enable clients to
send asynchronous messages to a single "other side".
... for example, a child-process message manager will
send messages that are only delivered to its one parent-process message manager.
... to
send messages to multiple "other sides", you would use nsimessagebroadcaster.
...And 5 more matches
RTCRtpSender.getCapabilities() static function - Web APIs
the static function rtcrtp
sender.getcapabilities() returns an rtcrtpcapabilities object describing the codecs and capabilities supported by the rtcrtp
sender.
... syntax let rtpcapabilities = rtcrtp
sender.getcapabilities(kind); parameters kind a domstring indicating the type of media for which you wish to get the
sender's capability to receive.
... return value an rtcrtpcapabilities object stating what capabilities the browser has for
sending the specified media kind over an rtcpeerconnection.
...And 5 more matches
RTCRtpSender.setParameters() - Web APIs
the setparameters() method of the rtcrtp
sender interface applies changes the configuration of
sender's track, which is the mediastreamtrack for which the rtcrtp
sender is responsible.
... syntax var promise = rtcrtp
sender.setparameters(parameters) parameters parameters an object conforming with the rtcrtp
sendparameters dictionary, specifying options for the rtcrtp
sender; these include potential codecs that could be use for encoding the
sender's track.
... return value a promise that resolves when the rtcrtp
sender.track property is updated with the given parameters.
...And 5 more matches
XMLHttpRequest.send() - Web APIs
the xmlhttprequest method
send()
sends the request to the server.
...
send() accepts an optional parameter which lets you specify the request's body; this is primarily used for requests such as put.
... syntax xmlhttprequest.
send(body) parameters body optional a body of data to be sent in the xhr request.
...And 5 more matches
XMLHttpRequest.sendAsBinary() - Web APIs
the obsolete xmlhttprequest method
sendasbinary() is a variant of the
send() method that
sends binary data.
... the
send() method now supports binary data and should now be used instead.
...you should instead simply use the
send() method, which now supports binary data in various forms.
...And 5 more matches
RTCDTMFSender - Web APIs
the rtcdtmf
sender interface provides a mechanism for transmitting dtmf codes on a webrtc rtcpeerconnection.
... you gain access to the connection's rtcdtmf
sender through the rtcrtp
sender.dtmf property on the audio track you wish to
send dtmf with.
...fill="#fff" stroke="#d4dde4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">eventtarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#d4dde4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#d4dde4"/><a xlink:href="/docs/web/api/rtcdtmf
sender" target="_top"><rect x="151" y="1" width="130" height="50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="216" y="30" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">rtcdtmf
sender</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} properties rtcdtmf
sender.to...
...And 4 more matches
RTCDataChannel.send() - Web APIs
the
send() method of the rtcdatachannel interface
sends data across the data channel to the remote peer.
... different browsers have different limitations on the size of the message you can
send.
... syntax rtcdatachannel.
send(data); parameters data the data to transmit across the connection.
...And 4 more matches
RTCPeerConnection.getSenders() - Web APIs
the rtcpeerconnection method get
senders() returns an array of rtcrtp
sender objects, each of which represents the rtp
sender responsible for transmitting one track's data.
... a
sender object provides methods and properties for examining and controlling the encoding and transmission of the track's data.
... syntax var
senders = rtcpeerconnection.get
senders(); return value an array of rtcrtp
sender objects, one for each track on the connection.
...And 4 more matches
RTCRtpSendParameters.encodings - Web APIs
the rtcrtp
sendparameters dictionary's encodings property is an rtcrtpencodingparameters object providing configuration settings for the encoder being used for the rtcrtp
sender's track.
... syntax
sendparameters.encodings = encodingparameterlist; encodingparameterlist =
sendparameters.encodings; value an array of objects conforming to the rtcrtpencodingparameters dictionary, each of which contains properties which provide settings and parameters that describe and configure a single codec that could be used to encode the track.
...that is, for rtp
senders, the encoding is currently being used to
send data, while for receivers, the encoding is being used to decode received data.
...And 4 more matches
RTCRtpSender.setStreams() - Web APIs
the rtcrtp
sender method setstreams() associates the
sender's track with the specified mediastream or array of mediastream objects.
... syntax rtcrtp
sender.setstreams(mediastream); rtcrtp
sender.setstreams([mediastream...]); parameters mediastream or [mediastream...] optional an mediastream object—or an array of multiple mediastream objects—identifying the streams to which the rtcrtp
sender's track belongs.
... exceptions invalidstateerror the
sender's connection is closed.
...And 4 more matches
RTCRtpSender.transport - Web APIs
the read-only transport property of an rtcrtp
sender object provides the rtcdtlstransport object used to interact with the underlying transport over which the
sender is exchanging real-time transport control protocol (rtcp) packets.
... this transport is responsible for receiving the data for the media on the
sender's track.
... syntax let transport = rtcrtp
sender.transport; value an rtcdtlstransport object representing the underlying transport being used by the
sender to exchange packets with the remote peer, or null if the
sender isn't yet connected to a transport.
...And 4 more matches
nsIMsgSendLater
the nsimsg
sendlater interface provides functions for managing the unsent folder of a messaging account.
... inherits from: nsistreamlistener implemented by: @mozilla.org/messengercompose/
sendlater;1.
... to create an instance, use var msg
sendlater = components.classes["@mozilla.org/messengercompose/
sendlater;1"] .getservice(components.interfaces.nsimsg
sendlater); method overview void
sendunsentmessages(in nsimsgidentity identity); void removelistener(in nsimsg
sendlaterlistener listener); void addlistener(in nsimsg
sendlaterlistener listener); nsimsgfolder getunsentmessagesfolder](in nsimsgidentity identity); attributes attribute type description msgwindow nsimsgwindow methods
sendunsentmessages()
sends all unsent messages for an identity.
...And 3 more matches
RTCDTMFSender.toneBuffer - Web APIs
the rtcdtmf
sender interface's tonebuffer property returns a string containing a list of the dtmf tones currently queued for
sending to the remote peer over the rtcpeerconnection.
... syntax var tonebuffer = rtcdtmf
sender.tonebuffer; value a domstring listing the tones to be played.
... the comma (",") this character instructs the dialing process to pause for two seconds before
sending the next character in the buffer.
...And 3 more matches
RTCRtpSender.replaceTrack() - Web APIs
the rtcrtp
sender method replacetrack() replaces the track currently being used as the
sender's source with a new mediastreamtrack.
... syntax trackreplacedpromise =
sender.replacetrack(newtrack); parameters newtrack optional a mediastreamtrack specifying the track with which to replace the rtcrtp
sender's current source track.
... if newtrack was omitted or was null, replacetrack() simply stops the
sender.
...And 3 more matches
WebSocket.send() - Web APIs
the websocket.
send() method enqueues the specified data to be transmitted to the server over the websocket connection, increasing the value of bufferedamount by the number of bytes needed to contain the data.
... syntax websocket.
send("hello server!"); parameters data the data to
send to the server.
... 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.
...And 3 more matches
RTCDTMFSender.insertDTMF() - Web APIs
the insertdtmf() method on the rtcdtmf
sender interface starts
sending dtmf tones to the remote peer over the rtcpeerconnection.
...
sending of the tones is performed asynchronously, with tonechange events sent to the rtcdtmf
sender every time a tone starts or ends.
... as long as the connection is active, you can
send tones at any time.
...And 2 more matches
RTCRtpSender.getParameters() - Web APIs
the getparameters() method of the rtcrtp
sender interface returns an rtcrtp
sendparameters object describing the current configuration for the encoding and transmission of media on the
sender's track.
... syntax var rtp
sendparameters = rtp
sender.getparameters() parameters none.
... return value an rtcrtp
sendparameters object indicating the current configuration of the
sender.
...And 2 more matches
RTCRtpSender.getStats() - Web APIs
the rtcrtp
sender method getstats() asynchronously requests an rtcstatsreport object which provides statistics about outgoing traffic on the rtcpeerconnection which owns the
sender, returning a promise which is fulfilled when the results are available.
... syntax var promise = rtcrtp
sender.getstats(); return value a javascript promise which is fulfilled once the statistics are available.
... the returned rtcstatsreport accumulates the statistics for all of the streams being sent using the rtcrtp
sender, as well as the statistics for any dependencies those streams have.
...And 2 more matches
RTCRtpSender.dtmf - Web APIs
the read-only dtmf property on the rtcrtp
sender interface returns a rtcdtmf
sender object which can be used to
send dtmf tones over the rtcpeerconnection .
... see using dtmf for details on how to make use of the returned rtcdtmf
sender object.
... syntax var dtmf
sender = rtcrtp
sender.dtmf; value an rtcdtmf
sender which can be used to
send dtmf over the rtp session, or null if the track being carried by the rtp session or the rtcpeerconnection as a whole doesn't support dtmf.
... only audio tracks can support dtmf, and typically only one audio track per rtcpeerconnection will have an associated rtcdtmf
sender example tbd specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcrtp
sender.dtmf' in that specification.
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.
... syntax instanceofhtmliframeelement.
sendmouseevent(type, x, y, button, clickcount, modifiers); returns void.
... examples var browser = document.queryselector('iframe'); browser.
sendmouseevent("mousemove", x, y, 0, 0, 0); browser.
sendmouseevent("mousedown", x, y, 0, 1, 0); browser.
sendmouseevent("mouseup", x, y, 0, 1, 0); specification not part of any specification.
HTMLIFrameElement.sendTouchEvent()
the
sendtouchevent() method of the htmliframeelement allows you to fake a touch event and
send it to the browser <iframe>'s content.
... syntax instanceofhtmliframeelement.
sendtouchevent(type, x, y, rx, ry, rotationangles, forces, count, modifiers); returns void.
... examples var browser = document.queryselector('iframe'); browser.
sendtouchevent("touchstart", [1], [x], [y], [2], [2], [20], [0.5], 1, 0); specification not part of any specification.
PR_Send
sends bytes from a connected socket.
... syntax #include <prio.h> print32 pr_
send( prfiledesc *fd, const void *buf, print32 amount, printn flags, printervaltime timeout); parameters the function has the following parameters: fd a pointer to a prfiledesc object representing a socket.
... description pr_
send blocks until all bytes are sent, a timeout occurs, or an error occurs.
PR_SendTo
sends bytes a socket to a specified destination.
... syntax #include <prio.h> print32 pr_
sendto( prfiledesc *fd, const void *buf, print32 amount, printn flags, const prnetaddr *addr, printervaltime timeout); parameters the function has the following parameters: fd a pointer to a prfiledesc object representing a socket.
... description pr_
sendto
sends a specified number of bytes from a socket to the specified destination address.
RTCRtpSendParameters - Web APIs
the webrtc api's rtcrtp
sendparameters dictionary is used to specify the parameters for an rtcrtp
sender when calling its setparameters() method.
... properties in addition to the properties below, rtcrtp
sendparameters inherits the properties from the rtcrtpparameters interface.
... specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcrtp
sendparameters' in that specification.
RTCRtpSender.track - Web APIs
the track read-only property of the rtcrtp
sender interface returns the mediastreamtrack which is being handled by the rtcrtp
sender.
... syntax var mediastreamtrack = rtcrtp
sender.track value a mediastreamtrack object representing the media associated with the rtcrtp
sender.
... if no track is associated with the
sender, this value is null, in which case the
sender transmits nothing.
RTCRtpTransceiver.sender - Web APIs
the read-only
sender property of webrtc's rtcrtptransceiver interface indicates the rtcrtp
sender responsible for encoding and
sending outgoing media data for the transceiver's stream.
... syntax var rtp
sender = rtcrtptransceiver.
sender; value an rtcrtp
sender object used to encode and
send media whose media id matches the current value of mid.
... specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcrtptransceiver.
sender' in that specification.
XDomainRequest.send() - Web APIs
sends an xdomainrequest which has previously been opened calling xdomainrequest.open().
... syntax xdr.
send(data); parameters data the form data to be sent with the request.
... example var xdr = new xdomainrequest(); xdr.open("post", "http://example.com/api/method"); xdr.onload = function(){ //handle response with xdr.responsetext } xdr.
send("param1=value1¶m2=value2"); specification not part of any specification.
RTCDTMFSender.ontonechange - Web APIs
the ontonechange property of the rtcdtmf
sender interface is used to set the event handler for the tonechange event, which is sent to the rtcdtmf
sender each time a tone begins or ends.
... syntax rtcdtmf
sender.ontonechange = tonechangehandlerfunction; value a function which is called when a tonechange event is sent to the rtcdtmf
sender, indicating that a dtmf tone has either started playing, or if all tones have finished playing.
RTCDTMFSender: tonechange event - Web APIs
the tonechange event is sent to an rtcdtmf
sender by the webrtc api to indicate when dtmf tones previously queued for
sending (by calling rtcdtmf
sender.insertdtmf()) begin and end.
... this can be done using addeventlistener(): dtmf
sender.addeventlistener("tonechange", ev => { let tone = ev.tone; if (tone === "") { tone = "<none>"; } document.getelementbyid("playingtone").innertext = tone; }, false); you can also just set the ontonechange event handler property directly: dtmf
sender.ontonechange = function( ev ) { let tone = ev.tone; if (tone === "") { tone = "<none>" } document.getelement...
Index - Web APIs
369 broadcastchannel.postmessage() api, broadcast channel api, broadcastchannel, experimental, html api, method, reference the broadcastchannel.postmessage()
sends a message, which can be of any kind of object, to each listener in any browsing context with the same origin.
... 627 client.postmessage() api, client, experimental, method, reference, service workers, service worker api, serviceworker, postmessage the postmessage() method of client allows a service worker to
send a message to a client (a window, worker, or sharedworker).
... 819 dedicatedworkerglobalscope.postmessage() api, dedicatedworkerglobalscope, method, reference, référence(2), web workers, postmessage the postmessage() method of the dedicatedworkerglobalscope interface
sends a message to the main thread that spawned it.
...And 104 more matches
nsIDOMWindowUtils
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
sendcontentcommandevent(in astring atype, [optional] in nsitransferable atransferable); void getclassname(in object aobj); boolean
sendkeyevent(in astring atype, in long akeycode, in long a...
...charcode, 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, [optional] in unsigned long aadditionalflags); deprecated since gecko 38.0 void
sendmouseevent(in astring atype, in float ax, in float ay, in long abutton, in long aclickcount, in long amodifiers, [optional] in boolean aignorerootscrollframe); void
sendmouseeventtowindow(in astring atype, in float ax, in float ay, in long abutton, in long aclickcount, in long amodifiers, [optional] in boolean aignorerootscrollframe); void
sendmousescrollevent(in astring atype, in float ax, in float ay, in long abutton, in long ascrollflags, in long adelta, in long amodifiers); obso...
...lete since gecko 17.0 void
sendwheelevent(in float ax, in float ay, in double adeltax, in double adeltay, in double adeltaz, in unsigned long adeltamode, in long amodifiers, in long alineorpagedeltax, 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); nsiquerycontenteventresult
sendquerycontentevent(in unsigned long atype, in unsigned long aoffset, in unsigned long alength, in long ax, in long ay); obsolete since gecko 31.0 nsiquerycontenteventres...
...And 70 more matches
Mail composition back end
pizzarro <rhp@netscape.com> contents overview
sending messages nsimsg
send sending listener interfaces nsimsg
sendlistener 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.
...
sending messages the primary responsibility of the back end is for the creation and
sending of rfc822 messages.
... the interface that accomplishes this task is the nsimsg
send interface.
...And 49 more matches
Signaling and video calling - Web APIs
what does matter is when the ice subsystem instructs you to
send signaling data to the other peer, you do so, and the other peer knows how to receive this information and deliver it to its own ice subsystem.
... readying the chat server for signaling our chat server uses the websocket api to
send information as json strings between each client and the server.
... the server supports several message types to handle tasks, such as registering new users, setting usernames, and
sending public chat messages.
...And 43 more matches
Using Objective-C from js-ctypes
send a message to the class, with the selector.
... typedef struct objc_selector *sel; in this example, we need to
send alloc, its selector can be retrieved with the following code: sel alloc = sel_registername("alloc");
sending a message once target class and selector are ready, you can
send a message.
... this message can be sent using the objc_msg
send function, and its variants, which are declared in /usr/include/objc/message.h.
...And 25 more matches
Writing WebSocket servers - Web APIs
websocket servers are often separate and specialized servers (for load-balancing or other practical reasons), so you will often use a reverse proxy (such as a regular http server) to detect websocket handshakes, pre-process them, and
send those clients to a real websocket server.
...the client will
send a pretty standard http request with headers that looks like this (the http version must be 1.1 or greater, and the method must be get): get /chat http/1.1 host: example.com:8000 upgrade: websocket connection: upgrade sec-websocket-key: dghlihnhbxbszsbub25jzq== sec-websocket-version: 13 the client can solicit extensions and/or subprotocols here; see miscellaneous for details.
... tip: all browsers
send an origin header.
...And 25 more matches
Using DTMF with WebRTC - Web APIs
in order to more fully support audio/video conferencing, webrtc supports
sending dtmf to the remote peer on an rtcpeerconnection.
... this article offers a brief high-level overview of how dtmf works over webrtc, then provides a guide for everyday developers about how to
send dtmf over an rtcpeerconnection.
... webrtc doesn't
send dtmf codes as audio data.
...And 24 more matches
Using XMLHttpRequest - Web APIs
to
send an http request, create an xmlhttprequest object, open a url, and
send the request.
... function reqlistener () { console.log(this.responsetext); } var oreq = new xmlhttprequest(); oreq.addeventlistener("load", reqlistener); oreq.open("get", "http://www.example.org/example.txt"); oreq.
send(); types of requests a request made via xmlhttprequest can fetch the data in one of two ways, asynchronously or synchronously.
... handling binary data although xmlhttprequest is most commonly used to
send and receive textual data, it can be used to
send and receive binary content.
...And 23 more matches
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).
... the tutorial is designed for browser engineers who are implementing dom/web apis that need to, for example,
send a message to the os or spin up something off the main thread - so it's biased towards supporting w3c/whatwg dom apis.
...then we will
send that same string back to the child process.
...And 19 more matches
HTTP Index - HTTP
45 http cookies advertising, browser, cookies, cookies article, guide, http, history, javascript, privacy, protocols, server, storage, web development, data, request, tracking an http cookie (web cookie, browser cookie) is a small piece of data that a server
sends to the user's web browser.
... the browser may store it and
send it back with the next request to the same server.
... 61 access-control-request-headers cors, http, reference, header the access-control-request-headers request header is used by browsers when issuing a preflight request, to let the server know which http headers the client might
send when the actual request is made.
...And 19 more matches
ui/frame - Archive of obsolete content
so there are three cases to consider:
sending messages from a frame script to the main add-on code
sending messages from the main add-on code to all instances of a frame, across all browser windows
sending messages from the main add-on code to a single instance of a frame, attached to a specific browser window in all cases, postmessage() takes two arguments: the message itself and a targetorigin.
... from frame to add-on to
send a message from a frame script to the add-on, use window.parent.postmessage().
... if the frame script initiates the conversation, you need to specify "*" as the origin: window.parent.postmessage("ping", "*"); if the frame script has received a message from the add-on already, it can use the origin property of the event object passed to the message hander: // listen for messages from the add-on, and
send a reply window.addeventlistener("message", function(event) { event.source.postmessage("pong", event.origin) }, false); this frame script listens to change events on the "city-selector" <select> element, and
sends a message to the add-on containing the value for the newly selected element.
...And 16 more matches
Introduction to the Real-time Transport Protocol (RTP) - Web APIs
these correspond to the following three types of transport supported by rtcpeerconnection: rtcrtp
sender rtcrtp
senders handle the encoding and transmission of mediastreamtrack data to a remote peer.
... the
senders for a given connection can be obtained by calling rtcpeerconnection.get
senders().
... rtcrtptransceiver an rtcrtptransceiver is a pair of one rtp
sender and one rtp receiver which share an sdp mid attribute, which means they share the same sdp media m-line (representing a bidirectional srtp stream).
...And 16 more matches
IPDL Tutorial
this generated code manages the details of the underlying communication layer (sockets and pipes), constructing and
sending messages, ensuring that all actors adhere to their specifications, and handling many error conditions.
...each incoming message is a pure-virtual c++ method which must be implemented: class ppluginparent { public: bool
sendinit(const nscstring& pluginpath) { // generated code to
send an init() message } bool
sendshutdown() { // generated code to
send a shutdown() message } protected: /** * a subclass of ppluginparent must implement this method to handle the ready() message.
... */ bool recvready() = 0; }; class ppluginchild { protected: bool recvinit(const nscstring& pluginpath) = 0; bool recvshutdown() = 0; public: bool
sendready() { // generated code to
send a ready() message } }; these parent and child abstract classes take care of all the "protocol layer" concerns: serializing data,
sending and receiving messages, and checking protocol safety.
...And 15 more matches
Establishing a connection: The WebRTC perfect negotiation pattern - Web APIs
a polite peer, essentially, is one which may
send out offers, but then responds if an offer arrives from the other peer with "okay, never mind, drop my offer and i'll consider yours instead." an impolite peer, which always ignores incoming offers that collide with its own offers.
...if the polite peer is the caller and it
sends an offer but there's a collision with the impolite peer, the polite peer drops its offer and instead replies to the offer it has received from the impolite peer.
... handling the negotiationneeded event first, we implement the rtcpeerconnection event handler onnegotiationneeded to get a local description and
send it using the signaling channel to the remote peer.
...And 15 more matches
Codecs used by WebRTC - Web media technologies
this is done by
sending an a=imageattr sdp attribute to indicate the maximum resolution that is acceptable.
... the
sender is not required to support this mechanism, however, so you have to be prepared to receive media at a different resolution than you requested.
...this helps to avoid a jarring effect that can occur when voice activation and similar features cause a stream to stop
sending data temporarily—a capability known as discontinuous transmission (dtx).
...And 15 more matches
Introduction to SSL - Archive of obsolete content
this confirmation might be important if the user, for example, is
sending a credit card number over the network and wants to check the receiving server's identity.
...this confirmation might be important if the server, for example, is a bank
sending confidential financial information to a customer and wants to check the recipient's identity.
... an encrypted ssl connection requires all information sent between a client and a server to be encrypted by the
sending software and decrypted by the receiving software, thus providing a high degree of confidentiality.
...And 13 more matches
Index
however, such decoders relied on servers
sending correct mime types; images sent with incorrect mime types would not be correctly displayed.
... 403 nsiclipboarddragdrophooks clipboard, interfaces, interfaces:scriptable, xpcom, xpcom api reference, xpcom interface reference embedders who want to have these hooks made available should implement nsiclipboarddragdrophooks and use the command manager to
send the appropriate commands with these parameters/settings: 404 nsiclipboardhelper clipboard, interfaces, interfaces:scriptable, xpcom, xpcom api reference, xpcom interface reference this method copies string to (default) clipboard.
...it enables these scripts to receive messages from the chrome process and
send messages back to the chrome process.
...And 13 more matches
RTCPeerConnection.addTrack() - Web APIs
syntax rtp
sender = rtcpeerconnection.addtrack(track, stream...); parameters track a mediastreamtrack object representing the media track to add to the peer connection.
... return value the rtcrtp
sender object which will be used to transmit the media data.
... note: every rtcrtp
sender is paired with an rtcrtpreceiver to make up an rtcrtptransceiver.
...And 13 more matches
RTCPeerConnection.createOffer() - Web APIs
offertoreceiveaudio optional (legacy) a legacy boolean option which used to control whether or not to offer to the remote peer the opportunity to try to
send audio.
... if this value is false, the remote peer will not be offered to
send audio data, even if the local side will be
sending audio data.
... if this value is true, the remote peer will be offered to
send audio data, even if the local side will not be
sending audio data.
...And 13 more matches
Index - HTTP
it allows caches to be more efficient, and saves bandwidth, as a web server does not need to
send a full response if the content has not changed.
...for get and head methods, the server will
send back the requested resource only if it matches one of the listed etags.
... 78 if-modified-since conditional requests, http, http header, reference, request header the if-modified-since request http header makes the request conditional: the server will
send back the requested resource, with a 200 status, only if it has been last modified after the given date.
...And 13 more matches
Introduction to Public-Key Cryptography - Archive of obsolete content
encryption and decryption allow two communicating parties to disguise information they
send to each other.
... the
sender encrypts, or scrambles, information before
sending it.
... authentication allows the recipient of information to determine its origin-that is, to confirm the
sender's identity.
...And 12 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.
... content to chrome the frame script can choose to
send synchronous or asynchronous messages to chrome code.
... asynchronous messaging to
send an asynchronous message the frame script uses the global
sendasyncmessage() function: // frame script
sendasyncmessage("my-addon@me.org:my-e10s-extension-message");
sendasyncmessage() takes one mandatory parameter, which is the name of the message.
...And 12 more matches
Message manager overview
similarly, if you
send a message using the global frame message manager, it's received by all content tabs, and is then delivered to any frame scripts that are listening for it.
... its most important functions and attributes are: childcount : contains the number of children (typically, browser windows) getchildat() : get the child at the given index loadframescript() : load a frame script into every tab in the browser broadcastasyncmessage() :
send a message to frame scripts addmessagelistener() : start listening to a specific message from all frame scripts removemessagelistener() : stop listening to a specific message interfaces nsiframescriptloader nsimessagelistenermanager nsimessagebroadcaster how to access access it using components.classes: // chrome script let globalmm = cc["@mozilla.org/globalmessagemanager;1"] .getservice(ci.nsimessagelistenermanager); you can al...
...if you
send a message using the window message manager, it gets sent to all content tabs in that window.
...And 12 more matches
Cross-Origin Resource Sharing (CORS) - HTTP
additionally, for http request methods that can cause side-effects on server data (in particular, http methods other than get, or post with certain mime types), the specification mandates that browsers "preflight" the request, soliciting supported methods from the server with the http options request method, and then, upon "approval" from the server,
sending the actual request.
... 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.
...code of this sort might be used in javascript deployed on foo.example: const xhr = new xmlhttprequest(); const url = 'https://bar.other/resources/public-data/'; xhr.open('get', url); xhr.onreadystatechange = somehandler; xhr.
send(); this performs a simple exchange between the client and the server, using cors headers to handle the privileges: let's look at what the browser will
send to the server in this case, and let's see how the server responds: get /resources/public-data/ http/1.1 host: bar.other user-agent: mozilla/5.0 (macintosh; intel mac os x 10.14; rv:71.0) gecko/20100101 firefox/71.0 accept: text/html,appl...
...And 12 more matches
Streams - Plugins
« previousnext » this chapter describes using plug-in api functions to receive and
send streams.
... receiving a stream
sending a stream receiving a stream when the browser
sends a data stream to the plug-in, it has several tasks to perform: telling the plug-in when a stream is created telling the plug-in when a stream is deleted finding out how much data the plug-in can accept writing the stream to the plug-in
sending the stream in random-access mode
sending the stream in file mode telling the plug-in whe...
...this method also determines which mode it should use to
send data to the plug-in.
...And 11 more matches
Web Console remoting - Firefox Developer Tools
when navigation stops the following packet is sent: { "from": tabactor, "type": "tabnavigated", "state": "stop", "url": newurl, "title": newtitle, "nativeconsoleapi": true|false } getcachedmessages(types, onresponse) the webconsoleclient.getcachedmessages(types, onresponse) method
sends the following packet to the server: { "to": "conn0.console9", "type": "getcachedmessages", "messagetypes": [ "pageerror", "consoleapi" ] } the getcachedmessages packet allows one to retrieve the cached messages from before the web console was open.
...], "from": "conn0.console9" } each message in the array is of the same type as when we
send typical page errors and console api calls.
...
send http requests starting with firefox 25 you can
send an http request using the console actor: { "to": "conn0.console9", "type": "
sendhttprequest", "request": { "url": "http://localhost", "method": "get", "headers": [ { name: "header-name", value: "header value", }, // ...
...And 11 more matches
A simple RTCDataChannel sample - Web APIs
the rtcdatachannel interface is a feature of the webrtc api which lets you open a channel between two peers over which you may
send and receive arbitrary data.
... first, we have a couple of buttons for establishing and closing the connection: <button id="connectbutton" name="connectbutton" class="buttonleft"> connect </button> <button id="disconnectbutton" name="disconnectbutton" class="buttonright" disabled> disconnect </button> then there's a box which contains the text input box into which the user can type a message to transmit, with a button to
send the entered text.
... <div class="messagebox"> <label for="message">enter a message: <input type="text" name="message" id="message" placeholder="message text" inputmode="latin" size=60 maxlength=120 disabled> </label> <button id="
sendbutton" name="
sendbutton" class="buttonright" disabled>
send </button> </div> finally, there's the little box into which we'll insert the messages.
...And 11 more matches
Getting Started - Developer guides
it can
send and receive information in various formats, including json, xml, html, and text files.
...}; next, after declaring what happens when you receive the response, you need to actually make the request, by calling the open() and
send() methods of the http request object, like this: httprequest.open('get', 'http://www.example.org/some.file', true); httprequest.
send(); the first parameter of the call to open() is the http request method – get, post, head, or another method supported by your server.
... the second parameter is the url you're
sending the request to.
...And 11 more matches
Your first form - Learn web development
forms allow users to enter data, which is generally sent to a web server for processing and storage (see
sending form data later in the module), or used on the client-side to immediately update the interface in some way (for example, add another item to a list, or show or hide a ui feature).
...we are asking the user for their name, their e-mail and the message they want to
send.
... hitting the button will
send their data to a web server.
...And 10 more matches
Using Web Workers - Web APIs
once created, a worker can
send messages to the javascript code that created it by posting messages to an event handler specified by that code (and vice versa).
... data is sent between workers and the main thread via a system of messages — both sides
send their messages using the postmessage() method, and respond to messages via the onmessage event handler (the message is contained within the message event's data attribute.) the data is copied rather than shared.
...all you need to do is call the worker() constructor, specifying the uri of a script to execute in the worker thread (main.js): var myworker = new worker('worker.js');
sending messages to and from a dedicated worker the magic of workers happens via the postmessage() method and the onmessage event handler.
...And 10 more matches
panel - Archive of obsolete content
/icon-64.png" }, onchange: handlechange }); var mypanel = sdkpanels.panel({ contenturl: self.data.url("panel.html"), onhide: handlehide }); function handlechange(state) { if (state.checked) { mypanel.show({ position: button }); } } function handlehide() { button.state('window', {checked: false}); } updating panel content you can update the panel's content by:
sending a message to a content script that updates the dom in the same document.
...so implementing a complete solution usually means you have to
send messages between the content script and the main add-on code.
... for example, here's an add-on whose content script intercepts mouse clicks on links inside the panel, and
sends the target url to the main add-on code.
...And 9 more matches
Index - MDN Web Docs Glossary: Definitions of Web-related terms
54 csrf glossary, security csrf (cross-site request forgery) is an attack that impersonates a trusted user and
sends a website unwanted commands.
...challenge-response protocols are one way to fight against replay attacks where an attacker listens to the previous messages and re
sends them at a later time to get the same credentials as the original message.
...gzip is commonly supported by web servers and modern browsers, meaning that servers can automatically compress files with gzip before
sending them, and browsers can uncompress files upon receiving them.
...And 9 more matches
Introduction to the server side - Learn web development
it can even allow interaction with users of the site,
sending notifications and updates via email or through other channels.
...when a user wants to navigate to a page, the browser
sends an http "get" request specifying its url.
...
sending notifications).
...And 9 more matches
RTCOutboundRtpStreamStats - Web APIs
the rtcoutboundrtpstreamstats dictionary is the rtcstats-based object which provides metrics and statistics related to an outbound rtp stream being sent by an rtcrtp
sender.
... fircount an integer value which indicates the total number of full intra request (fir) packets which this rtcrtp
sender has sent to the remote rtcrtpreceiver.
... framesencoded the number of frames that have been successfully encoded so far for
sending on this rtp stream.
...And 9 more matches
window.postMessage() - Web APIs
failing to provide a specific target discloses the data you
send to any interested malicious site.
...the ownership of these objects is given to the destination side and they are no longer usable on the
sending side.
... if you do expect to receive messages from other sites, always verify the
sender's identity using the origin and possibly source properties.
...And 9 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); }); driver.findelement(by.name('btnk')).click(); driver.sleep(2000).then(function() { driver.gettitle().then(function(title) { if(title === 'webdriver - google search') { console.log('test passed'); } else { console.log('test failed'); } driver.qu...
...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'); driver.findelement(by.name('q')).
sendkeys('webdriver'); driver.sleep(1000).then(function() { driver.findelement(by.name('q')).
sendkeys(webdriver.key.tab); }); driver.findelement(by.name('btnk')).click(); driver.sleep(2000).then(function() { driver.gettitle().then(function(title) { if(title === 'webdriver - google search') { console.log('test passed'); } else { console.log('test failed');...
...add the following code and try running your test again: const input = driver.findelement(by.id('name')); input.
sendkeys('filling in my form'); you can submit key presses that can't be represented by normal characters using properties of the webdriver.key object.
...And 8 more matches
Using FormData Objects - Web APIs
the formdata object lets you compile a set of key/value pairs to
send using xmlhttprequest.
... it is primarily intended for use in
sending form data, but can be used independently from forms in order to transmit keyed data.
... the transmitted data is in the same format that the form's submit() method would use to
send the data if the form's encoding type were set to multipart/form-data.
...And 8 more matches
Communicating With Other Scripts - Archive of obsolete content
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.
... messaging from content script to page script suppose we have a page called "listen.html" hosted at "my-domain.org", and we want to
send messages from the add-on to a script embedded in that page.
... in the main add-on code, we have a page-mod that attaches the content script "talk.js" to the right page: var data = require("sdk/self").data; var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "http://my-domain.org/listen.html", contentscriptfile: data.url("talk.js") }); the "talk.js" content script uses window.postmessage() to
send the message to the page: // content-script (talk.js) window.postmessage("message from content script", "http://my-domain.org/"); the second argument may be '*' which will allow communication with any domain.
...And 7 more matches
Interacting with page scripts - Archive of obsolete content
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 objec...
... content script to page script suppose we have a page called "listen.html" hosted at "my-domain.org", and we want to
send messages from the add-on to a script embedded in that page.
... in the main add-on code, we have a page-mod that attaches the content script "talk.js" to the right page: var data = require("sdk/self").data; var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "http://my-domain.org/listen.html", contentscriptfile: data.url("talk.js") }); the "talk.js" content script uses window.postmessage() to
send the message to the page: // talk.js window.postmessage("message from content script", "http://my-domain.org/"); the second argument may be '*' which will allow communication with any domain.
...And 7 more matches
ui/sidebar - Archive of obsolete content
communicating with sidebar scripts you can't directly access your sidebar's content from your main add-on code, but you can
send messages between your main add-on code and scripts loaded into your sidebar.
... on the sidebar end of the conversation, sidebar scripts get a global variable addon that contains a port for
sending and receiving messages.
... on the add-on side, you need to get a worker object for the sidebar before you can
send or receive messages.
...And 7 more matches
Interaction between privileged and non-privileged pages - Archive of obsolete content
sending data from unprivileged document to chrome an easy way to
send data from a web page to an extension is by using custom dom events.
... note: if you're using html5's postmessage() to
send a message from unprivileged code to privileged code, adding 'true' to the end of your event listener in your privileged chrome code will allow the message to be received.
... document.addeventlistener("message", function(e) { yourfunction(e); }, false, true);
sending data from chrome to unprivileged document to "answer" the web page (e.g., return code), your extension can set an attribute or attach child elements on the event target element (<myextensiondataelement/> in this example).
...And 7 more matches
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
this is usually due to the server
sending the wrong mimetype for the css file.
...to solve this problem, you can make the server
send the right mimetype or remove the doctype.
... xmlhttprequest internet explorer allows you to
send and retrieve xml files using msxml's xmlhttp class, which is instantiated through activex using new activexobject("msxml2.xmlhttp") or new activexobject("microsoft.xmlhttp").
...And 7 more matches
Worker.prototype.postMessage() - Web APIs
the postmessage() method of the worker interface
sends a message to the worker's inner scope.
... this accepts a single parameter, which is the data to
send to the worker.
... the worker can
send back information to the thread that spawned it using the dedicatedworkerglobalscope.postmessage method.
...And 7 more matches
Synchronous and asynchronous requests - Web APIs
example:
send a file to the console log this is the simplest usage of asynchronous xmlhttprequest.
... var xhr = new xmlhttprequest(); xhr.open("get", "/bar/foo.txt", true); xhr.onload = function (e) { if (xhr.readystate === 4) { if (xhr.status === 200) { console.log(xhr.responsetext); } else { console.error(xhr.statustext); } } }; xhr.onerror = function (e) { console.error(xhr.statustext); }; xhr.
send(null); line 2 specifies true for its third parameter to indicate that the request should be handled asynchronously.
...*/) { var xhr = new xmlhttprequest(); xhr.callback = callback; xhr.arguments = array.prototype.slice.call(arguments, 2); xhr.onload = xhrsuccess; xhr.onerror = xhrerror; xhr.open("get", url, true); xhr.
send(null); } usage: function showmessage(message) { console.log(message + this.responsetext); } loadfile("message.txt", showmessage, "new message!\n\n"); the signature of the utility function loadfile declares (i) a target url to read (via an http get request), (ii) a function to execute on successful completion of the xhr operation, and (iii) an arbitrary list of additional arguments that ...
...And 7 more matches
Standard metadata names - HTML: Hypertext Markup Language
referrer: controls the http referer header for to requests sent from the document: values for the content attribute of <meta name="referrer"> no-referrer do not
send a http referer header.
... origin
send the origin of the document.
... no-referrer-when-downgrade
send the full url when the destination is at least as secure as the current page (http(s)→https), but
send no referrer when it's less secure (https→http).
...And 7 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.
... with the exception of multipart/form-data, used in the post method of html forms, and multipart/byteranges, used with 206 partial content to
send part of a document, http doesn't handle multipart documents in a special way: the message is transmitted to the browser (which will likely show a "save as" window if it doesn't know how to display the document).
...this can be used, for instance, to represent an email that includes a forwarded message as part of its data, or to allow
sending very large messages in chunks as if it were multiple messages.
...And 7 more matches
HTTP headers - HTTP
accept-language informs the server about the human language the server is expected to
send back.
... set-cookie
send cookies from the server to the user-agent.
... set-cookie2
sends cookies from the server to the user-agent, but has been obsoleted.
...And 7 more matches
widget - Archive of obsolete content
so implementing a complete solution usually means you have to
send messages between the content script and the main add-on code.
...but because content scripts can't use the sdk's apis, we'll want the content script to
send messages to the main add-on code, which can then implement the media player functions using the sdk.
... next, we write a content script that listens for click events on each icon and
sends the corresponding message to the main add-on code: var play_button = document.getelementbyid("play-button"); play_button.onclick = function() { self.port.emit("play"); } var pause_button = document.getelementbyid("pause-button"); pause_button.onclick = function() { self.port.emit("pause"); } var stop_button = document.getelementbyid("stop-button"); stop_button.onclick = function() { sel...
...And 6 more matches
Message manager overview
communicate with frame scripts using addmessagelistener() and broadcastasyncmessage() or
sendasyncmessage() functions.
... broadcastasyncmessage()
sends the message to every <browser> in every browser window.
... let globalmm = cc["@mozilla.org/globalmessagemanager;1"] .getservice(ci.nsimessagelistenermanager); window message manager the window message manager is associated with a specific browser window, and operates on every <browser> (that is, every content tab) loaded into that window: loadframescript() loads the given script into every <browser> in that browser window broadcastasyncmessage()
sends the message to every <browser> in that browser window.
...And 6 more matches
IME handling guide
then, it
sends the events and the event target to imestatemanager.
...and it
sends the event to the textcomposition instance.
...then, mozilla::imecontentobserver::imenotification
sender tries to
send the pending notifications when it might become safe to do that.
...And 6 more matches
WebRequest.jsm
usage to import webrequest, use code like: let {webrequest} = cu.import("resource://gre/modules/webrequest.jsm", {}); the webrequest object has the following properties, each of which corresponds to a specific stage in executing a web request: onbeforerequest onbefore
sendheaders on
sendheaders onheadersreceived onresponsestarted oncompleted each of these objects defines two functions: addlistener(callback, filter, opt_extrainfospec) removelistener(callback) adding listeners use addlistener to add a listener to a particular event.
... redirect onbefore
sendheaders redirecturl string set to the url to redirect the request to.
... modify request headers onbefore
sendheaders requestheaders array of http headers.
...And 6 more matches
Using the Beacon API - Web APIs
navigator.
sendbeacon() the beacon api's navigator.
sendbeacon() method
sends a beacon request to the server in the global browsing context.
... the method takes two arguments: the url and the data to
send.
...the handler calls
sendbeacon() with the current url.
...And 6 more matches
HTMLScriptElement.referrerPolicy - Web APIs
origin only
send the origin of the document as the referrer in all cases.
... the document https://example.com/page.html will
send the referrer https://example.com/.
... origin-when-cross-origin
send a full url when performing a same-origin request, but only
send the origin of the document for other cases.
...And 6 more matches
dev/panel - Archive of obsolete content
ction: const { panel } = require("dev/panel"); const { class } = require("sdk/core/heritage"); const mypanel = class({ extends: panel, label: "my panel", tooltip: "my new devtool", icon: "./my-devtool.png", url: "./my-devtool.html", setup: function(options) { // my setup goes here }, dispose: function() { // my teardown goes here }, onready: function() { // i can
send messages to // the panel document here } }); alternatively, you can use the extend function: const { extend } = require("sdk/core/heritage"); function mypanel() {}; mypanel.prototype = extend(panel.prototype, { label: "my panel", tooltip: "...", ....
...at this point you can
send the panel document messages.
...however it can
send messages to the panel document using the postmessage method of panel.
...And 5 more matches
Using server-sent events - Web APIs
this is one-way connection, so you can't
send events from a client to a server.
... you can also listen for events with addeventlistener(): evtsource.addeventlistener("ping", function(event) { const newelement = document.createelement("li"); const time = json.parse(event.data).time; newelement.innerhtml = "ping at " + time; eventlist.appendchild(newelement); }); this code is similar, except that it will be called automatically whenever the server
sends a message with the event field set to "ping"; it then parses the json in the data field and outputs that information.
...
sending events from the server the server-side script that
sends events needs to respond using the mime type text/event-stream.
...And 5 more matches
WebRTC API - Web APIs
webrtc concepts and usage webrtc serves multiple purposes; together with the media capture and streams api, they provide powerful multimedia capabilities to the web, including support for audio and video conferencing, file exchange, screen sharing, identity management, and interfacing with legacy telephone systems including support for
sending dtmf (touch-tone dialing) signals.
...most streams consist of at least one audio track and likely also a video track, and can be used to
send and receive both live media or stored media information (such as a streamed movie).
... rtcrtp
sender manages the encoding and transmission of data for a mediastreamtrack on an rtcpeerconnection.
...And 5 more matches
Using HTTP cookies - HTTP
an http cookie (web cookie, browser cookie) is a small piece of data that a server
sends to the user's web browser.
... the browser may store it and
send it back with later requests to the same server.
... creating cookies after receiving an http request, a server can
send one or more set-cookie headers with the response.
...And 5 more matches
Communicating using "port" - Archive of obsolete content
to
send messages from one side to the other, use port.emit() to receive messages sent from the other side, use port.on() messages are asynchronous: that is, the
sender does not wait for a reply from the recipient but just emits the message and continues processing.
... here's a simple add-on that
sends a message to a content script using port: var tabs = require("sdk/tabs"); var alertcontentscript = "self.port.on('alert', function(message) {" + " window.alert(message);" + "})"; tabs.on("ready", function(tab) { worker = tab.attach({ contentscript: alertcontentscript }); worker.port.emit("alert", "message from the add-on"); }); tabs.open("http://www.mozilla.org"); in total, the port object defines four functions: emit(): emit a message.
...require('sdk/page-mod').pagemod({ include: ['*'], contentscript: pagemodscript, onattach: function(worker) { worker.port.on('click', function(html) { worker.port.emit('warning', 'do not click this again'); }); } }); in the add-on above there are two user-defined messages: click is sent from the page-mod to the add-on, when the user clicks an element in the page warning
sends a silly string back to the page-mod port.emit() the port.emit() function
sends a message from the "main.js", or another add-on module, to a content script, or vice versa.
...And 4 more matches
Content Scripts - Archive of obsolete content
but sometimes you might want to interact with page scripts: you might want to share objects between content scripts and page scripts or to
send messages between them.
... to
send messages from one side to the other, use port.emit() to receive messages sent from the other side, use port.on() messages are asynchronous: that is, the
sender does not wait for a reply from the recipient but just emits the message and continues processing.
... here's a simple add-on that
sends a message to a content script using port: // main.js var tabs = require("sdk/tabs"); var self = require("sdk/self"); tabs.on("ready", function(tab) { var worker = tab.attach({ contentscriptfile: self.data.url("content-script.js") }); worker.port.emit("alert", "message from the add-on"); }); tabs.open("http://www.mozilla.org"); // content-script.js self.port.on("alert", function(message) { window.alert(message); }); the context-menu module doesn't use the communication model described here.
...And 4 more matches
Creating annotations - Archive of obsolete content
the matched element is highlighted and has a click handler bound to it which
sends a message to the main add-on code.
...the click handler
sends a message called show back to the main add-on code.
... in the attach handler we do three things:
send the content script a message with the current activation status add the worker to an array called selectors so we can
send it messages later on assign a message handler for messages from this worker.
...And 4 more matches
Index - Archive of obsolete content
248 interaction between privileged and non-privileged pages add-ons, code snippets, extensions an easy way to
send data from a web page to an extension is by using custom dom events.
... the testsuite allows more flexibility by coding scripts in python allowing any executable to run,
sending commands to stdin, and asserting output using regular expressions.
...the resizer will
send a command event after the resize is complete.
...And 4 more matches
Basic native form controls - Learn web development
here is a basic single line text field example: <input type="text" id="comment" name="comment" value="i'm a text field"> single line text fields have only one true constraint: if you type text with line breaks, the browser removes those line breaks before
sending the data to the server.
... browsers recognize the security implications of
sending form data over an insecure connection, and have warnings to deter users from using insecure forms.
...there are three input types that produce buttons: submit
sends the form data to the server.
...And 4 more matches
Client-side form validation - Learn web development
your apps should always perform security checks on any form-submitted data on the server-side as well as the client-side, because client-side validation is too easy to bypass, so malicious users can still easily
send bad data through to your server.
... if the user tries to
send the data, the browser will submit the form, provided there is nothing else stopping it from doing so (e.g., javascript).
... if the user tries to
send the data, the browser will block the form and display an error message.
...And 4 more matches
PR_TransmitFile
sends a complete file across a connected socket.
... syntax #include <prio.h> print32 pr_transmitfile( prfiledesc *networksocket, prfiledesc *sourcefile, const void *headers, print32 hlen, prtransmitfileflags flags, printervaltime timeout); parameters the function has the following parameters: networksocket a pointer to a prfiledesc object representing the connected socket to
send data over.
... sourcefile a pointer to a prfiledesc object representing the file to
send.
...And 4 more matches
sslfnc.html
ssl_v2_compatible_hello tells the ssl library whether or not to
send ssl3 client hello messages in ssl2-compatible format.
...however, most application protocols that use ssl are not two-way simultaneous, but two-way alternate, also known as "half dupled"; that is, each end takes turns
sending, and each end is either
sending, or receiving, but not both at the same time.
... ssl_v2_compatible_hello tells the ssl library whether or not to
send ssl3 client hello messages in ssl2-compatible format.
...And 4 more matches
nsIFrameLoader
method overview void activateframeevent(in astring atype, in boolean capture); void activateremoteframe(); void destroy(); void loadframe(); void loaduri(in nsiuri auri); void
sendcrossprocesskeyevent(in astring atype, in long akeycode, in long acharcode, in long amodifiers, [optional] in boolean apreventdefault); void
sendcrossprocessmouseevent(in astring atype, in float ax, in float ay, in long abutton, in long aclickcount, in long amodifiers, [optional] in boolean aignorerootscrollframe); void updatepositionandsize(in nsiframe aiframe); native code on...
...
sendcrossprocesskeyevent() creates and
sends a keyevent to the content viewport's process.
... see nsidomwindowutils.
sendkeyevent() for details; this method is its equivalent for cross-process event handling.
...And 4 more matches
nsIJetpack
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void
sendmessage(in astring amessagename /* [optional] in jsval v1, [optional] in jsval v2, ...
... */); void registerreceiver(in astring amessagename, in jsval areceiver); void unregisterreceiver(in astring amessagename, in jsval areceiver); void unregisterreceivers(in astring amessagename); void evalscript(in astring ascript); nsivariant createhandle(); void destroy(); methods
sendmessage() this method asynchronously
sends a message to the jetpack process.
... void
sendmessage( in astring amessagename, [optional] in jsval v1, optional [optional] in jsval v2, optional ...
...And 4 more matches
Beacon API - Web APIs
example use cases of the beacon api are logging activity and
sending analytics data to the server.
... the beacon interface addresses the needs of analytics and diagnostics code that typically attempts to
send data to a web server before unloading the document.
...
sending the data any sooner may result in a missed opportunity to gather data.
...And 4 more matches
HTMLIFrameElement.referrerPolicy - Web APIs
origin only
send the origin of the document as the referrer in all cases.
... the document https://example.com/page.html will
send the referrer https://example.com/.
... origin-when-cross-origin
send a full url when performing a same-origin request, but only
send the origin of the document for other cases.
...And 4 more matches
The HTML DOM API - Web APIs
closeevent websocket server-sent events interfaces the eventsource interface represents the source which sent or is
sending server-sent events.
... javascript const namefield = document.getelementbyid("username"); const
sendbutton = document.getelementbyid("
sendbutton")
sendbutton.disabled = true; // [note: this is disabled since it causes this article to always load with this example focused and scrolled into view] //namefield.focus(); namefield.addeventlistener("input", event => { const elem = event.target; const valid = elem.value.length != 0; if (valid &&
sendbutton.disabled) {
sendbutton.disabled = false; } else if (!valid && !
sendbutton.disabled) {
sendbutton.disabled = true; } }); this code uses the d...
...ocument interface's getelementbyid() method to get the dom object representing the <input> elements whose ids are username and
sendbutton.
...And 4 more matches
RTCRtpTransceiver.direction - Web APIs
each describes how the transceiver's associated rtcrtp
sender and rtcrtpreceiver behave as shown in the table below.
... value rtcrtp
sender behavior rtcrtpreceiver behavior "
sendrecv" offers to
send rtp data, and will do so if the other peer accepts the connection and at least one of the
sender's encodings is active1.
... "
sendonly" offers to
send rtp data, and will do so if the other peer accepts the connection and at least one of the
sender's encodings is active1.
...And 4 more matches
RTCStatsReport - Web APIs
the rtcstatsreport interface provides a statistics report obtained by calling one of the rtcpeerconnection.getstats(), rtcrtpreceiver.getstats(), and rtcrtp
sender.getstats() methods.
...the rtcrtpreceiver and rtcrtp
sender versions of getstats() specifically only return statistics available to the incoming or outgoing stream on which you call them.
... codec an rtccodecstats object containing statistics about a codec currently being used by rtp streams to
send or receive data for the rtcpeerconnection.
...And 4 more matches
WebRTC Statistics API - Web APIs
the webrtc api has a vast array of statistics available, covering the entire breadth of the webrtc connectivity system, from
sender to receiver and peer to peer.
... rtcicecandidatestats rtcstats media-source statistics about the media produced by the mediastreamtrack attached to an rtp
sender.
... rtcsctptransportstats rtcstats
sender statistics related to a specific rtcrtp
sender and the media associated with that
sender.
...And 4 more matches
Writing WebSocket client applications - Web APIs
sending data to the server once you've opened your connection, you can begin transmitting data to the server.
... to do this, simply call the websocket object's
send() method for each message you want to
send: examplesocket.
send("here's some text that the server is urgently awaiting!"); you can
send data as a string, blob, or arraybuffer.
... as establishing a connection is asynchronous and prone to failure there is no guarantee that calling the
send() method immediately after creating a websocket object will be successful.
...And 4 more matches
Referrer-Policy - HTTP
origin only
send the origin of the document as the referrer.
... for example, a document at https://example.com/page.html will
send the referrer https://example.com/.
... origin-when-cross-origin
send the origin, path, and query string when performing a same-origin request, but only
send the origin of the document for other cases.
...And 4 more matches
A typical HTTP session - HTTP
the client
sends its request, and waits for the answer.
... the server processes the request,
sending back its answer, providing a status code and appropriate data.
... note: the client-server model does not allow the server to
send data to the client without an explicit request for it.
...And 4 more matches
How to make PWAs re-engageable using Notifications and Push - Progressive web apps (PWAs)
push push is more complicated than notifications — we need to subscribe to a server that will then
send the data back to the app.
... from the server-side, the whole process has to be encrypted with public and private keys for security reasons — allowing everyone to
send push messages unsecured using your app would be a terrible idea.
...to learn more about vapid keys you can read the
sending vapid identified webpush notifications via mozilla’s push service blog post.
...And 4 more matches
port - Archive of obsolete content
the port object provides message
sending and receiving api enabling conversations between a content script and the main add-on code.
... port methods emit() the port.emit() function
sends a message from one side to the other.
...the button
sends the content script a message called "get-first-para" when it is clicked: // main.js pageworker = require("sdk/page-worker").page({ contentscriptfile: require("sdk/self").data.url("listener.js"), contenturl: "http://en.wikipedia.org/wiki/chalk" }); require("sdk/ui/button/action").actionbutton({ id: "get-first-para", label: "get-first-para", icon: "./icon-16.png", onclick: function(...
...And 3 more matches
remote/parent - Archive of obsolete content
st { frames } = require("sdk/remote/child"); // listeners receive the frame the event was for as the first argument frames.port.on("changelocation", (frame, ref) => { frame.content.location += "#" + ref; }); // main.js const { frames, remoterequire } = require("sdk/remote/parent"); remoterequire("./remote.js", module); frames.port.emit("changelocation", "foo"); tab information this shows
sending a message when a tab loads; this is similar to how the sdk/tabs module currently works.
...the module loads asynchronously but you can start
sending messages to the module immediately.
... properties port an event emitter that
sends messages to and receives messages from all processes.
...And 3 more matches
Connecting to Remote Content - Archive of obsolete content
ple.com/"; let request = components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"] .createinstance(components.interfaces.nsixmlhttprequest); request.onload = function(aevent) { window.alert("response text: " + aevent.target.responsetext); }; request.onerror = function(aevent) { window.alert("error status: " + aevent.target.status); }; request.open("get", url, true); request.
send(null); in this example we demonstrate how to make a xmlhttprequest call in asynchronous mode.
... request.overridemimetype("text/xml"); // do this before
sending the request!
... the open method takes two required parameters: the http request method and the url to
send the request.
...And 3 more matches
What is a web server? - Learn web development
when the request reaches the correct (hardware) web server, the (software) http server accepts the request, finds the requested document, and
sends it back to the browser, also through http.
...we call it "static" because the server
sends its hosted files as-is to your browser.
...we call it "dynamic" because the application server updates the hosted files before
sending content to your browser via the http server.
...And 3 more matches
Client-Server Overview - Learn web development
when you click a link on a web page, submit a form, or run a search, the browser
sends an http request to the server.
...an html page usually references javascript and css pages), and will
send separate http requests to download these files.
... note: static sites are excellent when you have a small number of pages and you want to
send the same content to every user.
...And 3 more matches
Cross Process Object Wrappers
passing cpows from frame scripts frame scripts can
send messages to chrome using one of two global functions:
sendasyncmessage() or
sendsyncmessage().
...for example, this frame script
sends a dom node to chrome when the user clicks it, as the clicked property of the third argument: // frame script addeventlistener("click", function (event) {
sendasyncmessage("my-e10s-extension-message", {}, { clicked : event.target }); }, false); in the chrome script, the dom node is now accessible through a cross process object wrapper, as a property of the objects property of the message.
... this means you can write code like this: // frame script /* on mouseover,
send the button to the chrome script as a cpow.
...And 3 more matches
PromiseWorker.jsm
summary a promiseworker is a chromeworker except instead of calling postmessage() to
send a message, you call post(), which returns a promise.
...
sending a message from main thread to
send a message to a worker from the main thread, one normally uses postmessage().
...
sending a message from worker with all other workers, to
send a message to the main thread, postmessage is typically used.
...And 3 more matches
WebChannel.jsm
method overview listen(function callback); stoplistening();
send(object message, eventtarget target); attributes id string webchannel id methods listen() registers the callback for messages on this channel.
... parameters callback callback function containing function(id, message,
sendercontext) parameters.
... id - webchannel id of the incoming messages message - incoming message object
sendercontext - incoming message context - this should be treated as an opaque object and passed to the .
send() method stoplistening() resets the callback for messages on this channel.
...And 3 more matches
PRLinger
structure used with the pr_sockopt_linger socket option to specify the time interval (in printervaltime units) to linger on closing a socket if any data remain in the socket
send buffer.
...linger time (in printervaltime units) to linger before closing if any data remain in the socket
send buffer.
... description by default, pr_close returns immediately, but if there are any data remaining in the socket
send buffer, the system attempts to deliver the data to the peer.
...And 3 more matches
nsIFaviconService
this function does not
send out notifications that the data has changed.
...but
sending out those notifications is very intensive.
...this function does not
send out notifications that the data has changed.
...And 3 more matches
nsIMessageBroadcaster
idl file: mozilla-central/source/dom/base/nsimessagemanager.idl inherits from: nsimessagelistenermanager message "broadcasters" don't have a single "other side" that they
send messages to, but rather a set of subordinate message managers.
...see message manager interfaces for more details on the distinction between message
senders and message broadcasters.
... methods void broadcastasyncmessage([optional] in astring messagename, [optional] in jsval obj, [optional] in jsval objects); nsimessagelistenermanager getchildat(in unsigned long aindex); broadcastasyncmessage() like
sendasyncmessage(), but also broadcasts this message to all "child" message managers of this message manager.
...And 3 more matches
nsIMessageListener
idl file: mozilla-central/source/dom/base/nsimessagemanager.idl inherits from: nsisupports this interface is used to receive messages sent using the nsimessagebroadcaster, nsimessage
sender, or nsisyncmessage
sender interfaces.
...this function receives a message from one of the three message-
sending functions in the message manager framework: broadcastasyncmessage
sendasyncmessage
sendsyncmessage.
...this is the first argument passed into the message-
sending function.
...And 3 more matches
nsIMessenger
enurl(in acstring aurl); void loadurl(in nsidomwindow ptr, in acstring aurl); void launchexternalurl(in acstring aurl); boolean canundo(); boolean canredo(); unsigned long getundotransactiontype(); unsigned long getredotransactiontype(); 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); ...
...
sendingunsentmsgs boolean indicates if
sending messages is in progress.
... launchexternalurl() launches the nsiexternalprotocolservice and
sends it the url.
...And 3 more matches
nsIMsgHeaderParser
astring makefulladdress( in astring aname, in astring aaddress ); parameters aname the name of the
sender.
... aaddress the address of the
sender.
... string makefulladdressstring( in string aname, in string aaddress ); parameters aname the name of the
sender.
...And 3 more matches
Cached compose window FAQ
instead of destroying the mail compose window on
send (or close) just to create a new one the next time, mozilla mail will "cache" the compose window on
send (or close), and use that instead.
... but we noticed that the common usage pattern is to compose,
send, compose,
send, compose
send.
... we could just hide it on
send, and then show it on the next compose.
...And 3 more matches
Index
for the message pane, the icon we will show is on disk at: <profile home>/nim/<value of pref aim.session.screenname>/picture/<screenname for
sender email address>.gif when trying to determine the screenname for the
sender, we search the addressbook that we are using for collection.
... instead of destroying the mail compose window on
send (or close) just to create a new one the next time, mozilla mail will "cache" the compose window on
send (or close), and use that instead.
... but we noticed that the common usage pattern is to compose,
send, compose,
send, compose
send.
...And 3 more matches
URLs - Plugins
« previousnext » this chapter describes retrieving urls and displaying them on specified target pages, posting data to an http server, uploading files to an ftp server, and
sending mail.
... err = npn_geturl( instance, "http://www.example.com/", "_blank"); posting urls posting data to an http server uploading files to an ftp server
sending mail the plug-in calls npn_posturl to post data from a file or buffer to a url.
... possible url types include http (similar to an html form submission), mailto (
sending mail), news (posting a news article), and ftp (uploading a file).
...And 3 more matches
Channel Messaging API - Web APIs
once created, the two ports of the channel can be accessed through the messagechannel.port1 and messagechannel.port2 properties (which both return messageport objects.) the app that created the channel uses port1, and the app at the other end of the port uses port2 — you
send a message to port2, and transfer the port over to the other browsing context using window.postmessage along with two arguments (the message to
send, and the object to transfer ownership of, in this case the port itself.) when these transferable objects are transferred, they are 'neutered' on the previous context — the one they previously belonged to.
...you could then respond by
sending a message back to the original document using messageport.postmessage.
... when you want to stop
sending messages down the channel, you can invoke messageport.close to close the ports.
...And 3 more matches
Using files from web applications - Web APIs
mple shows a possible use of the size property: <!doctype html> <html> <head> <meta charset="utf-8"> <title>file(s) size</title> </head> <body> <form name="uploadform"> <div> <input id="uploadinput" type="file" name="myfiles" multiple> selected files: <span id="filenum">0</span>; total size: <span id="filesize">0</span> </div> <div><input type="submit" value="
send file"></div> </form> <script> function updatesize() { let nbytes = 0, ofiles = this.files, nfiles = ofiles.length; for (let nfileid = 0; nfileid < nfiles; nfileid++) { nbytes += ofiles[nfileid].size; } let soutput = nbytes + " bytes"; // optional code for multiples approximation const amultiples = ["kib", "mib", "gib", "tib", "pib", "eib", "zib...
...this allows us to select all of the images the user has chosen for uploading using document.queryselectorall(), like this: function
sendfiles() { const imgs = document.queryselectorall(".obj"); for (let i = 0; i < imgs.length; i++) { new fileupload(imgs[i], imgs[i].file); } } line 2 fetches a nodelist, called imgs, of all the elements in the document with the css class obj.
...pload.addeventlistener("load", function(e){ self.ctrl.update(100); const canvas = self.ctrl.ctx.canvas; canvas.parentnode.removechild(canvas); }, false); xhr.open("post", "http://demos.hacks.mozilla.org/paul/demos/resources/webservices/devnull.php"); xhr.overridemimetype('text/plain; charset=x-user-defined-binary'); reader.onload = function(evt) { xhr.
send(evt.target.result); }; reader.readasbinarystring(file); } the fileupload() function shown above creates a throbber, which is used to display progress information, and then creates an xmlhttprequest to handle uploading the data.
...And 3 more matches
Using microtasks in JavaScript with queueMicrotask() - Web APIs
the snippet below creates a function that batches multiple messages into an array, using a microtask to
send them as a single object when the context exits.
... const messagequeue = []; let
sendmessage = message => { messagequeue.push(message); if (messagequeue.length === 1) { queuemicrotask(() => { const json = json.stringify(messagequeue); messagequeue.length = 0; fetch("url-of-receiver", json); }); } }; when
sendmessage() gets called, the specified message is first pushed onto the message queue array.
... if the message we just added to the array is the first one, we enqueue a microtask that will
send a batch.
...And 3 more matches
RTCDtlsTransport - Web APIs
the rtcdtlstransport interface provides access to information about the datagram transport layer security (dtls) transport over which a rtcpeerconnection's rtp and rtcp packets are sent and received by its rtcrtp
sender and rtcrtpreceiver objects.
... when not using bundle when the connection is created without using bundle, each rtp or rtcp component of each rtcrtptransceiver has its own rtcdtlstransport; that is, every rtcrtp
sender and rtcrtpreceiver, has its own transport, and all rtcdatachannel objects share a transport dedicated to sctp.
...if your code accesses rtcrtp
senders and/or rtcrtpreceivers directly, you may encounter situations where they're initially separate, then half or more of them get closed and the
senders and receivers updated to refer to the appropriate remaining rtcdtlstransport objects.
...And 3 more matches
RTCPeerConnection - Web APIs
instead of using this obsolete method, you should instead use addtrack() once for each track you wish to
send to the remote peer.addtrack()the rtcpeerconnection method addtrack() adds a new media track to the set of tracks which will be transmitted to the other peer.close() the rtcpeerconnection.close() method closes the current peer connection.createanswer() the createanswer() method on the rtcpeerconnection interface creates an sdp answer to an offer received from a remote peer during the offer/answe...
...each rtp receiver manages the reception and decoding of data for a mediastreamtrack on an rtcpeerconnectionget
senders()the rtcpeerconnection method get
senders() returns an array of rtcrtp
sender objects, each of which represents the rtp
sender responsible for transmitting one track's data.getstats()the rtcpeerconnection method getstats() returns a promise which resolves with data providing statistics about either the overall connection or about the specified mediastreamtrack.getstreambyid() the rtcpeerconnect...
...if no stream matches, it returns null.gettransceivers()the rtcpeerconnection interface's gettransceivers() method returns a list of the rtcrtptransceiver objects being used to
send and receive data on the connection.removestream() the rtcpeerconnection.removestream() method removes a mediastream as a local source of audio or video.
...And 3 more matches
RTCRtpEncodingParameters - Web APIs
an instance of the webrtc api's rtcrtpencodingparameters dictionary describes a single configuration of a codec for an rtcrtp
sender.
... it's used in the rtcrtp
sendparameters describing the configuration of an rtp
sender's encodings; rtcrtpdecodingparameters is used to describe the configuration of an rtp receiver's encodings.
...that is, for rtp
senders, the encoding is currently being used to
send data, while for receivers, the encoding is being used to decode received data.
...And 3 more matches
RTCRtpStreamStats - Web APIs
the rtcrtpstreamstats dictionary is returned by the rtcpeerconnection.getstats(), rtcrtp
sender.getstats(), and rtcrtpreceiver.getstats() methods to provide detailed statistics about webrtc connectivity.
... fircount a count of the total number of full intra request (fir) packets received by the
sender.
...a fir packet is sent by the receiving end of the stream when it falls behind or has lost packets and is unable to continue decoding the stream; the
sending end of the stream receives the fir packet and responds by
sending a full frame instead of a delta frame, thereby letting the receiver "catch up." the higher this number is, the more often a problem of this nature arose, which can be a sign of network congestion or an overburdened receiving device.
...And 3 more matches
RTCRtpTransceiver.currentDirection - Web APIs
each describes how the transceiver's associated rtcrtp
sender and rtcrtpreceiver behave as shown in the table below.
... value rtcrtp
sender behavior rtcrtpreceiver behavior "
sendrecv" offers to
send rtp data, and will do so if the other peer accepts the connection and at least one of the
sender's encodings is active1.
... "
sendonly" offers to
send rtp data, and will do so if the other peer accepts the connection and at least one of the
sender's encodings is active1.
...And 3 more matches
RTCRtpTransceiverDirection - Web APIs
each describes how the transceiver's associated rtcrtp
sender and rtcrtpreceiver behave as shown in the table below.
... value rtcrtp
sender behavior rtcrtpreceiver behavior "
sendrecv" offers to
send rtp data, and will do so if the other peer accepts the connection and at least one of the
sender's encodings is active1.
... "
sendonly" offers to
send rtp data, and will do so if the other peer accepts the connection and at least one of the
sender's encodings is active1.
...And 3 more matches
Using WebRTC data channels - Web APIs
once you've established a webrtc peer connection using the rtcpeerconnection interface, you're able to
send and receive media data between the two peers on the connection.
...this makes it easy to write efficient routines that make sure there's always data ready to
send without over-using memory or swamping the channel completely.
... when two users running firefox are communicating on a data channel, the message size limit is much larger than when firefox and chrome are communicating because firefox implements a now deprecated technique for
sending large messages in multiple sctp messages, which chrome does not.
...And 3 more matches
<audio>: The Embed Audio element - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...the allowed values are: anonymous
sends a cross-origin request without a credential.
... in other words, it
sends the origin: http header without a cookie, x.509 certificate, or performing http basic authentication.
...And 3 more matches
<input type="submit"> - HTML: Hypertext Markup Language
<input type="submit" value="
send request"> value a domstring used as the button's label events click supported common attributes type and value idl attributes value methods none value an <input type="submit"> element's value attribute contains a domstring which is displayed as the button's label.
... <input type="submit" value="
send request"> if you don't specify a value, the button will have a default label, chosen by the user agent.
...there are three permitted values: application/x-www-form-urlencoded this, the default value,
sends the form data as a string after url encoding the text using an algorithm such as encodeuri().
...And 3 more matches
<video>: The Video Embed element - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...the allowed values are: anonymous
sends a cross-origin request without a credential.
... in other words, it
sends the origin: http header without a cookie, x.509 certificate, or performing http basic authentication.
...And 3 more matches
HTTP conditional requests - HTTP
the different behaviors are defined by the method of the request used, and by the set of headers used for a precondition: for safe methods, like get, which usually tries to fetch a document, the conditional request can be used to
send back the document, if relevant only.
... if the resource has not changed, the server
sends back a 304 not modified response.
... if the resource has changed, the server just
sends back a 200 ok response, with the new version of the resource, like if the request wasn't conditional and the client uses this new resource (and caches it).
...And 3 more matches
Content negotiation - HTTP
server-driven content negotiation in server-driven content negotiation, or proactive content negotiation, the browser (or any other kind of user-agent)
sends several http headers along with the url.
...though strictly speaking user-agent is not in this list, it is sometimes also used to
send a specific representation of the requested resource, though this is not considered as a good practice.
... compressing http messages is one of the most important ways to improve the performance of a web site, it shrinks the size of the data transmitted and makes better use of the available bandwidth; browsers always
send this header and the server should be configured to abide to it and to use compression.
...And 3 more matches
Set-Cookie - HTTP
the set-cookie http response header is used to
send a cookie from the server to the user agent, so the user agent can
send it back to the server later.
... to
send multiple cookies, multiple set-cookie headers should be sent in the same response.
... path=<path-value> optional a path that must exist in the requested url, or the browser won't
send the cookie header.
...And 3 more matches
Redirections in HTTP - HTTP
principle in http, redirection is triggered by a server
sending a special redirect response to a request.
... temporary responses to unsafe requests unsafe requests modify the state of the server and the user shouldn't re
send them unintentionally.
... typically, you don't want your users to re
send put, post or delete requests.
...And 3 more matches
HTTP response status codes - HTTP
it is noncommittal, since there is no way in http to later
send an asynchronous response indicating the outcome of the request.
... 204 no content there is no content to
send for this request, but the headers may be useful.
... 307 temporary redirect the server
sends this response to direct the client to get the requested resource at another uri with same method that was used in the prior request.
...And 3 more matches
Communicating using "postMessage" - Archive of obsolete content
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.
... handling message events in the add-on script to
send a message to a content script, use the worker's postmessage function.
...And 2 more matches
page-mod - Archive of obsolete content
the listener is passed a worker object that your add-on can use to
send and receive messages.
...the main add-on code
sends the desired tag to the content script, and the content script replies by
sending the html content of all the elements with that tag.
...its event handler
sends the getelements message to the content script, and then adds a listener to the gotelement message.
...And 2 more matches
page-worker - Archive of obsolete content
for example, the content script might read some content and
send it back to the main add-on, which could store it using the simple-storage api.
... for example, this add-on loads a page from wikipedia, and runs a content script in it to
send all the headers back to the main add-on code: var pageworkers = require("sdk/page-worker"); // this content script
sends header titles from the page to the add-on: var script = "var elements = document.queryselectorall('h2 > span'); " + "for (var i = 0; i < elements.length; i++) { " + " postmessage(elements[i].textcontent) " + "}"; // create a page worker that loads wikipedia: pageworkers.page({ contenturl: "http://en.wikipedia.org/wiki/internet", contentscript: script, contentscriptwhen: "ready", onmessage: function(message) { console.l...
... postmessage(message)
sends a message to the content scripts.
...And 2 more matches
Observer Notifications - Archive of obsolete content
« previousnext » sometimes you need your code to
send a message to other parts of your code.
... observerservice.removeobserver(testobserver, "xulschoolhello-test-topic"); after you have registered some observers to listen to a notification topic, you can then use the notifyobservers method to
send a notification to all of them.
...but given that chrome is window-dependent and non-chrome objects are not, it's tricky to
send a message to the chrome.
...And 2 more matches
Mozilla release FAQ - Archive of obsolete content
for example, if you were to make a proposal to compress whole webpages before
sending them, devise a new protocol to do so, research how http works, how html works, and think about all the good *and* bad points of reworking things.
...here are a few representative systems (please
send your specs in to me) removed because the tree has changed enough that we'll probably need new times for all the builds.
... please
send stats to me in the following format: cpu/mhz, architecture, ram, disk type, os version, compiler version, build type, tree date -- build time example: 21164/533, alpha, 512m edo, ultra2 scsi, linux kernel 2.2.11, gcc 2.95, non-debug, 19 august 1999 cvs -- 25 minutes how do i run the binary on unix?
...And 2 more matches
Game promotion - Game development
you can
send your games for publication on portals like crazygames.com, gamedistribution.com, lagged.com, pacogames.com ,games4html5.com or html5games.com, and there are about 20-30 other notable game portals with and without api.
...be sure to check first if they are dealing with specific genres of games or platforms, so you don't
send them something that is not relevant to them in the first place.
... there are two options to get coverage from the youtubers: first is you contact them directly and
send a link to your game via email or private message.
...And 2 more matches
Plug-in Development Overview - Gecko Plugin API Reference
the server looks for the mime type registered by a plug-in, based on the file extension, and starts
sending the file to the browser.
...
sending and receiving streams streams are objects that represent urls and the data they contain.
...the plug-in can select one of these transmission modes: normal mode: the browser
sends the stream data sequentially to the plug-in as the data becomes available.
...And 2 more matches
How the Web works - Learn web development
in addition to the client and the server, we also need to say hello to: your internet connection: allows you to
send and receive data on the web.
...the browser needs to find out which server the website lives on, so it can
send http messages to the right place (see below).
... the browser
sends an http request message to the server, asking it to
send a copy of the website to the client (you go to the shop and order your goods).
...And 2 more matches
Fetching data from the server - Learn web development
originally page loading on the web was simple — you'd
send a request for a website to a server, and as long as nothing went wrong, the assets that made the web page would be downloaded and displayed on your computer.
... request.onload = function() { poemdisplay.textcontent = request.response; }; the above is all set up for the xhr request — it won't actually run until we tell it to, which is done using the
send() method.
... request.
send(); one problem with the example as it stands is that it won't show any of the poem when it first loads.
...And 2 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.
...vents other observers and services should be registered in a process script or jsm instead load frame scripts on demand bad: // addon.js services.mm.loadframescript("framescript.js", /*delayed:*/ true) // stuff communicating with the framescript // framescript.js function onlyonceinabluemoon() { // we only need this during a total solar eclipse while goat blood rains from the sky
sendasyncmessage('my-addon:paragraph-count', {num: content.document.queryselectorall('p').length}) } addmessagelistener("my-addon:request-from-parent", onlyonceinabluemoon) better: // addon.js function ontoolbarbutton(event) { let tabmm = gbrowser.mcurrentbrowser.frameloader.messagemanager; let button = event.target; let callback = (message) => { tabmm.removemessagelistener("my-addon:para...
...And 2 more matches
IPDL Best Practices
are you
sending the __delete__ message to trigger protocol deletion?
... the main concern you have now is that you absolutely, certainly, positively call
send__delete__ in all possible circumstances or your protocol can and will leak.
...tocol - allocation manager::recvpprotocolconstructor - initialization, protocol deletion (the typeaheadfind protocol uses one-shot protocols like this) actor::recv__delete__ - cleanup, ipdl calls still valid but ill-advised actor::actordestroy - non-ipdl cleanup manager::deallocpprotocol - deallocation one construct to avoid: class protocolparent { public: ~protocolparent() {
send__delete__(this); } }; class protocolmanagerparent { public: pprotocolparent* allocpprotocol() { return new protocolparent(); } bool deallocpprotocol() { return true; } }; nsautoptr<pprotocolparent> parent = manager->
sendpprotocolconstructor(); while this may look appealing as the ipdl logic is stuffed away in a sensible place, it breaks under error conditi...
...And 2 more matches
NSPR Poll Method
for pr_recv, you should pass pr_poll_read as the in_flags argument to the poll method for pr_
send, you should pass pr_poll_write as the in_flags argument to the poll method out_flags [output argument] if an i/o layer is ready to satisfy the i/o request defined by in_flags without involving the underlying network transport, its poll method sets the corresponding event in *out_flags on return.
... new_flags = fd->methods->poll(fd, pr_poll_read, &out_flags); if you are going to call pr_
send, pass pr_poll_write as the in_flags argument.
... new_flags = fd->methods->poll(fd, pr_poll_write, &out_flags); if you are interested in calling both pr_recv and pr_
send on the same file descriptor, make two separate calls to the poll method, one with pr_poll_read as in_flags and the other with pr_poll_write as in_flags, so that you know what events at the network transport layer pr_poll_read and pr_poll_write are mapped to, respectively.
...And 2 more matches
Web Replay
this thread
sends and receives messages from the middleman.
... messages describe actions the child process is able to do independently from the recording; currently this includes
sending graphics updates, taking and restoring process snapshots, and responding to debugger requests.
... constraints are used for when messages may be sent between the middleman and child process, ensuring that the middleman process cannot
send a message at a time when the child process may be rewinding.
...And 2 more matches
nsIFrameMessageManager
you should use nsimessagelistenermanager or nsimessage
sender instead.
... method overview void addmessagelistener(in astring amessage, in nsiframemessagelistener alistener, [optional] in boolean listenwhenclosed); void removemessagelistener(in astring amessage, in nsiframemessagelistener alistener); void
sendasyncmessage(in astring amessage, in astring json); methods addmessagelistener() adds a message listener to the local frame.
...
sendasyncmessage() asynchronously
sends a message to the listeners.
...And 2 more matches
nsIWebProgressListener
for instance, a load that starts in a window might
send progress and status messages for the new site, but it will not
send the onlocationchange until we are sure that we are loading this new page here.
... another example: the loading of a pdf or flash file might not not
send onlocationchange if the document is handed off to a third-party tool rather than being loaded into the browser.
...this can be communicated back down to the content // in order to do
send a command to a particular dom window.
...And 2 more matches
nsIWebSocketChannel
, use: var websocketchannel = components.classes["@mozilla.org/????????????????????????????"] .createinstance(components.interfaces.nsiwebsocketchannel); method overview void asyncopen(in nsiuri auri, in acstring aorigin, in nsiwebsocketlistener alistener, in nsisupports acontext); void close(in unsigned short acode, in autf8string areason); void
sendbinarymsg(in acstring amsg); void
sendmsg(in autf8string amsg); attributes attribute type description extensions acstring sec-websocket-extensions response header value.
...
sendbinarymsg()
sends a binary message to the websocket peer.
... void
sendbinarymsg( in acstring amsg ); parameters amsg the data to
send.
...And 2 more matches
Plug-in Development Overview - Plugins
the server looks for the mime type registered by a plug-in, based on the file extension, and starts
sending the file to the browser.
...
sending and receiving streams streams are objects that represent urls and the data they contain.
...the plug-in can select one of these transmission modes: normal mode: the browser
sends the stream data sequentially to the plug-in as the data becomes available.
...And 2 more matches
Network request details - Firefox Developer Tools
re
send the request.
... the re
send button opens a menu with two items: re
send: simply re
sends the request.
... edit and re
send: enables an editing mode, where you can modify the method, url, request headers, or request body of the request.
...And 2 more matches
Client.postMessage() - Web APIs
the postmessage() method of the client interface allows a service worker to
send a message to a client (a window, worker, or sharedworker).
... syntax client.postmessage(message[, transfer]); client.postmessage(message[, { transfer }]); parameters message the message to
send to the client.
...the ownership of these objects is given to the destination side and they are no longer usable on the
sending side.
...And 2 more matches
DedicatedWorkerGlobalScope.postMessage() - Web APIs
the postmessage() method of the dedicatedworkerglobalscope interface
sends a message to the main thread that spawned it.
... this accepts a single parameter, which is the data to
send to the worker.
... the main scope that spawned the worker can
send back information to the thread that spawned it using the worker.postmessage method.
...And 2 more matches
Fullscreen API - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
...And 2 more matches
RTCInboundRtpStreamStats.firCount - Web APIs
the fircount property of the rtcinboundrtpstreamstats dictionary indicates the number of full intra request (fir) packets have been sent by the receiver to the
sender.
... the receiver
sends a fir packet when the stream falls behind and needs to skip frames in order to catch up.
... syntax var fircount = rtcinboundrtpstreamstats.fircount; value an integer value indicating how many fir packets have been received by the
sender during the current connection.
...And 2 more matches
RTCInboundRtpStreamStats.pliCount - Web APIs
the plicount property of the rtcinboundrtpstreamstats dictionary states the number of times the rtcrtpreceiver described by these statistics sent a picture loss indication (pli) packet to the
sender.
... syntax var plicount = rtcinboundrtpstreamstats.plicount; value an integer value indicating the number of times a pli packet was sent by the rtcrtpreceiver to the
sender.
... these are sent by the receiver's decoder to notify the encoder (the
sender) that an undefined amount of coded video data, which may span frame boundaries, has been lost.
...And 2 more matches
RTCOutboundRtpStreamStats.firCount - Web APIs
the fircount property of the rtcoutboundrtpstreamstats dictionary indicates the number of full intra request (fir) that the remote rtcrtpreceiver has sent to this rtcrtp
sender.
... a fir packet is sent when the receiver finds that it has fallen behind and needs to skip frames in order to catch up; the
sender should respond by
sending a full frame instead of a delta frame.
... syntax var fircount = rtcoutboundrtpstreamstats.fircount; value an integer value indicating how many fir packets have been received by the
sender during the current connection.
...And 2 more matches
RTCOutboundRtpStreamStats.pliCount - Web APIs
the plicount property of the rtcoutboundrtpstreamstats dictionary states the number of times the remote peer's rtcrtpreceiver sent a picture loss indication (pli) packet to the rtcrtp
sender for which this object provides statistics.
... syntax var plicount = rtcoutboundrtpstreamstats.plicount; value an integer value indicating the number of times a pli packet was sent to this
sender by the remote peer's rtcrtpreceiver.
... these are sent by the receiver's decoder to notify the
sender's encoder that an undefined amount of coded video data, which may span frame boundaries, has been lost.
...And 2 more matches
RTCRtpParameters - Web APIs
it is extended separately for
senders and receivers in the form of the rtcrtp
sendparameters and rtcrtpreceiveparameters dictionaries.
... to obtain the parameters of a
sender or receiver, call its getparameters() method: getparameters() getparameters() properties codecs an array of rtcrtpcodecparameters objects describing the set of codecs from which the
sender or receiver will choose.
... headerextensions an array of zero or more rtp header extensions, each identifying an extension supported by the
sender or receiver.
...And 2 more matches
RTCRtpStreamStats.pliCount - Web APIs
the plicount property of the rtcrtpstreamstats dictionary states the number of times the stream's receiving end sent a picture loss indication (pli) packet to the
sender.
... syntax var plicount = rtcrtpstreamstats.plicount; value an integer value indicating the number of times a pli packet was sent by the stream's receiver to the
sender.
... a pli message is used by video decoders (running on the receiving end of the stream) to notify the encoder (the
sender) that an undefined amount of coded video data, which may span frame boundaries, has been lost.
...And 2 more matches
RTCRtpTransceiver - Web APIs
the webrtc interface rtcrtptransceiver describes a permanent pairing of an rtcrtp
sender and an rtcrtpreceiver, along with some shared state.
...this pairing of
send and receive srtp streams is significant for some applications, so rtcrtptransceiver is used to represent this pairing, along with other important state from the media section.
...
sender read only the rtcrtp
sender object responsible for encoding and
sending data to the remote peer.
...And 2 more matches
RTCStatsType - Web APIs
codec an rtccodecstats object containing statistics about a codec currently being used by rtp streams to
send or receive data for the rtcpeerconnection.
...
sender an object containing statistics about the rtcrtp
sender for a stream on the rtcpeerconnection.
... if kind is "audio", this object is of type rtcaudio
senderstats; if kind is "video", this is an rtcvideo
senderstats object.
...And 2 more matches
Request.credentials - Web APIs
the credentials read-only property of the request interface indicates whether the user agent should
send cookies from the other domain in the case of cross-origin requests.
... syntax var mycred = request.credentials; value a requestcredentials dictionary value indicating whether the user agent should
send cookies from the other domain in the case of cross-origin requests.
... possible values are: omit: never
send or receive cookies.
...And 2 more matches
Writing a WebSocket server in C# - Web APIs
cpclient client = server.accepttcpclient(); console.writeline("a client connected."); networkstream stream = client.getstream(); //enter to an infinite cycle to be able to handle every change in stream while (true) { while (!stream.dataavailable); byte[] bytes = new byte[client.available]; stream.read(bytes, 0, bytes.length); } handshaking when a client connects to a server, it
sends a get request to upgrade the connection to a websocket from a simple http request.
....computehash( encoding.utf8.getbytes( new system.text.regularexpressions.regex("sec-websocket-key: (.*)").match(data).groups[1].value.trim() + "258eafa5-e914-47da-95ca-c5ab0dc85b11" ) ) ) + eol + eol); stream.write(response, 0, response.length); } decoding messages after a successful handshake, the client will
send encoded messages to the server.
... if we
send "mdn", we get these bytes: 129 131 61 84 35 6 112 16 109 let's take a look at what these bytes mean.
...And 2 more matches
<a>: The Anchor element - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...when the link is followed, the browser will
send post requests with the body ping to the urls.
... referrerpolicy how much of the referrer to
send when following the link.
...And 2 more matches
<input>: The Input (Form Input) element - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...ed for accessibility autocomplete all hint for form autofill feature autofocus all automatically focus the form control when the page is loaded capture file media capture input method in file upload controls checked radio, checkbox whether the command or control is checked dirname text, search name of form field to use for
sending the element's directionality in form submission disabled all whether the form control is disabled form all associates the control with a form element formaction image, submit url to use for form submission formenctype image, submit form data set encoding type to use for form submission formmethod image, submit http meth...
... incremental whether or not to
send repeated search events to allow updating live search results while the user is still editing the value of the field.
...And 2 more matches
Using the application cache - HTML: Hypertext Markup Language
in addition, the browser also
sends a checking event to the window.applicationcache object, and fetches the manifest file, following the appropriate http caching rules.
... if the currently-cached copy of the manifest is up-to-date, the browser
sends a noupdate event to the applicationcache object, and the update process is complete.
...for each file fetched into this temporary cache, the browser
sends a progress event to the applicationcache object.
...And 2 more matches
Connection management in HTTP/1.x - HTTP
these connections were short-lived: a new one created each time a request needed
sending, and closed once the answer had been received.
...network latency and bandwidth affect performance when a request needs
sending.
...the http pipelining model goes one step further, by
sending several successive requests without even waiting for an answer, reducing much of the latency in the network.
...And 2 more matches
Populating the page: how browsers work - Web Performance
to be fast to load, the developers’ goals include
sending requested information as fast as possible, or at least seem super fast.
... response once we have an established connection to a web server, the browser
sends an initial http get request on behalf of the user, which for websites is most often an html file.
... congestion control as the server
sends data in tcp packets, the user's client confirms delivery by returning acknowledgements, or acks.
...And 2 more matches
Introduction to progressive web apps - Progressive web apps (PWAs)
for example, web apps are more discoverable than native apps; it's a lot easier and faster to visit a website than to install an application, and you can also share web apps by simply
sending a link.
...an app could be considered a pwa when it meets certain requirements, or implements a set of given features: works offline, is installable, is easy to synchronize, can
send push notifications, etc.
... linkable, so you can share it by simply
sending a url.
...And 2 more matches
Content Processes - Archive of obsolete content
content scripts differ from scripts that are loaded by the page itself in that they are provided with a messaging api that can be used to
send messages back to the add-on script.
... event emitters the messaging api we use to
send json messages between scripts in different processes is based on the use of event emitters.
...in this case, we would replace the emit function passed to the constructor of each emitter with a function that
sends a message to the other process.
...in addition to the port property, workers also support the web worker api, which allows scripts to
send messages to each other using the postmessage function.
request - Archive of obsolete content
headers object an unordered collection of name/value pairs representing headers to
send with the request.
... content string,object the content to
send to the server.
... contenttype string the type of content to
send to the server.
...optionally the user may specify a collection of headers and content to
send alongside the request and a callback which will be executed once the request completes.
remote/child - Archive of obsolete content
communicating with the parent process to communicate with the parent process, the process, frames, and frame objects in sdk/remote/child have a port object that you can use to receive messages from, and
send messages to, code in the parent.
... properties port an event emitter that
sends and receives events from the main process.
... properties port an event emitter that
sends and receives events from every frame in this process.
... properties port an event emitter that can be used to
send and receive frame specific events to and from code in the main process.
Modifying Web Pages Based on URL - Archive of obsolete content
communicating with the content script your add-on script and content scripts can't directly access each other's variables or call each other's functions, but they can
send each other messages.
... to
send a message from one side to the other,
sender calls port.emit() and receiver listens using port.on().
...self.port.on("replacepage", function(message) { document.body.innerhtml = "<h1>" + message + "</h1>"; }); in the add-on script, we'll
send the content script a message inside onattach.
... // import the page-mod api var pagemod = require("sdk/page-mod"); // import the self api var self = require("sdk/self"); // 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", contentscriptfile: self.data.url("my-script.js"), //
send the content script a message inside onattach onattach: function(worker) { worker.port.emit("replacepage", "page matches ruleset"); } }); the replacepage message isn't a built-in message: it's a message defined by the add-on in the port.emit() call.
Modifying the Page Hosted by a Tab - Archive of obsolete content
el: "load several scripts", icon: "./icon-16.png", onclick: function () { tabs.activetab.attach({ contentscriptfile: [self.data.url('first.js'), self.data.url('second.js')] }); } }); communicating with the content scripts your add-on script and content scripts can't directly access each other's variables or call each other's functions, but they can
send each other messages.
... to
send a message from one side to the other,
sender calls port.emit() and receiver listens using port.on().
... in the add-on script, tab.attach() returns a worker object containing the port property you use to
send messages to the content script.
... the content script now needs to look like this: // "self" is a global object in content scripts // listen for a "drawborder" self.port.on("drawborder", function(color) { document.body.style.border = "5px solid " + color; }); in the add-on script, we'll
send the content script a "drawborder" message using the object returned from attach(): var self = require("sdk/self"); var tabs = require("sdk/tabs"); var button = require("sdk/ui/button/action").actionbutton({ id: "style-tab", label: "style tab", icon: "./icon-16.png", onclick: function() { var worker = tabs.activetab.attach({ contentscriptfile: self.data.url("my-script.js") }); worker.port.emit("drawborder", "red"); ...
jspage - Archive of obsolete content
mplete").fireevent("failure",this.xhr);},setheader:function(a,b){this.headers.set(a,b); return this;},getheader:function(a){return $try(function(){return this.xhr.getresponseheader(a);}.bind(this));},check:function(){if(!this.running){return true; }switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.bind(this,arguments));return false;}return false;},
send:function(k){if(!this.check(k)){return this; }this.running=true;var i=$type(k);if(i=="string"||i=="element"){k={data:k};}var d=this.options;k=$extend({data:d.data,url:d.url,method:d.method},k);var g=k.data,b=string(k.url),a=k.method.tolowercase(); switch($type(g)){case"element":g=document.id(g).toquerystring();break;case"object":case"hash":g=hash.toquerystring(g);}if(this.options.format){var j="fo...
...; }var e=b.lastindexof("/");if(e>-1&&(e=b.indexof("#"))>-1){b=b.substr(0,e);}if(g&&a=="get"){b=b+(b.contains("?")?"&":"?")+g;g=null;}this.xhr.open(a.touppercase(),b,this.options.async); this.xhr.onreadystatechange=this.onstatechange.bind(this);this.headers.each(function(m,l){try{this.xhr.setrequestheader(l,m);}catch(n){this.fireevent("exception",[l,m]); }},this);this.fireevent("request");this.xhr.
send(g);if(!this.options.async){this.onstatechange();}return this;},cancel:function(){if(!this.running){return this; }this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new browser.request();this.fireevent("cancel");return this;}});(function(){var a={}; ["get","post","put","delete","get","post","put","delete"].each(function(b){a[b]=function(){var c=array.link(arguments,{ur...
...l:string.type,data:$defined}); return this.
send($extend(c,{method:b}));};});request.implement(a);})();element.properties.
send={set:function(a){var b=this.retrieve("
send");if(b){b.cancel(); }return this.eliminate("
send").store("
send:options",$extend({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")},a));},get:function(a){if(a||!this.retrieve("
send")){if(a||!this.retrieve("
send:options")){this.set("
send",a); }this.store("
send",new request(this.retrieve("
send:options")));}return this.retrieve("
send");}};element.implement({
send:function(a){var b=this.get("
send"); b.
send({data:this,url:a||b.options.url});return this;}});request.html=new class({extends:request,options:{update:false,append:false,evalscripts:true,filter:false},processhtml:function(c){var b=c.match(/<bod...
..."load");if(b){b.cancel();}return this.eliminate("load").store("load:options",$extend({data:this,link:"cancel",update:this,method:"get"},a)); },get:function(a){if(a||!this.retrieve("load")){if(a||!this.retrieve("load:options")){this.set("load",a);}this.store("load",new request.html(this.retrieve("load:options"))); }return this.retrieve("load");}};element.implement({load:function(){this.get("load").
send(array.link(arguments,{data:object.type,url:string.type}));return this; }});request.json=new class({extends:request,options:{secure:true},initialize:function(a){this.parent(a);this.headers.extend({accept:"application/json","x-request":"json"}); },success:function(a){this.response.json=json.decode(a,this.options.secure);this.onsuccess(this.response.json,a);}}); ...
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.
...(server can just
send the xul code to use for popup - alternatively it can
send generic xml describing the attributes of the items in the menu and you generate the xul on client by applying an xslt transform.) can i change a xul tree cell/row/item background color with javascript?
...change this line var settings = printutils.getprintsettings(); to this var settings = printutils.getprintsettings().clone(); settings.docurl = " "; // suppress url on printout other options you can modify are documented here: http://www.xulplanet.com/references/...tsettings.html how can i
send xml/xul document fragment to the server instead of using get or post variables?
... you can
send documents using
send(document), so you should be able to insert the fragment into an empty document.
The Basics of Web Services - Archive of obsolete content
web services exchange data from a server to a client, using an xml format to
send requests, so both the server and the client can understand each other.
... a better way to understand a web service is to compare it to a html form communication with a server side script (such as php or asp) to post and
send data.
... both web services and forms
send and receive requests.
...an example is, it is easier to
send a multi-dimensional array with soap rather then with xml-rpc.
Using workers in extensions - Archive of obsolete content
every 10 minutes, it calls xmlhttprequest, and, when the results are received,
sends an event back to the main thread with the received data.
...t!"; } var fullurl = "http://quote.yahoo.com/d/quotes.csv?f=sl1d1t1c1ohgv&e=.csv&s=" + symbol; function inforeceived() { var output = httprequest.responsetext; if (output) { postmessage(output.trim()); } httprequest = null; } var httprequest = new xmlhttprequest(); httprequest.open("get", fullurl, true); httprequest.onload = inforeceived; httprequest.
send(null); } setinterval(function() { refreshinformation(); }, 10*60*1000); onmessage = function(event) { if (event.data) { symbol = event.data.touppercase(); } refreshinformation(); } when the worker thread is started, the main body of this code (in lines 26-35) is executed.
... line 22
sends a message to the ticker thread to tell it what symbol to monitor.
... observe: function(subject, topic, data) { if (topic != "nspref:changed") { return; } switch(data) { case "symbol": this.tickersymbol = this.prefs.getcharpref("symbol").touppercase(); this.worker.postmessage(this.tickersymbol); break; } }, the key here is line 10, which
sends the new ticker symbol to monitor to the ticker thread by calling its postmessage() method.
Debug.write - Archive of obsolete content
the debug.write function
sends strings to the script debugger.
..., strn optional strings to
send to the script debugger.
... remarks the debug.write function
sends strings to the immediate window of a script debugger at run time.
...the only difference is that the debug.writeln function
sends a newline character after the strings are sent.
Debug.writeln - Archive of obsolete content
the debug.writeln function
sends strings to the script debugger, followed by a newline character.
..., strn optional strings to
send to the script debugger.
... remarks the debug.writeln function
sends strings, followed by a newline character, to the immediate window of the microsoft script debugger at run time.
...the only difference is that the debug.write function does not
send a newline character after
sending the strings.
Writing JavaScript for XHTML - Archive of obsolete content
every browser
sends with its request a list of mime types it understands, as part of the http content negotiation mechanism.
... so if the browser tells our server, that it can handle xhtml as xml, that is, the accept: field in the http head contains application/xhtml+xml somewhere, we are safe to
send the content as xml.
... in php, for example, you would write something like this: if( strpos( $_server['http_accept'], "application/xhtml+xml" ) ) { header( "content-type: application/xhtml+xml" ); echo '<?xml version="1.0" ?>'."\n"; } else { header( "content-type: text/html" ); } this distinction also
sends the xml declaration, which is strongly recommended, when the document is an xml file.
... for completeness here is the accept field, that firefox 2.0.0.9
sends with its requests: accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 further reading you will find several useful articles in the developer wiki: xml in mozilla dom xml introduction xml extras dom 2 methods you will need are: dom:document.createelementns dom:document.getelementsbytagnamens see also properly using css and javascript in xhtml documents ...
How does the Internet work? - Learn web development
to
send a message to computer b, computer a must
send the message to the router, which in turn forwards the message to computer b and makes sure the message is not delivered to computer c.
...the next step is to
send the messages from our network to the network we want to reach.
... finding computers if you want to
send a message to a computer, you have to specify which one.
...among those computers, some computers (called web servers) can
send messages intelligible to web browsers.
Web forms — Working with user data - Learn web development
validating and submitting form data client-side form validation
sending data is not enough — we also need to make sure that the data users enter into forms is in the correct format to process it successfully, and that it won't break our applications.
...
sending form data this article looks at what happens when a user submits a form — where does the data go, and how do we handle it when it gets there?
... we also look at some of the security concerns associated with
sending form data.
...
sending forms through javascript this article looks at ways to use a form to assemble an http request and
send it via custom javascript, rather than standard form submission.
Working with JSON - Learn web development
it is commonly used for transmitting data in web applications (e.g.,
sending some data from the server to the client, so it can be displayed on a web page, or vice versa).
...then we
send the request with the
send() method: request.responsetype = 'json'; request.
send(); the last bit of this section involves waiting for the response to return from the server, then dealing with it.
...and when we want to
send a javascript object across the network, we need to convert it to json (a string) before
sending.
...request.
send(); request.onload = function() { const superheroestext = request.response; // get the string from the response const superheroes = json.parse(superheroestext); // convert it to an object populateheader(superheroes); showheroes(superheroes); } as you might guess, stringify() works the opposite way.
Website security - Learn web development
because the injected code comes to the browser from the site, the code is trusted and can do things like
send the user's site authorization cookie to the attacker.
...when the comments are displayed, the script is executed and can
send to the attacker the information required to access the user's account.
...john is a malicious user who knows that a particular site allows logged-in users to
send money to a specified account using an http post request that includes the account name and an amount of money.
...the secret would be supplied by the server when
sending the web form used to make transfers.
Frame script loading and lifetime
for example, from bootstrap.js: services.mm.addmessagelistener( 'my-addon-id', { receivemessage: function() { console.log('incoming message from frame script:', amsg.data); } }, true // must set this argument to true, otherwise
sending message from framescript will not work during and after the unload event on the contentmessagemanager triggers ); then in your frame script, listen for the unload event of the message manager (which is the global this), and
sending a message.
... if you did not set the third argument to true in bootstrap.js on services.mm.addmessagelistener,
sending this message during, and after, the unloading event will do nothing.
... var gcontentframemessagemanager = this; addeventlistener('unload', function(aevent) { if (aevent.target == gcontentframemessagemanager) {
sendasyncmessage('my-addon-id', 'framescript-died'); // if you did not set third argument of `services.mm.addmessagelistener` to `true`, then this will fail to
send a message } }, false); note about unload during uninstallation/upgrade when your add-on is uninstalled, or disabled, you should: cancel it, if you have used allowdelayedload, by calling removedelayedframescript; ensuring the frame script is not loaded into any new tabs.
...you need to
send a message to your frame scripts, telling them to disable themselves; for example, by undoing any changes they've made or removing any event listeners.
How to Report a Hung Firefox
please check the box to
send the crash report to mozilla start firefox.
... linux and mac on linux and mac (firefox >=27),
sending sigabrt to a process will trigger the crash reporter.
...please check the box to
send the crash report to mozilla start firefox.
...please check the box to
send the crash report to mozilla start firefox.
Localizing with Mercurial
sending changes to mozilla now that you have hg account privileges, you can
send your work to mozilla all by yourself.
... here are the steps to
send your l10n work using mercurial: since your l10n work takes place in your own local repository, you should ensure that there are no changes made to the remote repository before committing your work.
... after finishing a change or set of changes and checking you have updated to the latest, you should commit by entering this command: hg commit -m "your message identifying the change (bug 555)" committing won’t
send your changes to mozilla’s repository, but prepares them for it.
... the next step will
send your changes to your remote repo via push.
PRSockOption
syntax #include <prio.h> typedef enum prsockoption { pr_sockopt_nonblocking, pr_sockopt_linger, pr_sockopt_reuseaddr, pr_sockopt_keepalive, pr_sockopt_recvbuffersize, pr_sockopt_
sendbuffersize, pr_sockopt_iptimetolive, pr_sockopt_iptypeofservice, pr_sockopt_addmember, pr_sockopt_dropmember, pr_sockopt_mcastinterface, pr_sockopt_mcasttimetolive, pr_sockopt_mcastloopback, pr_sockopt_nodelay, pr_sockopt_maxsegment, pr_sockopt_last } prsockoption; enumerators the enumeration has the following enumerators: pr_sockopt_nonblocking nonblocking i/o.
... pr_sockopt_linger time to linger on close if data is present in the socket
send buffer.
... pr_sockopt_
sendbuffersize
send buffer size.
...don't delay
send to coalesce packets.
PRSocketOptionData
syntax #include <prio.h> typedef struct prsocketoptiondata { prsockoption option; union { pruintn ip_ttl; pruintn mcast_ttl; pruintn tos; prbool non_blocking; prbool reuse_addr; prbool keep_alive; prbool mcast_loopback; prbool no_delay; prsize max_segment; prsize recv_buffer_size; prsize
send_buffer_size; prlinger linger; prmcastrequest add_member; prmcastrequest drop_member; prnetaddr mcast_if; } value; } prsocketoptiondata; fields the structure has the following fields: ip_ttl ip time-to-live.
...don't delay
send to coalesce packets.
...
send_buffer_size
send buffer size.
... linger time to linger on close if data are present in socket
send buffer.
PR_Shutdown
pr_shutdown_
send.
... further
sends will be disallowed.
...further
sends and receives will be disallowed.
... description the prshutdownhow enumeration is defined as follows: typedef enum prshutdownhow{ pr_shutdown_rcv = 0, pr_shutdown_
send = 1, pr_shutdown_both = 2 } prshutdownhow; ...
NSS 3.35 release notes
if the server
sends a helloretryrequest, it is possible to discard the server socket, and make a new socket to handle any subsequent clienthello.
... several experimental apis were added in support of tls 1.3 features: tls servers are able to
send session tickets to clients on demand, using the experimental ssl_
sendsessionticket function.
... for an initial clienthello, an application can control whether nss
sends a helloretryrequest, and include application-chosen content in the cookie.
... experimental: ssl_
sendsessionticket -
send a session ticket (tls 1.3 server only).
NSS Sample Code Sample1
the secondary host
sends its rsa public key to the primary host as // part of a request for a particular key, or to be added to a list // of secondary hosts.
...// - the application
sends or uses the result (possibly // after base64 encoding it.
... int generatekeys(); // gets the server's public key (wrapping key) to //
send to another server.
...ed" << endl; rv = 1; // error goto done; } // transfer the keys from server1 { secitem *wrappedenckey = 0; secitem *wrappedmackey = 0; secitem *pubkeydata = 0; // get the public key for server 2 so that it can // be sent to server 1 rv = server2->exportpublickey(&pubkeydata); if (rv) { cout << "exportpublickey failed" << endl; goto trans_done; } //
send the public key to server 1 and get back the // wrapped key values rv = server1->exportkeys(pubkeydata, &wrappedenckey, &wrappedmackey); if (rv) { cout << "exportkeys failed" << endl; goto trans_done; } // print - for information cout << "wrapped encryption key" << endl; printbuffer(wrappedenckey->data, wrappedenckey->len); cout << "wrapped mac key" << endl; printb...
Python binding for NSS
o.compression_method sslchannelinfo.compression_method_name sslchannelinfo.session_id the following files were added: doc/examples/cert_trust.py doc/examples/ssl_version_range.py the following constants were added: nss.certdb_terminal_record nss.certdb_valid_peer nss.certdb_trusted nss.certdb_
send_warn nss.certdb_valid_ca nss.certdb_trusted_ca nss.certdb_ns_trusted_ca nss.certdb_user nss.certdb_trusted_client_ca nss.certdb_govt_approved_ca ssl.srtp_aes128_cm_hmac_sha1_32 ssl.srtp_aes128_cm_hmac_sha1_80 ssl.srtp_null_hmac_sha1_32 ssl.srtp_null_hmac_sha1_80 ssl.ssl_ck_des_192_ede3_cbc_with_md5 ssl.ssl_ck_des_...
... socket.makefile() reimplemented file object methods that had been missing (readlines(),
sendall(), and iteration) were implemented makefile now just returns the same socket object but increments an "open" ref count.
... sockets now support the iter protocol added methods: socket.readlines() socket.
sendall() apply patches from miloslav trmač <mitr@redhat.com> for ref counting and threading support.
... nss.nss.oid_str() nss.nss.oid_tag() nss.nss.oid_tag_name() nss.nss.read_der_from_file() nss.nss.x509_alt_name() nss.nss.x509_ext_key_usage() nss.nss.x509_key_usage() the following class methods and properties were added: note: it's a method if the name is suffixed with (), a propety otherwise socket.next() socket.readlines() socket.
sendall() sslsocket.next() sslsocket.readlines() sslsocket.
sendall() authkeyid.key_id authkeyid.serial_number authkeyid.get_general_names() crldistributionpoint.issuer crldistributionpoint.get_general_names() crldistributionpoint.get_reasons() certdb.find_crl_by_cert() certdb.find_crl_by_name() certificate.extensions certificateextension...
Handling Mozilla Security Bugs
version 1.1 important: anyone who believes they have found a mozilla-related security vulnerability can and should report it by
sending email to address security@mozilla.org.
...nomination is done by the "voucher"
sending e-mail to the security bug group private mailing list.
...if the group decides to publish a warning, the module owner, a peer, or some other person they may designate will post this message to the known vulnerabilities page (which will be the authoritative source for this information) and will also
send a copy of this message to an appropriate moderated mailing list and/or newsgroup (e.g., netscape.public.mozilla.announce and/or some other newsgroup/list established specifically for this purpose).
... however, we will ask all individuals and organizations reporting security bugs through bugzilla to follow the voluntary guidelines below: before making a security bug world-readable, please provide a few days notice to the mozilla security bug group by
sending an email to the private security bug group mailing list.
nsIContentFrameMessageManager
idl file: mozilla-central/source/dom/base/nsimessagemanager.idl inherits from: nsisyncmessage
sender this interface provides the environment for scripts that are loaded into content frames using the nsiframescriptloader interface.
... it enables these scripts to receive messages from the chrome process and
send messages back to the chrome process.
... frame scripts can
send either synchronous or asynchronous messages to the chrome process: for details on these messaging apis see the documentation for the nsicontentframemessagemanager's parent classes nsisyncmessage
sender and nsimessage
sender.
... examples once you obtain the conten frame messge manager, you can
send messages to listeners who registered with services.mm.addmessagelistener get content message manager from browser this could would run in a nsidomwindow scope.
nsIContentSecurityPolicy
1.0 66 introduced gecko 2.0 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 acontenttype, in nsiuri acontentlocation, in nsiuri arequestorigin, in nsisupports acontext, in acstring amimetypeguess, in nsisupports aextra); short shouldprocess(in unsigned long acontenttype, in nsiuri acontentlocation, in nsiuri arequestorigin, in nsisupports acontext, in acstring amimetype, in...
... reportonlymode boolean when set to true, content load-blocking and fail-closed are disabled: content security policy will only
send reports, and not modify behavior.
...void scanrequestdata( in nsihttpchannel achannel ); parameters achannel
sendreports() manually triggers violation report
sending given a uri and reason.
...void
sendreports( in astring blockeduri, in astring violateddirective ); parameters blockeduri the uri that violated the policy.
nsIPushSubscription
dom/interfaces/push/nsipushservice.idlscriptable includes information needed to
send a push message to privileged code.
...
sending a post request to this url routes the message to the instance of firefox that created the subscription.
... example const { classes: cc, interfaces: ci, utils: cu } = components; const scriptsecuritymanager = cc["@mozilla.org/scriptsecuritymanager;1"] .getservice(ci.nsiscriptsecuritymanager); const pushservice = cc["@mozilla.org/push/service;1"] .getservice(ci.nsipushservice); function
sendsubscriptiontoserver(subscription) { let request = cc["@mozilla.org/xmlextras/xmlhttprequest;1"] .createinstance(ci.nsixmlhttprequest); request.open("post", "https://example.com/register-for-push", true); request.addeventlistener("error", () => { cu.reporterror("error
sending subscription to server"); }); request.
send(json.stringify({ endpoint: subscription.endp...
...mcharcode.apply(null, btoa(subscription.getkey("p256dh"))), secret: string.fromcharcode.apply(null, btoa(subscription.getkey("auth"))), })); } pushservice.subscribe( "chrome://my-module/push", scriptsecuritymanager.getsystemprincipal(), (code, subscription) => { if (!components.issuccesscode(code)) { cu.reporterror("error creating subscription: " + code); } else {
sendsubscriptiontoserver(subscription); } } ); see also nsipushservice nsipushmessage pushsubscription ...
nsISmsService
dom/sms/interfaces/nsismsservice.idlscriptable used to
send sms text messages for the websms api 1.0 66 introduced gecko 13.0 inherits from: nsisupports last changed in gecko 15.0 (firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) implemented by: @mozilla.org/sms/smsservice;1.
... to create an instance, use: var smsservice = components.classes["@mozilla.org/sms/smsservice;1"] .createinstance(components.interfaces.nsismsservice); method overview [implicit_jscontext] nsidommozsmsmessage createsmsmessage(in long id, in domstring delivery, in domstring
sender, in domstring receiver, in domstring body, in jsval timestamp, in bool read ); unsigned short getnumberofmessagesfortext(in domstring text); boolean hassupport(); void
send(in domstring number, in domstring message, in long requestid, [optional] in unsigned long long processid); methods createsmsmessage() [implicit_jscontext] nsidommozsmsmessage createsmsmessage( in long id, in domstring delivery, in domstring
sender, in domstring receiver, in...
...
sender a domstring with the name of the
sender.
...
send() void
send( in domstring number, in domstring message, in long requestid, in unsigned long long processid optional ); parameters number a domstring with a telephone number to
send to.
nsIWindowMediator
constants constant value description zleveltop 1
send window to top.
... zlevelbottom 2
send window to bottom.
...zleveltop
send the window to the top window, zlevelbottom to the bottom.
...zleveltop
send the window to the top window, zlevelbottom to the bottom.
Activity Manager examples
as a result, all junk processing activities (assuming that we process accounts in parallel) dealing with messages coming from the same
sender will be grouped together.
....constructor("@mozilla.org/activity-process;1", "nsiactivityprocess", "init"); const nsactevent = components.constructor("@mozilla.org/activity-event;1", "nsiactivityevent", "init"); // step 1: implement nsiactivitycontextdisplayhelper to show a // customized display text for our context type function
sendercontextdisplayhelper() { // user stuff here..
... }
sendercontextdisplayhelper.prototype = { getcontextdisplaytext: function(contexttype, contextobj) { // in this particular example we know that contexttype is "
sender" // since we also pass the contexttype along with the contextobject // in some cases, one helper can be registered for a group of context types // we know that the context object is the author of the message // localization is omitted return "messages coming from " + contextobj.surname + ", " + contextobj.firstname; } } // step 2: register the helper for this context type gactivitymanager.registercontextdisplayhelper("
sender", new
sendercontextdisplayhelper()); // step 3: create the process ...
... let process = new nsactprocess("processing folder: " + folder.prettiestname, gjunkprocessor); process.cancelhandler = new canceljunkprocess(); // folder is being filtered/processed process.addsubject(folder); process.contexttype = "
sender"; // assuming msg is an instance of nsimsghdr process.contextobj = msg.author; ...
Standard OS Libraries
to call objective-c based api from ctypes, use the following functions in libobjc.dylib: objc_getclass to get class sel_registername to register selector name objc_msg
send and some variants to
send message to class and instance objective-c code can be translated into c code by the following rule: // objective-c code nsevent loc = [nsevent mouselocation]; // pseudo c code nsevent loc = (nspoint)objc_msg
send(objc_getclass("nsevent"), sel_registername("mouselocation")); example: [nsevent mouselocation] components.utils.import...
...etclass = objc.declare("objc_getclass", ctypes.default_abi, id, ctypes.char.ptr); let sel_registername = objc.declare("sel_registername", ctypes.default_abi, sel, ctypes.char.ptr); let objc_msg
send = objc.declare("objc_msg
send", ctypes.default_abi, id, id, sel, "..."); let cgfloat = ctypes.voidptr_t.size == 4 ?
... ctypes.float : ctypes.double; // 64bit its double, in 32bit its float let nspoint = new ctypes.structtype("nspoint", [ { "x" : cgfloat }, { "y" : cgfloat } ]); // note: [nsevent mouselocation] returns nspoint struct, // which is small enough to return in register, // so we don't need to use objc_msg
send_stret.
... let objc_msg
send_nspoint = objc.declare("objc_msg
send", ctypes.default_abi, nspoint, id, sel, "..."); // loc = [nsevent mouselocation] let nsevent = objc_getclass("nsevent"); let mouselocation = sel_registername("mouselocation"); let loc = objc_msg
send_nspoint(nsevent, mouselocation); components.utils.reporterror(loc); objc.close(); resources for cocoa googlecode :: js-macosx - lightweight bridge for calling cocoa frameworks from mozilla javascript unmht blog :: js-ctypes and objc - blog entries on using objective-c from js-ctypes githubgists :: noitidart / search · objc - objective-c...
PerformanceEventTiming - Web APIs
0 : infinity; document.addeventlistener('visibilitychange', (event) => { firsthiddentime = math.min(firsthiddentime, event.timestamp); }, {once: true}); //
sends the passed data to an analytics endpoint.
...function
sendtoanalytics(data) { const body = json.stringify(data); // use `navigator.
sendbeacon()` if available, falling back to `fetch()`.
... (navigator.
sendbeacon && navigator.
sendbeacon('/analytics', body)) || fetch('/analytics', {body, method: 'post', keepalive: true}); } // use a try/catch instead of feature detecting `first-input` // support, since some browsers throw when using the new `type` option.
...
sendtoanalytics({fid}); } } // create a performanceobserver that calls `onfirstinputentry` for each entry.
Push API - Web APIs
the resulting pushsubscription includes all the information that the application needs to
send a push message: an endpoint and the encryption key needed for
sending data.
... the endpoint for the subscription is a unique capability url: knowledge of the endpoint is all that is necessary to
send a message to your application.
... the endpoint url therefore needs to be kept secret, or other applications might be able to
send push messages to your application.
... note: chrome versions earlier than 52 require you to set up a project on google cloud messaging to
send push messages, and use the associated project number and api key when
sending push notifications.
RTCDataChannel: open event - Web APIs
the webrtc open event is sent to an rtcdatachannel object's onopen event handler when the underlying transport used to
send and receive the data channel's messages is opened or re-opened.
...it enables the message input box and
send button as well as enabling the disconnect button and disabling the connect button.
... dc.addeventlistener("open", ev => { messageinputbox.disabled = false;
sendmessagebutton.disabled = false; disconnectbutton.disabled = false; connectbutton.disabled = true; messageinputbox.focus(); }, false); this can also be done by directly setting the value of the channel's onopen event handler property.
... dc.onopen = ev => { messageinputbox.disabled = false;
sendmessagebutton.disabled = false; disconnectbutton.disabled = false; connectbutton.disabled = true; messageinputbox.focus(); } ...
RTCPeerConnection: icecandidate event - Web APIs
rtcpeerconnection.onicecandidate = (event) => { if (event.candidate) {
sendcandidatetoremotepeer(event.candidate) } else { /* there are no more candidates coming during this negotiation */ } } the remote peer, upon receiving the candidate, will add the candidate to its candidate pool by calling addicecandidate(), passing in the candidate string you have passed along using the signaling server.
... this signal exists for backward compatibility purposes and does not need to be delivered onward to the remote peer (which is why the code snippet above checks to see if event.candidate is null prior to
sending the candidate along.
... examples this example creates a simple handler for the icecandidate event that uses a function called
sendmessage() to create and
send a reply to the remote peer through the signaling server.
... first, an example using addeventlistener(): pc.addeventlistener("icecandidate", ev => { if (ev.candidate) {
sendmessage({ type: "new-ice-candidate", candidate: event.candidate }); } }, false); you can also set the onicecandidate event handler property directly: pc.onicecandidate = ev => { if (ev.candidate) {
sendmessage({ type: "new-ice-candidate", candidate: event.candidate }); } }; specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'icecandidate' in that specification.
RTCPeerConnection: negotiationneeded event - Web APIs
its role is to create an sdp offer and
send it through the signaling channel to the remote peer.
... pc.addeventlistener("negotiationneeded", ev => { pc.createoffer() .then(offer => return pc.setlocaldescription(offer)) .then(() =>
sendsignalingmessage({ type: "video-offer", sdp: pc.localdescription })) .catch(err => { /* handle error */ ); }, false); after creating the offer, the local end is configured by calling rtcpeerconnection.setlocaldescription(); then a signaling message is created and sent to the remote peer through the signaling server, to share that offer with the other peer.
... the other peer should recognize this message and follow up by creating its own rtcpeerconnection, setting the remote description with setremotedescription(), and then creating an answer to
send back to the offering peer.
... you can also set an event handler for the negotiationneeded event by assigning the event handler function to the rtcpeerconnection.onnegotiationneeded property: pc.onnegotiationneeded = ev => { pc.createoffer() .then(offer => return pc.setlocaldescription(offer)) .then(() =>
sendsignalingmessage({ type: "video-offer", sdp: pc.localdescription })) .catch(err => { /* handle error */ ); }; for a more detailed example, see starting negotiation in signaling and video calling.
RTCPeerConnection.removeTrack() - Web APIs
the rtcpeerconnection.removetrack() method tells the local end of the connection to stop
sending media from the specified track, without actually removing the corresponding rtcrtp
sender from the list of
senders as reported by rtcpeerconnection.get
senders().
... if the track is already stopped, or is not in the connection's
senders list, this method has no effect.
... syntax pc.removetrack(
sender); parameters mediatrack a rtcrtp
sender specifying the
sender to remove from the connection.
... var pc,
sender; navigator.getusermedia({video: true}, function(stream) { pc = new rtcpeerconnection(); var track = stream.getvideotracks()[0];
sender = pc.addtrack(track, stream); }); document.getelementbyid("closebutton").addeventlistener("click", function(event) { pc.removetrack(
sender); pc.close(); }, false); specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcpeerconnection.removetrack()' in that specification.
RTCRtpStreamStats.firCount - Web APIs
the fircount property of the rtcrtpstreamstats dictionary indicates the number of full intra request (fir) packets have been sent by the receiver to the
sender.
... syntax var fircount = rtcrtpstreamstats.fircount; value an integer value indicating how many fir packets have been received by the
sender during the current connection.
... the receiver
sends a fir packet to the
sender any time it falls bahind or loses packets and cannot decode the incoming stream any longer because of the lost data.
... this tells the
sender to
send a full frame instead of a delta frame, so that the receiver can catch up.
RTCRtpTransceiver.setCodecPreferences() - Web APIs
that means that either the associated rtcrtp
sender or the rtcrtpreceiver needs to support every codec in the list.
... to determine which codecs are supported by the transceiver, call the
sender's getcapabilities() and the receiver's getcapabilities() methods and get the codecs list from the results of each.
... the following code snippet demonstrates how to get both the list of codecs supported by the transceiver's rtcrtp
sender and rtcrtpreceiver.
... var avail
sendcodecs = transceiver.
sender.getcapabilities("video").codecs; var availreceivecodecs = transceiver.receiver.getcapabilities("video").codecs; specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcrtptransceiver.setcodecpreferences()' in that specification.
RTCStats - Web APIs
rtcstats is the foundation of all webrtc statistics objects rtcrtpstreamstats adds to rtcstats information that applies to all rtp endpoints (that is, both local and remote endpoints, and regardless of whether the endpoint is a
sender or a receiver) rtcreceivedrtpstreamstats further adds statistics measured at the receiving end of an rtp stream, regardless of whether it's local or remote.
... rtcsentrtpstreamstats offers statistics related to the
sending end of an rtp stream.
... rtcoutboundrtpstreamstats contains statistics about the local
sending endpoint of an rtp stream.
... rtcremoteoutboundrtpstreamstats holds statistics related to the remote
sending end an rtp stream.
WebRTC connectivity - Web APIs
they will then
send this offer to peer b using the chosen signal channel.
...they will then
send this back to peer a along the signal channel.
... the recipient uses the signaling server to
send the answer to the caller.
... to programmatically initiate a rollback,
send a description whose type is rollback.
Web Authentication API - Web APIs
server
sends challenge, user info, and relying party info - the server
sends a challenge, user information, and relying party information to the javascript program.
... browser creates final data, application
sends response to server - the create() promise resolves to an publickeycredential, which has a publickeycredential.rawid that is the globally unique credential id along with a response that is the authenticatorattestationresponse containing the authenticatorresponse.clientdatajson and authenticatorattestationresponse.attestationobject.
... server
sends challenge - the server
sends a challenge to the javascript program.
... browser creates final data, application
sends response to server - the browser resolves the promise to a publickeycredential with a publickeycredential.response that contains the authenticatorassertionresponse.
WritableStream - Web APIs
it then calls a function called
sendmessage(), passing the newly created stream and a string.
... const list = document.queryselector('ul'); function
sendmessage(message, writablestream) { // defaultwriter is of type writablestreamdefaultwriter const defaultwriter = writablestream.getwriter(); const encoder = new textencoder(); const encoded = encoder.encode(message, { stream: true }); encoded.foreach((chunk) => { defaultwriter.ready .then(() => { return defaultwriter.write(chunk); }) .then(() => { console.log("chunk written to ...
...ateelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.textcontent = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy);
sendmessage("hello, world.", writablestream); you can find the full code in our simple writer example.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
XDomainRequest - Web APIs
this interface can
send both get and post requests.
... xdomainrequest.
send()
sends the request.
... event handlers xdomainrequest.onprogress a handler for when the request has made progress between the
send method call and the onload event.
... example if(window.xdomainrequest){ var xdr = new xdomainrequest(); xdr.open("get", "http://example.com/api/method"); xdr.onprogress = function () { //progress }; xdr.ontimeout = function () { //timeout }; xdr.onerror = function () { //error occurred }; xdr.onload = function() { //success(xdr.responsetext); } settimeout(function () { xdr.
send(); }, 0); } note: the xdr.
send() call is wrapped in a timeout (see window.settimeout() to prevent an issue with the interface where some requests are lost if multiple xdomainrequests are being sent at the same time.
HTML in XMLHttpRequest - Web APIs
usage retrieving an html resource as a dom using xmlhttprequest works just like retrieving an xml resource as a dom using xmlhttprequest, except you can't use the synchronous mode and you have to explicitly request a document by assigning the string "document" to the responsetype property of the xmlhttprequest object after calling open() but before calling
send().
... var xhr = new xmlhttprequest(); xhr.onload = function() { console.log(this.responsexml.title); } xhr.open("get", "file.html"); xhr.responsetype = "document"; xhr.
send(); feature detection method 1 this method relies on the "force async" nature of the feature.
...readystatechange = function() { if (this.readystate == 4 && !done) { done = true; callback(!!(this.responsexml && this.responsexml.title && this.responsexml.title == "&&<")); } } xhr.onabort = xhr.onerror = function() { if (!done) { done = true; callback(false); } } try { xhr.open("get", "detect.html"); xhr.responsetype = "document"; xhr.
send(); } catch (e) { window.settimeout(function() { if (!done) { done = true; callback(false); } }, 0); } } the argument callback is a function that will be called asynchronously with true as the only argument if html parsing is supported and false as the only argument if html parsing is not supported.
...1] + "[^>]*[>]))*.?<\\s*" + aexec[1] + "[^>]*[>](?:.(?!<\\s*\/\\s*" + aexec[1] + "\\s*>))*.?<\\s*\/\\s*" + aexec[1] + "\\s*>)*(?:.(?!<\\s*\/\\s*" + aexec[1] + "\\s*>))*.?", "i")).exec(ssrc.slice(ssrc.indexof(aexec[0]) + aexec[0].length)) || "" : ""; } var oreq = new xmlhttprequest(); oreq.open("get", "yourpage.html", true); oreq.onload = function () { console.log(gethtml(this, "intro")); }; oreq.
send(null); note: this solution is very expensive for the interpreter.
XMLHttpRequest.readyState - Web APIs
2 headers_received
send() has been called, and headers and status are available.
...during this state, the request headers can be set using the setrequestheader() method and the
send() method can be called which will initiate the fetch.
... headers_received
send() has been called and the response headers have been received.
...mple var xhr = new xmlhttprequest(); console.log('unsent', xhr.readystate); // readystate will be 0 xhr.open('get', '/api', true); console.log('opened', xhr.readystate); // readystate will be 1 xhr.onprogress = function () { console.log('loading', xhr.readystate); // readystate will be 3 }; xhr.onload = function () { console.log('done', xhr.readystate); // readystate will be 4 }; xhr.
send(null); specifications specification status comment xmlhttprequest living standard whatwg living standard ...
Linear-gradient Generator - CSS: Cascading Style Sheets
'data-hidden', 'true'); else this.dropmenu.removeattribute('data-hidden'); }; dropdown.prototype.updatevalue = function updatevalue(e) { if (date.now() - this.time < 500) return; if (e.target.classname !== "ui-dropdown-list") { this.setnodevalue(e.target); this.toggle(false); } this.time = date.now(); }; dropdown.prototype.setnodevalue = function setnodevalue(node,
send_notify) { this.value['name'] = node.textcontent; this.value['value'] = node.getattribute('data-value'); this.select.textcontent = node.textcontent; this.select.setattribute('data-value', this.value['value']); if (
send_notify !== false) notify.call(this); }; var clickout = function clickout(e) { if (active.state === 0 || e.target === active.dropmenu || e.target === active...
... var dropdown = document.createelement('div'); dropdown.setattribute('data-topic', topic); dropdown.classname = 'ui-dropdown'; for (var i in options) { var x = document.createelement('div'); x.setattribute('data-value', i); x.textcontent = options[i]; dropdown.appendchild(x); } new dropdown(dropdown); return dropdown; }; var setvalue = function setvalue(topic, index,
send_notify) { if (dropdowns[topic] === undefined || index >= dropdowns[topic].dropmenu.children.length) return; dropdowns[topic].setnodevalue(dropdowns[topic].dropmenu.children[index],
send_notify); }; var subscribe = function subscribe(topic, callback) { if (subscribers[topic] === undefined) subscribers[topic] = []; subscribers[topic].push(callback); }; var unsubscribe = func...
... name; node.appendchild(info); } node.appendchild(slider_left); node.appendchild(input); node.appendchild(slider_right); this.input = input; sliders[topic] = this; setvalue(topic, value); }; inputslider.prototype.setinputvalue = function setinputvalue() { this.input.value = this.value.tofixed(this.precision) + this.unit; }; var setvalue = function setvalue(topic, value,
send_notify) { var slider = sliders[topic]; if (slider === undefined) return; value = parsefloat(value.tofixed(slider.precision)); if (value > slider.max) value = slider.max; if (value < slider.min) value = slider.min; slider.value = value; slider.node.setattribute('data-value', value); slider.setinputvalue(); if (
send_notify === false) return; notify.call(slider); }; ...
... var setmax = function setmax(topic, value) { var slider = sliders[topic]; if (slider === undefined) return; slider.max = value; setvalue(topic, slider.value); }; var setmin = function setmin(topic, value) { var slider = sliders[topic]; if (slider === undefined) return; slider.min = value; setvalue(topic, slider.value); }; var setunit = function setunit(topic, unit,
send_notify) { var slider = sliders[topic]; if (slider === undefined) return; slider.unit = unit; setvalue(topic, slider.value,
send_notify); }; var setstep = function setstep(topic, value) { var slider = sliders[topic]; if (slider === undefined) return; slider.step = parsefloat(value); setvalue(topic, slider.value); }; var setprecision = function setprecision(topic, valu...
<iframe>: The Inline Frame element - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
... referrerpolicy indicates which referrer to
send when fetching the frame's resource: no-referrer: the referer header will not be sent.
... strict-origin: only
send the origin of the document as the referrer when the protocol security level stays the same (https→https), but don't
send it to a less secure destination (https→http).
... strict-origin-when-cross-origin:
send a full url when performing a same-origin request, only
send the origin when the protocol security level stays the same (https→https), and
send no header to a less secure destination (https→http).
<input type="search"> - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
... incremental whether or not to
send repeated search events to allow updating live search results while the user is still editing the value of the field.
...as the user edits the value of the field, the user agent
sends search events to the htmlinputelement object representing the search box.
... permitted values are: go, done, next, search, and
send.
<script>: The Script element - HTML: Hypertext Markup Language
referrerpolicy indicates which referrer to
send when fetching the script, or resources fetched by the script: no-referrer: the referer header will not be sent.
... strict-origin: only
send the origin of the document as the referrer when the protocol security level stays the same (e.g.
... https→https), but don't
send it to a less secure destination (e.g.
... strict-origin-when-cross-origin:
send a full url when performing a same-origin request, but only
send the origin when the protocol security level stays the same (e.g.https→https), and
send no header to a less secure destination (e.g.
CSP: referrer - HTTP
"origin" only
send the origin of the document as the referrer in all cases.
... the document https://example.com/page.html will
send the referrer https://example.com/.
... "origin-when-cross-origin" / "origin-when-crossorigin"
send a full url when performing a same-origin request, but only
send the origin of the document for other cases.
... "unsafe-url"
send a full url (stripped from parameters) when performing a same-origin or cross-origin request.
Expect - HTTP
no common browsers
send the expect header, but some other clients such as curl do so by default.
... expect: 100-continue directives 100-continue informs recipients that the client is about to
send a (presumably large) message body in this request and wishes to receive a 100 (continue) interim response.
... examples large message body a client
sends a request with a expect header and waits for the server to respond before
sending the message body.
... 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.
Upgrade - HTTP
for example, the client might
send a get request as shown, listing the preferred protocols to switch to (in this case "example/1" and "foo/2"): get /index.html http/1.1 host: www.example.com connection: upgrade upgrade: example/1, foo/2 note: connection: upgrade must be set whenever upgrade is sent.
... if the server decides to upgrade the connection, it must:
send back a 101 switching protocols response status with an upgrade header that specifies the protocol(s) being switched to.
... for example: http/1.1 101 switching protocols upgrade: foo/2 connection: upgrade
send a response to the original request using the new protocol (the server may only switch to a protocol with which it can complete the original request).
... a server may also
send the header as part of a 426 upgrade required response, to indicate that the server won't perform the request using the current protocol, but might do so if the protocol is changed.
An overview of HTTP - HTTP
to present a web page, the browser
sends an original request to fetch the html document that represents the page.
... http flow when a client wants to communicate with a server, either the final server or an intermediate proxy, it performs the following steps: open a tcp connection: the tcp connection is used to
send a request, or several, and receive an answer.
...
send an http message: http messages (before http/2) are human-readable.
... another api, server-sent events, is a one-way service that allows a server to
send events to the client, using http as a transport mechanism.
HTTP range requests - HTTP
http range requests allow to
send only a portion of an http message from a server to a client.
...some sites also explicitly
send "none" as a value, indicating no support.
... 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.
...the server
sends data to the client straight away without buffering the response or determining the exact length, which leads to improved latency.
Cross-domain Content Scripts - Archive of obsolete content
nction(message) { console.log(message); }); the "page.html" file embeds an iframe whose content is served from "http://en.m.wikipedia.org/": <!doctype html> <!-- page.html --> <html> <head></head> <body> <iframe id="wikipedia" src="http://en.m.wikipedia.org/"></iframe> </body> </html> the "page-script.js" file locates "today's featured article" and
sends its content to "main.js": // page-script.js var iframe = window.document.getelementbyid("wikipedia"); var todaysfeaturedarticle = iframe.contentwindow.document.getelementbyid("mp-tfa"); self.postmessage(todaysfeaturedarticle.textcontent); for this to work, we need to add the "cross-domain-content" key to "package.json": "permissions": { "cross-domain-content": ["http://en.m.wikipedia.org/"...
... the "main.js": creates a panel whose content is supplied by "panel.html" and adds a content script "panel-script.js" to it
sends the panel a "show" message when it is shown adds a button which shows the panel when it is clicked // main.js var data = require("sdk/self").data; var forecast_panel = require("sdk/panel").panel({ height: 50, contenturl: data.url("panel.html"), contentscriptfile: data.url("panel-script.js") }); forecast_panel.on("show", function(){ forecast_panel.port.emit("show"); }); require("sdk/ui/bu...
...regionalforecast/json/500?key=your-api-key"; self.port.on("show", function () { var request = new xmlhttprequest(); request.open("get", url, true); request.onload = function () { var jsonresponse = json.parse(request.responsetext); var summary = getsummary(jsonresponse); var element = document.getelementbyid("forecast_summary"); element.textcontent = summary; }; request.
send(); }); function getsummary(forecast) { return forecast.regionalfcst.fcstperiods.period[0].paragraph[0].$; } finally, we need to add the "cross-domain-content" key to "package.json": "permissions": { "cross-domain-content": ["http://datapoint.metoffice.gov.uk"] } content permissions and unsafewindow if you use "cross-domain-content", then javascript values in content scripts will not be...
self - Archive of obsolete content
o the content script in the options property of self: // main.js const tabs = require("sdk/tabs"); tabs.open({ url: "./page.html", onready: function(tab) { tab.attach({ contentscriptfile: "./content-script.js", contentscriptoptions: { a: "blah" } }); } }); // content-script.js alert(self.options.a); port you can use port to receive messages from, and
send messages to, the main add-on code.
... methods the self object has four methods, which enable the content script to
send messages to, and receive messages from, the main add-on code.
... postmessage()
send a message from a content script to a listener in the main add-on code: self.postmessage(contentscriptmessage); this takes a single parameter, the message payload, which may be any json-serializable value.
Displaying annotations - Archive of obsolete content
if it finds any it binds functions to that element's mouseenter and mouseleave events to
send messages to the main module, asking it to show or hide the annotation.
... like the selector, the matcher also listens for the window's unload event and on unload
sends a detach message to the main module, so the add-on can clean it up.
...this function: initializes the content script instance with the current set of annotations provides a handler for messages from that content script, handling the three messages - show, hide and detach - that the content script might
send adds the worker to an array, so we it can
send messages back later.
Storing annotations - Archive of obsolete content
so the content script binds a click handler to the links which will
send the url to the add-on.
... when the panel is shown we
send it the array of stored annotations.
... when the panel
sends us a url we use the tabs module to open it in a new tab.
Jetpack Processes - Archive of obsolete content
privileged apis when script is evaluated in a jetpack process via a call to nsijetpack.evalscript(), the script's global scope is endowed with the following privileged apis:
sendmessage(amessagename [, v1 [, v2 [, ...]]]) similar to nsijetpack.
sendmessage(), this function asynchronously
sends a message to the chrome process.
... callmessage(amessagename [, v1 [, v2 [, ...]]]) this function is like
sendmessage() but
sends the message synchronously.
...registerreceiver(amessagename, areceiver) similar to nsijetpack.registerreceiver(), this function registers a callback that is triggered when the chrome process
sends a message with the given name.
Promises - Archive of obsolete content
let resp = yield new promise((resolve, reject) => { let xhr = new xmlhttprequest; xhr.onload = resolve; xhr.onerror = reject; xhr.open("get", dataurl); xhr.responsetype = "json"; xhr.
send(); }); let data = resp.target.response; // use the response to construct form data object for the // second request.
... resp = yield new promise((resolve, reject) => { let xhr = new xmlhttprequest; xhr.onload = resolve; xhr.onerror = reject; xhr.open("post", updateurl); xhr.
send(form); }); // use the response of the second request.
...for (let header of object.keys(options.headers || {})) xhr.setrequestheader(header, options.headers[header]); let data = options.data; if (data && object.getprototypeof(data).constructor.name == "object") { options.data = new formdata; for (let key of object.keys(data)) options.data.append(key, data[key]); } xhr.
send(options.data); }); } example usage: task.spawn(function* () { let request = yield request("http://example.com/", { method: "put", mimetype: "application/json", headers: { "x-species": "hobbit" }, data: { foo: new file(path), thing: "stuff" }, responsetype: "json" }); console.log(request.
Inner-browsing extending the browser navigation paradigm - Archive of obsolete content
in general, when a webmail account has more than a few messages, clicking 'next page'
sends a request to the server.
...data request \________ dynamically create a hidden iframe \_________ content is loaded -> call data binder data binder \_____ load xml||html data from iframe "container" \_____
send content to proper layout components the method presented here separates data request from data binding.
...it also
sends an event to the data binder module.
Frequently Asked Questions - Archive of obsolete content
when servers
send user agents an svg file they must tell the user agent that the file has the mime type "image/svg+xml", and if the svg file is stored gzipped they must tell the browser that too.
...failing to respect the mime types servers
send is incorrect and has been a source of security holes in other browsers.
...if you'd prefer to contact us by email you can
send an email to our newsgroup mozilla.dev.tech.svg which is archived here.
Uploading and Downloading Files - Archive of obsolete content
the formdata object can then simply be passed to xmlhttprequest: function upload(posturl, fieldname, filepath) { var formdata = new formdata(); formdata.append(fieldname, new file(filepath)); var req = new xmlhttprequest(); req.open("post", posturl); req.onload = function(event) { alert(event.target.responsetext); }; req.
send(formdata); } http put you can also upload a file using an http put operation.
... this is simpler but it doesn't allow
sending additional data and web servers usually need special configuration to support put operations.
... function uploadput(posturl, filepath) { var req = new xmlhttprequest(); req.open("put", posturl); req.setrequestheader("content-type", "text/plain"); req.onload = function(event) { alert(event.target.responsetext); } req.
send(new file(filepath)); } in this example, a new input stream is created for a file, and is passed to the xmlhttprequest's
send method.
Using SOAP in XULRunner 1.9 - Archive of obsolete content
ce'; var method = 'foo'; var params = { 'foo': 'bar', 'baz': 'bang' }; var callback = function(obj) { components.utils.reporterror(obj.tosource()); }; soapclient.proxy = url; var body = new soapobject(method); body.ns = ns; for (var k in params) { body.appendchild(new soapobject(k).val(params[k])); } var req = new soaprequest(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: so...
...apclient.contenttype + "; charset=\"" + soapclient.charset + "\"", < before
send: function(req) { < req.setrequestheader("method", "post"); < req.setrequestheader("content-length", soapclient.contentlength); < req.setrequestheader("soapserver", soapclient.soapserver); < req.setrequestheader("soapaction", soapreq.action); < } < }); --- > 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); ...
Adobe Flash - Archive of obsolete content
enter some text in the html form field below and then click outside the field, or hit the enter key, to
send the text to the flash movie below: the example is missing.
... var myflash = document.getelementbyid("myflash").setvariable("myvar",
sendtext); a more expanded code example that shows how example 2 was created is shown in this source listing.
...} in the above code listing, the javascript function handles what flash
sends it, and is named the same as the embed element's name attribute, concatenated with "_dofscommand".
Encryption and Decryption - Archive of obsolete content
a person with an unauthorized symmetric key not only can decrypt messages sent with that key, but can encrypt new messages and
send them as if they came from one of the two parties who were originally using the key.
...in general, to
send encrypted data to someone, you encrypt the data with that person's public key, and the person receiving the encrypted data decrypts it with the corresponding private key.
...however, it's possible to use public-key encryption to
send a symmetric key, which can then be used to encrypt additional data.
Debug - Archive of obsolete content
the debug object is an instrinsic global object that
sends output to a debugger.
... debug.write
sends strings to the script debugger.
... debug.writeln
sends strings to the script debugger, followed by a newline character.
Game distribution - Game development
you can just
send them a direct url to access the game, which they can then click to play the game right away without the need to use third party plugins or download and install a large package.
...whether you should go that way or not depends on what your plan is for having your game distributed: do you want to
send it wherever possible, or do you want to restrict its presence to those who've bought an exclusive license?
... there are also independent portals collecting interesting games like html5games.com, gamearter.com, marketjs.com, gameflare, gamedistribution.com or poki where you can
send your game in and it will get some natural promotion because of the big traffic those sites attract.
WebRTC data channels - Game development
a webrtc data channel lets you
send text or binary data over an active connection to a peer.
... in the context of a game, this lets players
send data to each other, whether text chat or game status information.
... reliable channels guarantee that messages you
send arrive at the other peer and in the same order in which they're sent.
TCP slow start - MDN Web Docs Glossary: Definitions of Web-related terms
the server
sends data in tcp packets, the user's client then confirms delivery by returning acknoledgements, or acks.
...if the server
sends too many packets too quickly, they will be dropped.
...congestion control algorithms use this flow of sent packets and acks to determine a
send rate.
XInclude - MDN Web Docs Glossary: Definitions of Web-related terms
) { 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?
... case null: case 'xml': responsetype = 'responsexml'; break; default: alert('xinclude element contains an invalid "parse" attribute value'); return false; break; } request.
send(null); if((request.status === 200 || request.status === 0) && request[responsetype] !== null) { response = request[responsetype]; if (responsetype === 'responsexml') { // apply xpointer (only xpath1() subset is supported) var responsenodes; if (x...
... request2.overridemimetype('text/plain; charset='+encodingtype); request2.open('get', href, false); request2.setrequestheader('if-modified-since', 'thu, 1 jan 1970 00:00:00 gmt'); request2.setrequestheader('cache-control', 'no-cache'); request2.
send(null); response = request2[responsetype]; // update the response for processing } // replace xinclude with the response as text var textnode = docu.createtextnode(response); xincludeparent.replacechild(textnode, xinclude); }...
Creating hyperlinks - Learn web development
for example: <a href="mailto:nowhere@mozilla.org">
send email to nowhere</a> this results in a link that looks like this:
send email to nowhere.
...this is often useful as "share" links that users can click to
send an email to an address of their choosing.
... here's an example that includes a cc, bcc, subject and body: <a href="mailto:nowhere@mozilla.org?cc=name2@rapidtables.com&bcc=name3@rapidtables.com&subject=the%20subject%20of%20the%20email&body=the%20body%20of%20the%20email">
send mail with cc, bcc, subject and body </a> note: the values of each field must be url-encoded, that is with non-printing characters (invisible characters like tabs, carriage returns, and page breaks) and spaces percent-escaped.
Index - Learn web development
323
sending form data beginner, codingscripting, files, forms, guide, html, http, headers, security, web as we'd alluded to above,
sending form data is easy, but securing an application can be tricky.
... 324
sending forms through javascript advanced, example, forms, forms guide, guide, html, html forms, javascript, learn, security, web, web forms html forms can
send an http request declaratively.
... but forms can also prepare an http request to
send via javascript, for example via xmlhttprequest.
Introduction to web APIs - Learn web development
the twilio api, which provides a framework for building voice and video call functionality into your app,
sending sms/mms from your apps, and more.
... the following code provides a simple example of how this would be used: let requesturl = 'https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json'; let request = new xmlhttprequest(); request.open('get', requesturl); request.responsetype = 'json'; request.
send(); request.onload = function() { const superheroes = request.response; populateheader(superheroes); showheroes(superheroes); } note: you can see this code in action in our ajax.html example (see it live also).
... the first five lines specify the location of the resource we want to fetch, create a new instance of a request object using the xmlhttprequest() constructor, open an http get request to retrieve the specified resource, specify that the response should be sent in json format, then
send the request.
JavaScript object basics - Learn web development
it is very common to create an object using an object literal when you want to transfer a series of structured, related data items in some manner, for example
sending a request to the server to be put into a database.
...
sending a single object is much more efficient than
sending several items individually, and it is easier to work with than an array, when you want to identify individual items by name.
... note: it is useful to think about the way objects communicate as message passing — when an object needs another object to perform some kind of action often it
sends a message to another object via one of its methods, and waits for a response, which we know as a return value.
Properly configuring server MIME types - Learn web development
for example, a web site oriented for web developers might wish to
send certain example html documents as either text/html or text/plain in order to have the documents either processed and displayed as html or as source code.
... how to set up your server to
send the correct mime types the fundamental idea is to configure your server to
send the correct content-type http header for each document.
... if you're using the apache web server, simply copy this sample .htaccess file to the directory that contains the files that you want to
send with the correct mime types.
Limitations of chrome scripts
there is a shim that will forward these two topics to the chrome process,
sending cpows as the asubject argument.
...for example: addeventlistener("load", handler, true) // for example if you need to contact the chrome process when that happens,
send it a message.
... if an add-on wants to use a jsm to share state in this way, it's best to load the jsm in the chrome process, and have frame scripts store and access the jsm's state by
sending messages to the chrome process using the message manager.
How Mozilla determines MIME Types
this is, however, overridden by the actual mime type the server
sends (if any).
...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.
... if the server did not
send a content-type header, mozilla uses the unknown decoder to find a mime type.
Bootstrapping a new locale
once you have that account,
send the l10n-drivers the details to be added as a "writer".
...after doing hg commit, you still need to
send the changes to bitbucket.
... this is why you need to do hg push, which
sends the already made commits to the remote repository (http://bitbucket.org/mozillal10n/ab-cd/ in the example above).
QA phase
after you test your localization, you should
send it to a remote repository, which will serve as a backup for your work and will let others follow your progress.
...after doing hg commit, you still need to
send the changes to the remote repository.
...this
sends your commits to the remote repository.
Nonblocking IO In NSPR
the potentially-blocking io functions include <tt>pr_connect()</tt>, <tt>pr_accept()</tt>, <tt>pr_acceptread()</tt>, <tt>pr_read()</tt>, <tt>pr_write()</tt>, <tt>pr_writev()</tt>, <tt>pr_recv()</tt>, <tt>pr_
send()</tt>, <tt>pr_recvfrom()</tt>, <tt>pr_
sendto()</tt>, and <tt>pr_transmitfile(),</tt> and do not include <tt>pr_bind()</tt> and <tt>pr_listen()</tt>.
... <tt>pr_write()</tt>, <tt>pr_
send()</tt>, <tt>pr_writev()</tt> in blocking mode block until the entire buffer is sent.
... in nonblocking mode, they cannot block, so they may return with just
sending part of the buffer.
PRIOMethods
{ prdesctype file_type; prclosefn close; prreadfn read; prwritefn write; pravailablefn available; pravailable64fn available64; prfsyncfn fsync; prseekfn seek; prseek64fn seek64; prfileinfofn fileinfo; prfileinfo64fn fileinfo64; prwritevfn writev; prconnectfn connect; pracceptfn accept; prbindfn bind; prlistenfn listen; prshutdownfn shutdown; prrecvfn recv; pr
sendfn
send; prrecvfromfn recvfrom; pr
sendtofn
sendto; prpollfn poll; pracceptreadfn acceptread; prtransmitfilefn transmitfile; prgetsocknamefn getsockname; prgetpeernamefn getpeername; prgetsockoptfn getsockopt; prsetsockoptfn setsockopt; }; typedef struct priomethods priomethods; parameters file_type type of file represented (tos).
...
send send all the bytes specified.
...
sendto
send bytes to specified network address.
Index
-d dbdir specify the key/certificate database directory (default is ".") -e envfile specify a file containing an enveloped message for a set of recipients to which you would like to
send an encrypted message.
...for certificates-only message, list of certificates to
send.
...f the attribute codes: o p - valid peer o p - trusted peer (implies p) o c - valid ca o t - trusted ca to issue client certificates (implies c) o c - trusted ca to issue server certificates (ssl only) (implies c) o u - certificate can be used for authentication or signing o w -
send warning (use with other attributes to include a warning when the certificate is used in that context) the attribute codes for the categories are separated by commas, and the entire set of attributes enclosed by quotation marks.
sslerr.html
ssl_error_tx_record_too_long -12262 "ssl attempted to
send a record that exceeded the maximum permissible length." this error should never occur.
...or_encryption_failure -12218 "bulk data encryption algorithm failed in selected cipher suite." ssl_error_decryption_failure -12217 "bulk data decryption algorithm failed in selected cipher suite." ssl_error_socket_write_failure -12216 "attempt to write encrypted data to underlying socket failed." after the data to be sent was encrypted, the attempt to
send it out the socket failed.
... sec_error_message_
send_aborted -8103 message not sent.
sslintro.html
the handshake occurs automatically the first time communication is requested with a socket read/write or
send/receive call.
... functions that can be used by both clients and servers during communication include the following: pr_
send or pr_write pr_read or pr_recv pr_geterror pr_getpeername pr_sleep pr_malloc pr_free pr_poll pr_now pr_intervaltomilliseconds pr_millisecondstointerval pr_shutdown pr_close ssl_invalidatesession after establishing a connection, an application first calls pr_
send, pr_recv, pr_read, pr_write, or ssl_forcehandshake to initiate the handshake.
...the end that has to talk first should call pr_
send or pr_write, and the other end should call pr_read or pr_recv.
XML Extras
begins with lower case letter xmlhttprequest creation new activexobject("msxml2.xmlhttp") new xmlhttprequest() xmlhttprequest.
send("some string") ok ok starting with milestone 0.9.7 (actually nightly 2001-11-28).
... with older builds, passing strings to
send() works only in chrome, see post.html sample.
... the "workaround" is to use domparser object's parsefromstring() method to create a document from string, and pass the temporary document into
send().
Observer Notifications
if you're using a message manager to communicate with a script that may be running in a different process, you might need to know when the message manager has disconnected from the other end of the conversation, so you can stop
sending it messages or expecting to receive messages.
... addoninfo an empty object that add-ons can use to
send data to the main process.
... it's used by the context-menu module in the add-on sdk, to help
send information to the context-menu code running in the chrome process when a context menu is displayed.
mozISpellCheckingEngine
when this changes, the spell checker
sends a "spellcheck-dictionary-update" notification.
...when this changes, the spell checker
sends a "spellcheck-dictionary-update" notification.
...when this changes, the spell checker
sends a "spellcheck-dictionary-update" notification.
nsIDeviceMotion
void addwindowlistener( in nsidomwindow awindow ); parameters awindow the dom window that the accelerometer should begin
sending mozorientation events to.
... removelistener() tells the accelerometer to stop
sending updates to the specified nsidevicemotionlistener.
...void removewindowlistener( in nsidomwindow awindow ); parameters awindow the dom window that the accelerometer should stop
sending mozorientation events to.
nsIMsgWindow
method overview void displayhtmlinmessagepane(in astring title, in astring body, in boolean clearmsghdr); void stopurls(); void closewindow(); attributes attribute type description windowcommands nsimsgwindowcommands this allows the backend code to
send commands to the ui, such as clearmsgpane.
... statusfeedback nsimsgstatusfeedback this allows the backend code to
send status feedback to the ui.
... msgheadersink nsimsgheadersink this allows the backend code to
send message header information to the ui.
nsIProcessScriptLoader
if this function is called on a chromemessage
sender: it will load the process script only into this chromemessage
sender's child process aallowdelayedload should always be true.
... it's possible that the child process for this chromemessage
sender is not yet available at the time of the loadprocessscript() call, and if you pass false in this situation, your process script won't be loaded.
... if you are calling loadprocessscript() on a chromemessage
sender, you should always pass true here.
nsIRadioInterfaceLayer
ial(in domstring number); void enumeratecalls(in nsiriltelephonycallback callback); void getdatacalllist(); unsigned short getnumberofmessagesfortext(in domstring text); void hangup(in unsigned long callindex); void registercallback(in nsiriltelephonycallback callback); void registerdatacallcallback(in nsirildatacallback callback); void rejectcall(in unsigned long callindex); void
sendsms(in domstring number, in domstring message, in long requestid, in unsigned long long processid); void setupdatacall(in long radiotech, in domstring apn, in domstring user, in domstring passwd, in long chappap, in domstring pdptype); void starttone(in domstring dtmfchar); void stoptone(); void unregistercallback(in nsiriltelephonycallback callback); void unregisterdatacallcallback(in n...
... missing exception missing description registerdatacallcallback() void registerdatacallcallback( in nsirildatacallback callback ); parameters callback missing description exceptions thrown missing exception missing description rejectcall() void rejectcall( in unsigned long callindex ); parameters callindex missing description exceptions thrown missing exception missing description
sendsms()
sends a message to a specified number.
... void
sendsms( in domstring number, in domstring message, in long requestid, in unsigned long long processid ); parameters number a domstring with a telephone number to
send to.
nsIWebSocketListener
msg); void onmessageavailable(in nsisupports acontext, in autf8string amsg); void onserverclose(in nsisupports acontext, in unsigned short acode, in autf8string areason); void onstart(in nsisupports acontext); void onstop(in nsisupports acontext, in nsresult astatuscode); methods onacknowledge() called to acknowledge a message sent via nsiwebsocketchannel.
sendmsg() or nsiwebsocketchannel.
sendbinarymsg().
... asize number of bytes placed in os
send buffer.
... onserverclose() called when the server
sends a close message.
XPCOM Interface Reference
leservicensilogininfonsiloginmanagernsiloginmanagercryptonsiloginmanageriemigrationhelpernsiloginmanagerprompternsiloginmanagerstoragensiloginmetainfonsimimeinputstreamnsimacdocksupportnsimarkupdocumentviewernsimemorynsimemorymultireporternsimemorymultireportercallbacknsimemoryreporternsimemoryreportermanagernsimenuboxobjectnsimessagebroadcasternsimessagelistenernsimessagelistenermanagernsimessage
sendernsimessagewakeupservicensimessengernsimicrosummarynsimicrosummarygeneratornsimicrosummaryobservernsimicrosummaryservicensimicrosummarysetnsimimeconverternsimimeheadersnsimodulensimsgaccountnsimsgaccountmanagerextensionnsimsgcompfieldsnsimsgcustomcolumnhandlernsimsgdbhdrnsimsgdbviewnsimsgdbviewcommandupdaternsimsgdatabasensimsgfilternsimsgfiltercustomactionnsimsgfilterlistnsimsgfoldernsimsgheader...
...parsernsimsgidentitynsimsgincomingservernsimsgmessageservicensimsgprotocolinfonsimsgruleactionnsimsgsearchcustomtermnsimsgsearchnotifynsimsgsearchscopetermnsimsgsearchsessionnsimsgsearchtermnsimsgsearchvaluensimsg
sendlaternsimsgthreadnsimsgwindownsimsgwindowcommandsnsimutablearraynsinavbookmarkobservernsinavbookmarksservicensinavhistorybatchcallbacknsinavhistorycontainerresultnodensinavhistoryfullvisitresultnodensinavhistoryobservernsinavhistoryquerynsinavhistoryqueryoptionsnsinavhistoryqueryresultnodensinavhistoryresultnsinavhistoryresultnodensinavhistoryresultobservernsinavhistoryresulttreeviewernsinavhistoryresultviewobservernsinavhistoryresultviewernsinavhistoryservicensinavhistoryvisitresultnodensinetworklinkservicensiobservernsiobserverservicensioutputstreamnsioutputstreamcallbacknsipare...
...portsarraynsisupportscstringnsisupportscharnsisupportsdoublensisupportsfloatnsisupportsidnsisupportsinterfacepointernsisupportsprboolnsisupportsprint16nsisupportsprint32nsisupportsprint64nsisupportsprtimensisupportspruint8nsisupportspruint16nsisupportspruint32nsisupportspruint64nsisupportsprimitivensisupportsprioritynsisupportsstringnsisupportsvoidnsisupportsweakreferencensisyncjpakensisyncmessage
sendernsitxttohtmlconvnsitaggingservicensitaskbarpreviewnsitaskbarpreviewbuttonnsitaskbarpreviewcontrollernsitaskbarprogressnsitaskbartabpreviewnsitaskbarwindowpreviewnsitelemetrynsitextinputprocessornsitextinputprocessorcallbacknsitextinputprocessornotificationnsithreadnsithreadeventfilternsithreadinternalnsithreadmanagernsithreadobservernsithreadpoolnsithreadpoollistenernsitimernsitimercallbacknsito...
Mail client architecture overview
it manages individual accounts on mail servers and the identity of users as used to
send mail.
...most of these modules have little dependancy on the mail reader itself: compose - the mail compose module is responsible for anything that has to do with
sending mail.
... this includes the mail compose window, creation of rfc822 messages from the data a user has entered, and
sending the messages via smtp.
Network request list - Firefox Developer Tools
re
send re
sends the request as it was originally sent with no changes made.
... edit and re
send opens an editor enabling you to edit the request's method, url, parameters, and headers, and re
send the request.
... open in new tab re
sends the request in a new tab — very useful for debugging asynchronous requests.
about:debugging (before Firefox 68) - Firefox Developer Tools
workers the workers page shows your workers, categorised as follows: all registered service workers all registered shared workers other workers, including chrome workers and dedicated workers you can connect the developer tools to each worker, and
send push notifications to service workers.
...
sending push events to service workers
sending push events in about:debugging is new in firefox 47.
...just click the "push" button to
send a push event to the service worker: service workers not compatible in firefox 49+, a warning message will be displayed in the service workers section of the workers page if service workers are incompatible with the current browser configuration, and therefore cannot be used or debugged.
about:debugging - Firefox Developer Tools
workers the workers section shows all the workers you've got registered on your firefox, categorised as follows: all registered service workers all registered shared workers other workers, including chrome workers and dedicated workers you can connect the developer tools to each worker, and
send push notifications to service workers.
...
sending push events to service workers to debug push notifications, you can set a breakpoint in the push event listener.
...click the push button to
send a push event to the service worker.
Document.cookie - Web APIs
;samesite samesite prevents the browser from
sending this cookie along with cross-site requests.
... the lax value value will
send the cookie for all same-site requests and top-level navigation get requests.
...ccessor 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 status comment document object model (dom) level 2 html specificationthe definition of 'document.cookie' in that specification.
EventSource - Web APIs
an eventsource instance opens a persistent connection to an http server, which
sends events in text/event-stream format.
...that makes them an excellent choice when there's no need to
send data from the client to the server in message form.
... additionally, the event source itself may
send messages with an event field, which will create ad-hoc events keyed to that value.
Using Fetch - Web APIs
fetch won’t
send cookies, unless you set the credentials init option.
...ative javascript objects } postdata('https://example.com/answer', { answer: 42 }) .then(data => { console.log(data); // json data parsed by `data.json()` call }); note that mode: "no-cors" only allows a limited set of headers in the request: accept accept-language content-language content-type with a value of application/x-www-form-urlencoded, multipart/form-data, or text/plain
sending a request with credentials included to cause browsers to
send a request with credentials included, even for a cross-origin call, add credentials: 'include' to the init object you pass to the fetch() method.
... fetch('https://example.com', { credentials: 'include' }); if you only want to
send credentials if the request url is on the same origin as the calling script, add credentials: 'same-origin'.
HTMLTextAreaElement - Web APIs
nction autogrow (ofield) { if (ofield.scrollheight > ofield.clientheight) { ofield.style.height = ofield.scrollheight + "px"; } } css textarea.noscrollbars { overflow: hidden; width: 300px; height: 100px; } html <form> <fieldset> <legend>your comments</legend> <p><textarea class="noscrollbars" onkeyup="autogrow(this);"></textarea></p> <p><input type="submit" value="
send" /></p> </fieldset> </form> insert html tags example insert some html tags or smiles or any custom text in a textarea.
... javascript function insertmetachars(sstarttag,
sendtag) { var bdouble = arguments.length > 1, omsginput = document.myform.mytxtarea, nselstart = omsginput.selectionstart, nselend = omsginput.selectionend, soldtext = omsginput.value; omsginput.value = soldtext.substring(0, nselstart) + (bdouble ?
... sstarttag + soldtext.substring(nselstart, nselend) +
sendtag : sstarttag) + soldtext.substring(nselend); omsginput.setselectionrange(bdouble || nselstart === nselend ?
MediaStreamTrack: ended event - Web APIs
bubbles no cancelable no interface event event handler property mediastreamtrack.onended usage notes ended events fire when the media stream track's source permanently stops
sending data on the stream.
... there are various ways this can happen, including: there is no more data left to
send.
... a remote peer has permanently stopped
sending data; pausing media does not generate an ended event.
MessagePort.postMessage() - Web APIs
the postmessage() method of the messageport interface
sends a message from the port, and optionally, transfers ownership of objects to other browsing contexts.
... parameters message the message you want to
send through the channel.
... transferlist optional transferable objects to be transferred — these objects have their ownership transferred to the receiving browsing context, so are no longer usable by the
sending browsing context.
Using the Notifications API - Web APIs
the notifications api lets a web page or app
send notifications that are displayed outside the page at the system level; this lets web apps
send information to a user even if the application is idle or in the background.
... requesting permission before an app can
send a notification, the user must grant the application the right to do so.
...indow.notification && notification.permission !== "granted") { notification.requestpermission(function (status) { if (notification.permission !== status) { notification.permission = status; } }); } var button = document.getelementsbytagname('button')[0]; button.addeventlistener('click', function () { // if the user agreed to get notified // let's try to
send ten notifications if (window.notification && notification.permission === "granted") { var i = 0; // using an interval cause some browsers (including firefox) are blocking notifications if there are too much in a certain time.
PaymentRequest.show() - Web APIs
the developer then uses the information in the paymentresponse object to format and
send payment data to the server.
... you should
send the payment information to the server asynchronously so that the final call to paymentresponse.complete() can indicate the success or failure of the payment.
... const payment = new paymentrequest(methods, details, options); try { const response = await payment.show(); // process response here, including
sending payment instrument // (e.g., credit card) information to the server.
RTCDataChannel.bufferedAmount - Web APIs
the queue may build up as a result of calls to the
send() method.
... the user agent may implement the process of actually
sending data in any way it chooses; this may be done periodically during the event loop or truly asynchronously.
...however, even after closing the channel, attempts to
send messages continue to add to the bufferedamount value, even though the messages are neither sent nor buffered.
RTCDataChannel.bufferedAmountLowThreshold - Web APIs
the user agent may implement the process of actually
sending data in any way it chooses; this may be done periodically during the event loop or truly asynchronously.
...damountlowthreshold; adatachannel.bufferedamountlowthreshold = threshold; value the number of queued outgoing data bytes below which the buffer is considered to be "low." example in this snippet of code, bufferedamountlowthreshold is set to 64kb, and a handler for the bufferedamountlow event is established by setting the rtcdatachannel.onbufferedamountlow property to a function which should
send more data into the buffer by calling
send().
... var dc = peerconnection.createdatachannel("file transfer"); dc.bufferedamountlowthreshold = 65535; dc.onbufferedamountlow = function() { /* use
send() to queue more data to be sent */ }; specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcdatachannel.bufferedamountlowthreshold' in that specification.
RTCDataChannel.onbufferedamountlow - Web APIs
example this example responds to the bufferedamountlow event by fetching up to 64kb of a file represented by an object source and calling rtcdatachannel.
send() to queue up the retrieved data for
sending on the data channel.
... pc = new rtcpeerconnection(); dc = pc.createdatachannel("
sendfile"); /* ...
... */ dc.onbufferedamountlow = function() { if (source.position <= source.length) { dc.
send(source.readfile(65536)); } } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcdatachannel.onbufferedamountlow' in that specification.
RTCDataChannel.readyState - Web APIs
it is no longer possible to queue new messages to be sent, but previously queued messages may still be
send or received before entering the "closed" state.
... example var datachannel = peerconnection.createdatachannel("file transfer"); var
sendqueue = []; function
sendmessage(msg) { switch(datachannel.readystate) { case "connecting": console.log("connection not open; queueing: " + msg);
sendqueue.push(msg); break; case "open":
sendqueue.foreach((msg) => datachannel.
send(msg)); break; case "closing": console.log("attempted to
send message while closing: " + msg); break; case "closed": console.log("error!
... attempt to
send while connection closed."); break; } } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcdatachannel.readystate' in that specification.
RTCDtlsTransport.state - Web APIs
examples this example presents a function, tally
senders(), which iterates over an rtcpeerconnection's rtcrtp
senders, tallying up how many of them are in various states.
... the function returns an object containing properties whose values indicate how many of the
senders are in each state.
...*/ function tally
senders(pc) { let results = { transportmissing: 0, connectionpending: 0, connected: 0, closed: 0, failed: 0, unknown: 0 }; let
senderlist = pc.get
senders();
senderlist.foreach(
sender => { let transport =
sender.transport; if (!transport) { results.transportmissing++; } else { switch(transport.state) { case "new": case "connecting": results.connectionpending++; break; case "connected": results.connected++; break; case "closed": results.closed++; break; case "failed": results.failed++; break; default: results.unknown...
RTCIceTransport: gatheringstatechange event - Web APIs
bubbles no cancelable no interface event event handler property ongatheringstatechange the key difference between gatheringstatechange and icegatheringstatechange is that the latter represents the overall state of the connection including every rtcicetransport used by every rtcrtp
sender and every rtcrtpreceiver on the entire connection.
... examples this example creates a handler for gatheringstatechange events on each rtcrtp
sender associated with a given rtcpeerconnection.
... here, the addeventlistener() method is called to add a listener for gatheringstatechange events: pc.get
senders().foreach(
sender => {
sender.transport.icetransport.addeventlistener("gatheringstatechange", ev => { let transport = ev.target; if (transport.gatheringstate === "complete") { /* this transport has finished gathering candidates, but others may still be working on it */ } }, false); likewise, you can use the ongatheringstatechange event handler property: pc.get
senders().foreach(
sender => {
sender.transport.icetransport.ongatheringstatechange = ev => { let transport = ev.target; if (transport.gatheringstate === "complete") { /* this transport has finished gathering candidates, but others may still be working on it */ } }; }); speci...
RTCInboundRtpStreamStats.nackCount - Web APIs
the nackcount property of the rtcinboundrtpstreamstats dictionary is a numeric value indicating the number of times the receiver sent a nack packet to the
sender.
... a nack (negative acknowledgement, also called "generic nack") packet tells the
sender that one or more of the rtp packets it sent were lost in transport.
... syntax var nackcount = rtcinboundrtpstreamstats.nackcount; value an integer value indicating how many times the receiver sent a nack packet to the
sender after detecting that one or more packets were lost during transport.
RTCInboundRtpStreamStats.sliCount - Web APIs
the slicount property of the rtcinboundrtpstreamstats dictionary indicates how many slice loss indication (sli) packets the rtcrtpreceiver for which this object provdes statistics sent to the remote rtcrtp
sender.
... in general, what's usually of interest is that the higher this number is, the more the stream data is becoming corrupted between the
sender and the receiver, requiring re
sends or dropping frames.
... syntax var slicount = rtcinboundrtpstreamstats.slicount; value an unsigned integer indicating the number of sli packets this receiver sent to the remote
sender due to lost runs of macroblocks.
RTCInboundRtpStreamStats - Web APIs
fircount an integer value which indicates the total number of full intra request (fir) packets which this receiver has sent to the
sender.
... plicount an integer specifying the number of times the receiver has notified the
sender that some amount of encoded video data for one or more frames has been lost, using picture loss indication (pli) packets.
... slicount an integer indicating the number of times the receiver sent a slice loss indication (sli) frame to the
sender to tell it that one or more consecutive (in terms of scan order) video macroblocks have been lost or corrupted.
RTCOutboundRtpStreamStats.nackCount - Web APIs
the nackcount property of the rtcoutboundrtpstreamstats dictionary is a numeric value indicating the number of times the rtcrtp
sender described by this object received a nack packet from the remote receiver.
... a nack (negative acknowledgement, also called "generic nack") packet is used by the rtcrtpreceiver to inform the
sender that one or more rtp packets it sent were lost in transport.
... syntax var nackcount = rtcoutboundrtpstreamstats.nackcount; value an integer value indicating how many times the
sender received a nack packet from the receiver, indicating the loss of one or more packets.
RTCOutboundRtpStreamStats.sliCount - Web APIs
the slicount property of the rtcoutboundrtpstreamstats dictionary indicates how many slice loss indication (sli) packets the rtcrtp
sender received from the remote rtcrtpreceiver for the rtp stream described by this object.
... an sli packet is used by a decoder to let the encoder (the
sender) know that it's detected corruption of one or more consecutive macroblocks, in scan order, in the received media.in general, what's usually of interest is that the higher this number is, the more the stream data is becoming corrupted between the
sender and the receiver, causing the receiver to request retransmits or to drop frames entirely.
... syntax var slicount = rtcoutboundrtpstreamstats.slicount; value an unsigned integer indicating the number of sli packets the
sender received from the receiver due to lost runs of macroblocks.
RTCPeerConnection.canTrickleIceCandidates - Web APIs
ice trickling is the process of continuing to
send candidates after the initial offer or answer has already been sent to the other peer.
...if trickling isn't supported, or you aren't able to tell, you can check for a falsy value for this property and then wait until the value of icegatheringstate changes to "completed" before creating and
sending the initial offer.
...en(_ => pc.createanswer()) .then(answer => pc.setlocaldescription(answer)) .then(_ => if (pc.cantrickleicecandidates) { return pc.localdescription; } return new promise(r => { pc.addeventlistener('icegatheringstatechange', e => { if (e.target.icegatheringstate === 'complete') { r(pc.localdescription); } }); }); }) .then(answer =>
sendanswertopeer(answer)) // signaling message .catch(e => handleerror(e)); pc.addeventlistener('icecandidate', e => { if (pc.cantrickleicecandidates) {
sendcandidatetopeer(e.candidate); // signaling message } }); specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcpeerconnection.cantrickleiceca...
RTCPeerConnection.onicecandidate - Web APIs
this lets the ice agent perform negotiation with the remote peer without the browser itself needing to know any specifics about the technology being used for signaling; simply implement this method to use whatever messaging technology you choose to
send the ice candidate to the remote peer.
... example the example below, which is based on the code from the article signaling and video calling, sets up a handler for icecandidate events to
send the candidates to the remote peer.
... pc.onicecandidate = function(event) { if (event.candidate) { //
send the candidate to the remote peer } else { // all ice candidates have been sent } } notice that the end of negotiation is detected here when the event's candidate property is null.
RTCPeerConnection.onnegotiationneeded - Web APIs
most commonly, the negotiationneeded event is fired after a
send track is added to the rtcpeerconnection.
... example this example, derived from the example in signaling and video calling, establishes a handler for negotiationneeded events to handle creating an offer, configuring the local end of the connection, and
sending the offer to the remote peer.
... pc.onnegotiationneeded = function() { pc.createoffer().then(function(offer) { return pc.setlocaldescription(offer); }) .then(function() { //
send the offer to the remote peer through the signaling server }); }) .catch(reporterror); } first, it creates the offer by calling createoffer().
RTCRemoteOutboundRtpStreamStats.reportsSent - Web APIs
the rtcremoteoutboundrtpstreamstats dictionary's reportssent property provides the number of
sender reports (srs) the remote peer has transmitted to the local peer.
... syntax let reportcount = rtcremoteoutboundrtpstreamstats.reportssent; value an integer value which indicates the total number of rtcp
sender reports so far sent by the remote peer to the local peer.
... usage notes
sender reports, described in rfc 3550, section 6.4.1 with an overview in rfc 3550, section 6.4, are used by rtp to share data transmission quality feedback between the two peers.
RTCRtpStreamStats.nackCount - Web APIs
the nackcount property of the rtcrtpstreamstats dictionary is a numeric value indicating the number of times the receiver sent a nack packet to the
sender.
... a nack (negative acknowledgement, also called "generic nack") packet tells the
sender that one or more of the rtp packets it sent were lost in transport.
... syntax var nackcount = rtcrtpstreamstats.nackcount; value an integer value indicating how many times the receiver sent a nack packet to the
sender after detecting that one or more packets were lost during transport.
RTCRtpStreamStats.sliCount - Web APIs
the slicount property of the rtcrtpstreamstats dictionary indicates how many slice loss indication (sli) packets were received by the
sender.
... syntax var slicount = rtcrtpstreamstats.slicount; value an unsigned long integer indicating the number of sli packets the
sender received from the receiver due to lost runs of macroblocks.
... note: this value is sent by the
sender to the receiver and is only present for video media.
RTCRtpTransceiver.stop() - Web APIs
the stop() method in the rtcrtptransceiver interface permanently stops the transceiver by stopping both the associated rtcrtp
sender and rtcrtpreceiver.
... usage notes when you call stop() on a transceiver, the
sender immediately stops
sending media and each of its rtp streams are closed using the rtcp "bye" message.
... the receiver then stops receiving media; the receiver's track is stopped, and the transceiver's direction is changed to stopped, and renegotiation is triggered by
sending a negotiationneeded event to the rtcpeerconnection.
Hello vertex attributes - Web APIs
« previousnext » this webgl example demonstrates how to combine shader programming and user interaction by
sending user input to the shader using vertex attributes.
... hello world program in glsl how to
send input to a shader program by saving data in gpu memory.
... <p>first encounter with attributes and
sending data to gpu.
Lifetime of a WebRTC session - Web APIs
signaling signaling is the process of
sending control information between two devices to determine the communication protocols, channels, media codecs and formats, and method of data transfer, as well as any required routing information.
... in order to exchange signaling information, you can choose to
send json objects back and forth over a websocket connection, or you could use xmpp or sip over an appropriate channel, or you could use xmlhttprequest over https with polling, or any other combination of technologies you can come up with.
... each peer establishes a handler for icecandidate events, which handles
sending those candidates to the other peer over the signaling channel.
WebSocket - Web APIs
the websocket object provides the api for creating and managing a websocket connection to a server, as well as for
sending and receiving data on the connection.
... websocket.
send(data) enqueues data to be transmitted.
...const socket = new websocket('ws://localhost:8080'); // connection opened socket.addeventlistener('open', function (event) { socket.
send('hello server!'); }); // listen for messages socket.addeventlistener('message', function (event) { console.log('message from server ', event.data); }); specifications specification status html living standardthe definition of 'websocket' in that specification.
Writing a WebSocket server in Java - Web APIs
inputstream in = client.getinputstream(); outputstream out = client.getoutputstream(); scanner s = new scanner(in, "utf-8"); handshaking when a client connects to a server, it
sends a get request to upgrade the connection to a websocket from a simple http request.
...onnection: upgrade\r\n" + "upgrade: websocket\r\n" + "sec-websocket-accept: " + base64.getencoder().encodetostring(messagedigest.getinstance("sha-1").digest((match.group(1) + "258eafa5-e914-47da-95ca-c5ab0dc85b11").getbytes("utf-8"))) + "\r\n\r\n").getbytes("utf-8"); out.write(response, 0, response.length); decoding messages after a successful handshake, client can
send messages to the server, but now these are encoded.
... if we
send "abcdef", we get these bytes: 129 134 167 225 225 210 198 131 130 182 194 135 - 129: fin (is this the whole message?) rsv1 rsv2 rsv3 opcode 1 0 0 0 0x1=0001 fin: you can
send your message in frames, but now keep things simple.
WritableStream.WritableStream() - Web APIs
it then calls a function called
sendmessage(), passing the newly created stream and a string.
... const list = document.queryselector('ul'); function
sendmessage(message, writablestream) { // defaultwriter is of type writablestreamdefaultwriter const defaultwriter = writablestream.getwriter(); const encoder = new textencoder(); const encoded = encoder.encode(message, { stream: true }); encoded.foreach((chunk) => { defaultwriter.ready .then(() => { return defaultwriter.write(chunk); }) .then(() => { console.log("chunk written to ...
...ateelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.textcontent = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy);
sendmessage("hello, world.", writablestream); you can find the full code in our simple writer example.
WritableStream.getWriter() - Web APIs
it then calls a function called
sendmessage(), passing the newly created stream and a string.
... const list = document.queryselector('ul'); function
sendmessage(message, writablestream) { // defaultwriter is of type writablestreamdefaultwriter const defaultwriter = writablestream.getwriter(); const encoder = new textencoder(); const encoded = encoder.encode(message, { stream: true }); encoded.foreach((chunk) => { defaultwriter.ready .then(() => { return defaultwriter.write(chunk); }) .then(() => { console.log("chunk written to ...
...ateelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.textcontent = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy);
sendmessage("hello, world.", writablestream); you can find the full code in our simple writer example.
WritableStreamDefaultWriter.WritableStreamDefaultWriter() - Web APIs
it then calls a function called
sendmessage(), passing the newly created stream and a string.
... const list = document.queryselector('ul'); function
sendmessage(message, writablestream) { // defaultwriter is of type writablestreamdefaultwriter const defaultwriter = writablestream.getwriter(); const encoder = new textencoder(); const encoded = encoder.encode(message, { stream: true }); encoded.foreach((chunk) => { defaultwriter.ready .then(() => { return defaultwriter.write(chunk); }) .then(() => { console.log("chunk written to ...
...ateelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.textcontent = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy);
sendmessage("hello, world.", writablestream); you can find the full code in our simple writer example.
WritableStreamDefaultWriter.close() - Web APIs
it then calls a function called
sendmessage(), passing the newly created stream and a string.
... const list = document.queryselector('ul'); function
sendmessage(message, writablestream) { // defaultwriter is of type writablestreamdefaultwriter const defaultwriter = writablestream.getwriter(); const encoder = new textencoder(); const encoded = encoder.encode(message, { stream: true }); encoded.foreach((chunk) => { defaultwriter.ready .then(() => { return defaultwriter.write(chunk); }) .then(() => { console.log("chunk written to ...
...ateelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.textcontent = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy);
sendmessage("hello, world.", writablestream); you can find the full code in our simple writer example.
WritableStreamDefaultWriter.ready - Web APIs
the first uses ready to ensure that the writablestream is done writing and thus able to receive data before
sending a binary chunk.
... function
sendmessage(message, writablestream) { // defaultwriter is of type writablestreamdefaultwriter var defaultwriter = writablestream.getwriter(); var encoder = new textencoder(); var encoded = encoder.encode(message, {stream: true}); encoded.foreach(function(chunk) { // make sure the stream and its writer are able to // receive data.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
WritableStreamDefaultWriter.write() - Web APIs
it then calls a function called
sendmessage(), passing the newly created stream and a string.
... const list = document.queryselector('ul'); function
sendmessage(message, writablestream) { // defaultwriter is of type writablestreamdefaultwriter const defaultwriter = writablestream.getwriter(); const encoder = new textencoder(); const encoded = encoder.encode(message, { stream: true }); encoded.foreach((chunk) => { defaultwriter.ready .then(() => { return defaultwriter.write(chunk); }) .then(() => { console.log("chunk written to ...
...ateelement('li'); listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.textcontent = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy);
sendmessage("hello, world.", writablestream); you can find the full code in our simple writer example.
WritableStreamDefaultWriter - Web APIs
it then calls a function called
sendmessage(), passing the newly created stream and a string.
... const list = document.queryselector('ul'); function
sendmessage(message, writablestream) { // defaultwriter is of type writablestreamdefaultwriter const defaultwriter = writablestream.getwriter(); const encoder = new textencoder(); const encoded = encoder.encode(message, { stream: true }); encoded.foreach((chunk) => { defaultwriter.ready .then(() => { return defaultwriter.write(chunk); }) .then(() => { console.log("c...
...; listitem.textcontent = "chunk decoded: " + decoded; list.appendchild(listitem); result += decoded; resolve(); }); }, close() { var listitem = document.createelement('li'); listitem.textcontent = "[message received] " + result; list.appendchild(listitem); }, abort(err) { console.log("sink error:", err); } }, queuingstrategy);
sendmessage("hello, world.", writablestream); you can find the full code in our simple writer example.
XMLHttpRequest.setRequestHeader() - Web APIs
when using setrequestheader(), you must call it after calling open(), but before calling
send().
... if no accept header has been set using this, an accept header with the type "*/*" is sent with the request when
send() is called.
... note: for your custom fields, you may encounter a "not allowed by access-control-allow-headers in preflight response" exception when you
send requests across domains.
XMLHttpRequest - Web APIs
xmlhttprequest.
send()
sends the request.
...you must call setrequestheader()after open(), but before
send().
... xmlhttprequest.
sendasbinary() a variant of the
send() method that
sends binary data.
Implementing a Microsoft Active Accessibility (MSAA) Server - Accessibility
it's very difficult to get vendors to spend time testing an msaa implementation,
send feedback or help find out why things aren't working.
... when the win32 api function accessibleobjectfromwindow() is called, windows
sends the window in question a wm_getobject message requesting an iaccessible for your root object in the window.
...we
send back an iaccessible pointer which can be used by the client to get information about this root object.
Ajax - Developer guides
server-sent events traditionally, a web page has to
send a request to the server to receive new data; that is, the page requests data from the server.
... with server-sent events, it's possible for a server to
send new data to a web page at any time, by pushing messages to the web page.
...
sending and receiving binary data the responsetype property of the xmlhttprequest object can be set to change the expected response type from the server.
Developer guides
using formdata objects the formdata object lets you compile a set of key/value pairs to
send using xmlhttprequest.
... it's primarily intended for
sending form data, but can be used independently from forms to transmit keyed data.
... the transmission is in the same format that the form's submit() method would use to
send the data if the form's encoding type were set to "multipart/form-data".
<img>: The Image Embed element - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
... if the crossorigin attribute is specified, then a cors request is sent (with the origin request header); but if the server does not opt into allowing cross-origin access to the image data by the origin site (by not
sending any access-control-allow-origin response header, or by not including the site's origin in any access-control-allow-origin response header it does
send), then the browser marks the image as tainted and restricts access to its image data, preventing its usage in <canvas> elements.
...if the server does not opt into sharing credentials with the origin site (by
sending back the access-control-allow-credentials: true response header), then the browser marks the image as tainted and restricts access to its image data.
<input type="image"> - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...there are three permitted values: application/x-www-form-urlencoded this, the default value,
sends the form data as a string after url encoding the text using an algorithm such as encodeuri().
...these can be used when the position the image was clicked on is significant, for example you might have a map that when clicked,
sends the coordinates that were clicked to the server.
Evolution of HTTP - HTTP
there were no status or error codes: in case of a problem, a specific html file was
send back with the description of the problem contained in it, for human consumption.
... pipelining has been added, allowing to
send a second request before the answer for the first one is fully transmitted, lowering the latency of the communication.
...instead of
sending http over a basic tcp/ip stack, netscape communications created an additional encrypted transmission layer on top of it: ssl.
Compression in HTTP - HTTP
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.
...te and transfer-encoding are mostly used to
send a response by chunks, allowing to start transmitting a resource without knowing its length.
Using Feature Policy - HTTP
the feature-policy http header you can
send the feature-policy http header with the response of a 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.
...
send the following the http header: feature-policy: layout-animations 'none'; unoptimized-images 'none'; oversized-images 'none'; sync-script 'none'; sync-xhr 'none'; unsized-media 'none'; using the <iframe> allow attribute: <iframe src="https://example.com..." allow="layout-animations 'none'; unoptimized-images 'none'; oversized-images 'none'; sync-script 'none'; sync-xhr 'none'; unsized-media 'no...
Accept-Charset - HTTP
browsers usually don't
send this header, as the default value for each resource is usually correct and transmitting it would allow fingerprinting.
... if the server cannot serve any character encoding from this request header, it can theoretically
send back a 406 not acceptable error code.
...to guarantee better privacy through less configuration-based entropy, all browsers omit the accept-charset header: internet explorer 8+, safari 5+, opera 11+, firefox 10+ and chrome 27+ no longer
send it.
Content-Location - HTTP
indicating the url of a transaction's result say you have a <form> for
sending money to another user of a site.
... <form action="/
send-payment" method="post"> <p> <label>who do you want to
send the money to?
... <input type="number" name="amount"> </label> </p> <button type="submit">
send money</button> </form> when the form is submitted, the site generates a receipt for the transaction.
DPR - HTTP
server has to opt in to receive dpr header from the client by
sending accept-ch and accept-ch-lifetime response headers.
... syntax dpr: <number> examples server first needs to opt in to receive dpr header by
sending the response headers accept-ch containing dpr and accept-ch-lifetime.
... accept-ch: dpr accept-ch-lifetime: 86400 then on subsequent requests the client might
send dpr header back: dpr: 1.0 ...
Device-Memory - HTTP
server has to opt in to receive device-memory header from the client by
sending accept-ch and accept-ch-lifetime response headers.
... device-memory: <number> examples server first needs to opt in to receive device-memory header by
sending the response headers accept-ch containing device-memory and accept-ch-lifetime.
... accept-ch: device-memory accept-ch-lifetime: 86400 then on subsequent requests the client might
send device-memory header back: device-memory: 1 specifications specification status comment device memory 1the definition of 'device-memory' in that specification.
Want-Digest - HTTP
the header contains identifiers for one or more digest algorithms that the
sender wishes the responder to use to create the digest.
... the
sender may use quality values to indicate its preference ordering among the choices it offers.
... examples want-digest: sha-256 want-digest: sha-512;q=0.3, sha-256;q=1, md5;q=0 basic operation the
sender provides a list of digests which it is prepared to accept, and the server uses one of them: request: get /item want-digest: sha-256;q=0.3, sha;q=1 response: http/1.1 200 ok digest: sha-256=x48e9qookqqrvdts8nojrjn3owduoywxbf7kbu9dbpe= unsupported digests the server does not support any of the requested digest algorithms, so uses a different algorithm: request: get /item want-...
X-Frame-Options - HTTP
configuring apache to configure apache to
send the x-frame-options header for all pages, add this to your site's configuration: header always set x-frame-options "sameorigin" to configure apache to set the x-frame-options deny, add this to your site's configuration: header set x-frame-options "deny" configuring nginx to configure nginx to
send the x-frame-options header, add this either to your http, server or location configuration: ...
...add_header x-frame-options sameorigin always; configuring iis to configure iis to
send the x-frame-options header, add this to your site's web.config file: <system.webserver> ...
... configuring haproxy to configure haproxy to
send the x-frame-options header, add this to your front-end, listen, or backend configuration: rspadd x-frame-options:\ sameorigin alternatively, in newer versions: http-response set-header x-frame-options sameorigin configuring express to configure express to
send the x-frame-options header, you can use helmet which uses frameguard to set the header.
Protocol upgrade mechanism - HTTP
if the server decides to upgrade the connection, it
sends back a 101 switching protocols response status with an upgrade header that specifies the protocol(s) being switched to.
... if it does not (or cannot) upgrade the connection, it ignores the upgrade header and
sends back a regular response (for example, a 200 ok).
... right after
sending the 101 status code, the server can begin speaking the new protocol, performing any additional protocol-specific handshakes as necessary.
Generator.prototype.next() - JavaScript
you can also provide a parameter to the next method to
send a value to the generator.
... syntax gen.next(value) parameters value the value to
send to the generator.
...ge = getpage(3, list); // generator { } page.next(); // object {value: (3) [1, 2, 3], done: false} page.next(); // object {value: (3) [4, 5, 6], done: false} page.next(); // object {value: (2) [7, 8], done: false} page.next(); // object {value: undefined, done: true}
sending values to the generator in this example, next is called with a value.
yield - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
... unfortunately, next() is asymmetric, but that can’t be helped: it always
sends a value to the currently suspended yield, but returns the operand of the following yield.
... let applestore = countapplesales() // generator { } console.log(applestore.next()) // { value: 3, done: false } console.log(applestore.next()) // { value: 7, done: false } console.log(applestore.next()) // { value: 5, done: false } console.log(applestore.next()) // { value: undefined, done: true } you can also
send a value with next(value) into the generator.
Authoring MathML - MathML
l2/xhtml-math11-f.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>xhtml+mathml example</title> </head> <body> <h1>xhtml+mathml example</h1> <p> square root of two: <math xmlns="http://www.w3.org/1998/math/mathml"> <msqrt> <mn>2</mn> </msqrt> </math> </p> </body> </html> mathml in email and instant messaging clients modern mail clients may
send and receive emails in the html5 format and thus can use mathml expressions.
... be sure to have the "
send as html" and "view as html" options enabled.
...even if your browser supports mathml, your webmail may prevent you to
send or receive mails with mathml inside.
Understanding latency - Web Performance
latency can be measured one way, for example, the amount of time it takes to
send a request for resources, or the length of the entire round-trip from the browser’s request for a resource to the moment when the requested resource arrives at the browser.
...different browser developer tools have different preset options, the characteristics emulated include download speed, upload speed, and minimum latency, or the minimum amount of type it takes to
send a packet of data.
...
sending is the time taken to
send the http request to the server.
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.
...if you find that your server is not
sending the headers with the values given above, then you should contact your web host.
...if your server is not configured to
send the correct headers with the svg files it serves, then firefox will most likely show the markup of the files as text or encoded garbage, or even ask the viewer to choose an application to open them.
Types of attacks - Web security
the victim then retrieves this malicious script from the server when the browser
sends a request for data.
...name="amount" value="1000000"> <input type="hidden" name="for" value="mallory"> </form> <script>window.addeventlistener('domcontentloaded', (e) => { document.queryselector('form').submit(); }</script> there are a few techniques that should be used to prevent this from happening: get endpoints should be idempotent—actions that enact a change and do not simply retrieve data should require
sending a post (or other http method) request.
...the end result would be much the same, with the browser storing the illegitimate cookie and
sending it to all other pages under example.com.
content/worker - Archive of obsolete content
parameters data : number,string,json the data to
send.
... properties port object that allows you to:
send customized messages to the worker using the port.emit function receive events from the worker using the port.on function url the url of the content.
Add a Context Menu Item - Archive of obsolete content
in this case the script listens for the user to click on the item, then
sends a message to the add-on containing the selected text.
... so: the user clicks the item the content script's click event fires, and the content script retrieves the selected text and
sends a message to the add-on the add-on's message event fires, and the add-on code's handler function is passed the selected text, which it logs more options adding an image you can add an image to a context menu item with the image option.
Display a Popup - Archive of obsolete content
function handleclick(state) { text_entry.show(); } // when the panel is displayed it generated an event called // "show": we will listen for that event and when it happens, //
send our own "show" event to the panel's script, so the // script can prepare the panel for display.
...text_entry.port.on("text-entered", function (text) { console.log(text); text_entry.hide(); }); the content script "get-text.js" looks like this: // when the user hits return,
send the "text-entered" // message to main.js.
Finding window handles - Archive of obsolete content
nswindowstring = basewindow.nativehandle; components.utils.import('resource://gre/modules/ctypes.jsm'); var objc = ctypes.open(ctypes.libraryname('objc')); // types let id = ctypes.voidptr_t; let sel = ctypes.voidptr_t; // constants let nil = ctypes.voidptr_t(0); //common functions let sel_registername = objc.declare('sel_registername', ctypes.default_abi, sel, ctypes.char.ptr); let objc_msg
send = objc.declare('objc_msg
send', ctypes.default_abi, id, id, sel, '...'); /* https://developer.apple.com/library/mac/documentation/cocoa/reference/applicationkit/classes/nsapplication_class/index.html#//apple_ref/occ/instp/nsapplication/orderfront: * [nswindowptr orderfront:nil] */ var orderfront = sel_registername('orderfront:'); var nswindowptr = ctypes.voidptr_t(ctypes.uint64(nswindowstrin...
...g)); var rez_orderfront = objc_msg
send(nswindowptr, orderfront, nil); console.log('rez_orderfront:', rez_orderfront, rez_orderfront.tostring()); objc.close(); unix under unix systems, the nativehandle holds a string address to a gdkwindow* (the asterik/star means pointer).
How to convert an overlay extension to restartless - Archive of obsolete content
request.open("get", url, true); // async=true request.responsetype = type; request.onerror = function(event) { logerrormessage("error attempting to load: " + url); returnresult(null); }; request.onload = function(event) { if (request.response) returnresult(request.response); else request.onerror(event); }; request.
send(); } loadfile("chrome://myaddon/content/filename.ext",datatype,function(data) { /* do stuff with data */ }); note: when using xmlhttprequest to access a file:// url the request.status is not properly set to 200 to indicate success.
...once you've got the machinery to load and save preferences without having to jump through the various pref type hoops the actual preferences api
sends you through, loading the actual preferences file is one line.
Install Manifests - Archive of obsolete content
your server must
send this file as text/rdf, text/xml or application/rdf+xml or the update checker may not work.
...by default, mozilla applications using the add-on manager (such as firefox and thunderbird) will
send update requests to addons.mozilla.org using the default web service.
Adding windows and dialogs - Archive of obsolete content
it allows you to
send a set of optional parameters that can be used to communicate with the dialog.
... let somevalue = 2; let returnvalue = { accepted : false , result : "" }; window.opendialog( "chrome://xulschoolhello/content/somedialog.xul", "xulschoolhello-some-dialog", "chrome,centerscreen", somevalue, returnvalue); // you can
send as many extra parameters as you need.
Enabling the behavior - retrieving tinderbox status - Archive of obsolete content
var gxmlhttprequest; function loadtinderboxstatus() { gxmlhttprequest = new xmlhttprequest(); gxmlhttprequest.onload = updatetinderboxstatus; gxmlhttprequest.open("get", "http://tinderbox.mozilla.org/seamonkey/panel.html"); gxmlhttprequest.
send(null); } xmlhttprequest is an interface in mozilla for retrieving documents via http.
...we use new to create a new instance of it, set the instance's onload property to updatetinderboxstatus(), the function we want to execute when the document finishes loading, call its open method with the type of http request we want to make and the url of the document to retrieve, and then call its
send method to
send the request.
popChallengeResponse - Archive of obsolete content
[note that a different -- integer must be used for each challenge.]
sender generalname, -- the name of the
sender.
... -- request is being made) of rand, where rand is specified as -- rand ::= sequence { -- int integer, -- - the randomly-generated integer a (above) --
senderhash octet string -- - the result of applying the one-way function (owf) to -- - the
sender's general name -- } -- the size of "int" must be small enough such that "rand" can be -- contained within a single pkcs #1 encryption block.
JavaScript crypto - Archive of obsolete content
led certificate copy in the local certificate database) the public keys, wrapped encryption private key, and text string from the script (possibly containing naming or enrollment info) are signed by the user signed blob is returned to the script script submits signed blob and any other necessary info to the ca/ra ca/ra verifies signature on signed blob ca/ra validates identity of user ca/ra
sends wrapped encryption private key to kra kra
sends escrow verification back to ca ca creates and signs certificates ca
sends certificates back to the user (importusercertificates) typical use the ca's enrollment page could look something like this: <!doctype html> <h2>request a cert</h2> <form name="reqform" method="post" action="http://your.ra.site.org"> <p><input type=hidden name=cert_requ...
...est value=""> <p>name: <input type=text name=name value=""> <p>password: <input type=password name="password" value=""> <p><input type=submit name="
send" value="submit"> </form> <script> /* the following values could be filled in by the server cgi */ var authenticator = "server_magic"; var keytransportcert = null; var crmfobject = null; var form = document.forms[0]; function validate() { // generate keys for nsm.
Menus - Archive of obsolete content
editable text context-openlink opens a link in a new window links context-openlinkintab opens a link in a new tab 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 images context-back goes back a page context-forward goes forward a page context-reload reloads a page context-stop stops loading a page context-bookmarkpage bookmarks a page context-savepage saves a page context-
sendpagetodevice
send page to device context-
sendpage
send page in an email context-viewbgimage views a background image context-undo undo editable text ...
Trees - Archive of obsolete content
there might be multiple columns, such as the
sender and the subject.
... example tree with treechildren example 2 : source view <tree flex="1"> <treecols> <treecol id="
sender" label="
sender" flex="1"/> <treecol id="subject" label="subject" flex="2"/> </treecols> <treechildren> <treeitem> <treerow> <treecell label="joe@somewhere.com"/> <treecell label="top secret plans"/> </treerow> </treeitem> <treeitem> <treerow> <treecell label="mel@whereever.com"/> <treecell label="let's do lunch"/> </treerow> </treeitem> </treechildren> </tree> as can be seen in the image, the tree has been created with two rows of data.
NPAPI plugin developer guide - Archive of obsolete content
display modes using the object element for plug-in display nesting rules for html elements using the appropriate attributes using the embed element for plug-in display using custom embed attributes plug-in references plug-in development overview writing plug-ins registering plug-ins ms windows unix mac os x drawing a plug-in instance handling memory
sending and receiving streams working with urls getting version and ui information displaying messages on the status line making plug-ins scriptable building plug-ins building, platforms, and compilers building carbonized plug-ins for mac os x type libraries installing plug-ins native installers xpi plug-ins installations plug-in installation and the windows regis...
...e drawing area forcing a paint message making a plug-in opaque making a plug-in transparent creating pop-up menus and dialog boxes event handling for windowless plug-ins streams receiving a stream telling the plug-in when a stream is created telling the plug-in when a stream is deleted finding out how much data the plug-in can accept writing the stream to the plug-in
sending the stream in random-access mode
sending the stream in file mode
sending a stream creating a stream pushing data into the stream deleting the stream example of
sending a stream urls getting urls getting the url and displaying the page posting urls posting data to an http server uploading files to an ftp server
sending mail memory allocating and fre...
NPN_PostURL - Archive of obsolete content
when you use npn_posturl to
send data to the server, you can handle the response in several different ways by specifying different target parameters.
... possible url types include http (similar to an html form submission), mail (
sending mail), news (posting a news article), and ftp (upload a file).
NPP_WriteReady - Archive of obsolete content
this function allows the browser to
send only as much data to the instance as it can handle at one time, making resource use more efficient for both the browser and plug-in.
...the browser checks to see if the plug-in can receive data again by re
sending the data at regular intervals.
TCP/IP Security - Archive of obsolete content
the lowest layer
sends the accumulated data through the physical network; the data is then passed up through the layers to its destination.
... this layer
sends and receives data for particular applications, such as domain name system (dns), hypertext transfer protocol (http), and simple mail transfer protocol (smtp).
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
text field txt_name = new ext.form.textfield({ name: "name", fieldlabel: "name", width: 200 }); // create the e-mail text field txt_email = new ext.form.textfield({ name: "email", fieldlabel: "e-mail", width: 200 }); // create the message text field txt_message = new ext.form.textarea({ name: "message", fieldlabel: "message", width: 200 }); // create a button used to
send the form details.
...for debugging, jaxer will also
send database errors to the client if you want.
Mozilla XForms Specials - Archive of obsolete content
if you are wondering why we have this restriction, here is a simple example of why: <xforms:model> <xforms:instance src="http://intranetserver/addrbook.xml"/> <xforms:submission id="sub" action="http://megaspammer.com/gather" method="post"/> <xforms:
send submission="sub" ev:event="xforms-ready"/> </xforms:model> this imaginary would fetch something that is only accessible for you (f.x.
... behind a firewall) http://intranetserver/addrbook.xml, and
send it to http://megaspammer.com/gather as soon as you view the xform.
RDF in Fifty Words or Less - Archive of obsolete content
formatting a graph into xml: <rdf:rdf xmlns:rdf="http://www.w3.org/tr/wd-rdf-syntax#" xmlns:sm="http://www.mozilla.org/smart-mail/schema#"> <rdf:description about="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&folder=inbox"> <sm:message id="4025293"> <sm:recipient> chris waterson "waterson@netscape.com" </sm:recipient> <sm:
sender> aunt helga "helga@netcenter.net" </sm:
sender> <sm:received-by>x-wing.mcom.com</sm:received-by> <sm:subject>great recipe for yam soup!</sm:subject> <sm:body> http://www.mozilla.org/smart-mail/get-body.cgi?id=4025293 </sm:body> </sm:message> <sm:message id="4025294"> <sm:recipient> chris waterson "waterson@ne...
...tscape.com" </sm:recipient> <sm:
sender> sarah waterson "waterson.2@postbox.acs.ohio-state.edu" </sm:
sender> <sm:received-by>x-wing.mcom.com</sm:received-by> <sm:subject>we won our ultimate game</sm:subject> <sm:body> http://www.mozilla.org/smart-mail/get-body.cgi?id=4025294 </sm:body> </sm:message> </rdf:description> </rdf:rdf> upon receipt of the above monstrosity, the rdf engine folds the rdf into the graph at the appropriate place, and the tree control that actually implements the ui to the bookmarks is notified that it should begin drawing some icons for the latest message about yam soup from aunt helga.
Introduction to game development for the Web - Game development
pointer lock api the pointer lock api lets you lock the mouse or other pointing device within your game's interface so that instead of absolute cursor positioning you receive coordinate deltas that give you more precise measurements of what the user is doing, and prevent the user from accidentally
sending their input somewhere else, thereby missing important action.
... xmlhttprequest and file api the combination of xmlhttprequest and the file api lets you
send and receive any kind of data you want (don't let the "xml" throw you!) from a web server.
Asynchronous - MDN Web Docs Glossary: Definitions of Web-related terms
for humans, e-mail is an asynchronous communication method; the
sender
sends an email and the recipient will read and reply to the message when it's convenient to do so, rather than doing so at once.
... and both sides can continue to
send and receive messages whenever they wish, instead of having to schedule them around each other.
Packet - MDN Web Docs Glossary: Definitions of Web-related terms
backward error correction is when the receiver requests the
sender to retransmit the entire data unit.
... addresses when routing network packets it requires two network addresses the source address of the
sending host, and the destination address of the receiving host.
The HTML5 input types - Learn web development
your apps should always perform security checks on any form-submitted data on the server-side as well as the client-side, because client-side validation is too easy to turn off, so malicious users can still easily
send bad data through to your server.
... previous overview: forms next in this module your first form how to structure a web form basic native form controls the html5 input types other form controls styling web forms advanced form styling ui pseudo-classes client-side form validation
sending form data advanced topics how to build custom form controls
sending forms through javascript property compatibility table for form widgets ...
How to build custom form controls - Learn web development
there is a benefit to having this "extra" select even if our javascript works as hoped: we will use this select to
send data from our custom control along with the rest of our form data.
... live example check out the source code handling the control's value now that our control is working, we have to add code to update its value according to user input and make it possible to
send the value along with form data.
Other form controls - Learn web development
so value attributes are not needed, but you might find a reason to want to
send a shortened or different value to the server than what is visually shown in the select box.
... previous overview: forms next in this module your first form how to structure a web form basic native form controls the html5 input types other form controls styling web forms advanced form styling ui pseudo-classes client-side form validation
sending form data advanced topics how to build custom form controls
sending forms through javascript property compatibility table for form widgets ...
Styling web forms - Learn web development
rom"> <label for="name">from:</label> <input type="text" id="name" name="user_name"> </div> <div id="reply"> <label for="mail">reply:</label> <input type="email" id="mail" name="user_email"> </div> <div id="message"> <label for="msg">your message:</label> <textarea id="msg" name="user_message"></textarea> </div> <div class="button"> <button type="submit">
send your message</button> </div> </form> add the above code into the body of your html.
... previous overview: forms next in this module your first form how to structure a web form basic native form controls the html5 input types other form controls styling web forms advanced form styling ui pseudo-classes client-side form validation
sending form data advanced topics how to build custom form controls
sending forms through javascript property compatibility table for form widgets ...
UI pseudo-classes - Learn web development
a classic example is a shipping form — commonly you'll get asked if you want to use the same address for billing and shipping; if so, you can just
send a single address to the server, and might as well just disable the billing address fields.
... previous overview: forms next in this module your first form how to structure a web form basic native form controls the html5 input types other form controls styling web forms advanced form styling ui pseudo-classes client-side form validation
sending form data advanced topics how to build custom form controls
sending forms through javascript property compatibility table for form widgets ...
Marking up a letter - Learn web development
inline semantics the names of the
sender and receiver (and tel and email) should be marked up with strong importance.
... the first address and first date in the letter should have a class attribute value of
sender-column.
Componentizing our Svelte app - Learn web development
that's because our todo component is receiving the todo via the prop, but it's not
sending any information back to its parent.
...in addition, the remove event listener is
sending the daa change back up to the parent, so our "x out of y items completed" status heading will now update appropriately when todos are deleted.
Command line options
-no-remote do not accept or
send remote commands.
...instances created with this parameter do not accept or
send remote commands, see bug 650078.
Creating Sandboxed HTTP Connections
}) } handling cookies when
sending a request, cookies that apply to the url are sent with the http request.
... the observer service (nsiobserverservice) is used to
send general notifications, including the two cookie ones.
Frame script environment
sendasyncmessage()
send an asynchronous message to chrome.
...
sendsyncmessage()
send a synchronous message to chrome.
Frame script environment
sendasyncmessage()
send an asynchronous message to chrome.
...
sendsyncmessage()
send a synchronous message to chrome.
Process scripts
}); the process script's global is a child process message manager, which enables the process script to receive messages from the chrome side, and to
send messages to the chrome side: // process-script.js if (services.appinfo.processtype == services.appinfo.process_type_content) { dump("welcome to the process script in a content process"); } else { dump("welcome to the process script in the main process"); } // message is sent using contentprocessmessagemanager
sendasyncmessage("hello"); in this example, the dump() statement will run once in...
...if you do, you must call removedelayedprocessscript() when your extension is disabled or removed the message-passing apis are the same:
sendasyncmessage() is available in both directions, while
sendsyncmessage() is available from content to chrome only process scripts are system-privileged, and have access to the components object.
Tracking Protection
for example, you should not use google analytics in the following way: <a href="http://www.example.com" onclick="tracklink('http://www.example.com', event);"> visit example.com </a> <script> function tracklink(url,event) { event.preventdefault(); ga('
send', 'event', 'outbound', 'click', url, { 'transport': 'beacon', 'hitcallback': function() { document.location = url; } }); } </script> instead, you should account for the case when google analytics is missing by checking to see if the ga object has initialized: <a href="http://www.example.com" onclick="tracklink('http://www.example.com', event);"> visit example.com </a>...
... <script> function tracklink(url,event) { event.preventdefault(); if (window.ga && ga.loaded) { ga('
send', 'event', 'outbound', 'click', url, { 'transport': 'beacon', 'hitcallback': function() { document.location = url; } }); } else { document.location = url; } } </script> more information about this technique is available at google analytics, privacy, and event tracking.
Browser API
htmliframeelement.
sendmouseevent()
sends a mouseevent to the <iframe>'s content.
... htmliframeelement.
sendtouchevent()
sends a touchevent to the <iframe>'s content.
HTML parser threading
nshtml5refptr
sends runnables back to the main thread to call release on nshtml5streamparser on the main thread.
...on the main thread, the speculative tokenizer/tree builder pair used for parsing document.write() input that didn't get parsed by the main document.write() tokenizer/tree builder synchronously also
sends speculative loads to the tree op executor.
CustomizableUI.jsm
parameters aevent the name of the event to
send.
... awindow optional, the window in which to
send the event.
Webapps.jsm
t, aid, alocalid) _writemanifestfile: function(aid, aispackage, ajsonmanifest) _nextlocalid: function() _appidformanifesturl: function(auri) makeappid: function() _saveapps: function() _readmanifests: function(adata) _ensuresufficientstorage: function(anewapp) _checkdownloadsize: function(afreebytes, anewapp) _getrequestchannel: function(afullpackagepath, aislocalfileinstall, aoldapp,) _
senddownloadprogressevent: function(anewapp, aprogress) _getpackage: function(arequestchannel, aid, aoldapp, anewapp) _computefilehash: function(afilepath) _
sendappliedevent: function(aapp) _openandreadpackage: function(azipfile, aoldapp, anewapp, aislocalfileinstall,) _openpackage: function(azipfile, aapp, aislocalfileinstall) _opensignedpackage: function(ainstallorigin, amanifesturl, azipfile,...
...ocalid: function(alocalid) getapplocalidbymanifesturl: function(amanifesturl) getcoreappsbasepath: function() getwebappsbasepath: function() _islaunchable: function(aapp) _notifycategoryandobservers: function(subject, topic, data, msg) registerbrowserelementparentforapp: function(amsg, amn) receiveappmessage: function(appid, message) _clearprivatedata: function(appid, browseronly, msg) _
sendprogressevent: function() updatestatechanged: function appobs_update(aupdate, astate) applicationcacheavailable: function appobs_cacheavail(aapplicationcache) ...
Release phase
with the hg push command you can
send the changesets to the remote server.
... mercurial will connect to the remote repository, authenticate through ssh and
send the changesets.
Creating localizable web applications
bad: <p><?= _("<strong class=\"legal\">design acceptance:</strong> if a design is accepted, we will
send the following message:");?></p> <p><?= _("<strong class=\"legal\">design rejection:</strong> if a design is rejected, we will
send the following message:");?></p> snippet 4.
... good: <p><strong class="legal"><?= _("design acceptance:");?></strong> <?= _("if a design is accepted, we will
send the following message:");?></p> <p><strong class="legal"><?= _("design rejection:");?></strong> <?= _("if a design is rejected, we will
send the following message:");?></p> snippet 5.
Mozilla Port Blocking
background on 08/15/2001, cert issued a vulnerability note vu#476267 for a "cross-protocol" scripting attack, known as the html form protocol attack which allowed
sending arbitrary data to most tcp ports.
... a simple exploit of this hole allows an attacker to
send forged unsigned mail through a mail server behind your firewall: a really nasty hole.
Phishing: a short definition
a relatively simple, yet effective, phishing scheme is
sending an email with a fake invoice of a person’s favorite shopping site.
... verification via text message if a service supports verification, via sms, it
sends a text message with a one-time pin to the user’s phone number.
AsyncTestUtils extended framework
for example, {count: 1, subject: "my suitcase"} would result in a single message with the subject "my suitcase" with a random
sender and random recipient.
...it does, however,
send a junkstatuschanged notification via the nsimsgfoldernotificationservice's itemevent mechanism.
PR_NewTCPSocket
after a connection is established, the client and server may
send and receive data between each other.
...to
send data, one can call pr_write, pr_writev, pr_
send, or pr_transmitfile.
PR_OpenTCPSocket
after a connection is established, the client and server may
send and receive data between each other.
...to
send data, one can call pr_write, pr_writev, pr_
send, or pr_transmitfile.
PR_RecvFrom
receives bytes from a socket and stores the
sending peer's address.
... addr a pointer to the prnetaddr object that will be filled in with the address of the
sending peer on return.
NSS 3.15 release notes
ssl_setstapledocspresponses - set's a stapled ocsp response for a tls server socket to return when clients
send the status_request extension.
... in ocsp.h cert_postocsprequest - primarily intended for testing, permits the
sending and receiving of raw ocsp request/responses.
nss tech note7
if you are really trying to
send a key, you should use pk11_pubwrapsymkey().
... if you are trying to just
send data, use pk11_pubencryptpkcs1.
NSPR functions
pr_now interval time the nspr socket i/o functions pr_recv and pr_
send (used by the nss ssl functions) take a printervaltime timeout parameter.
... pr_read pr_write pr_recv pr_
send pr_getsocketoption pr_setsocketoption pr_shutdown pr_close ...
NSS tools : cmsutil
-d dbdir specify the key/certificate database directory (default is ".") -e envfile specify a file containing an enveloped message for a set of recipients to which you would like to
send an encrypted message.
...for certificates-only message, list of certificates to
send.
NSS Tools certutil
in each category position use zero or more of the following attribute codes: p prohibited (explicitly distrusted) p trusted peer c valid ca t trusted ca to issue client certificates (implies c) c trusted ca to issue server certificates (ssl only) (implies c) u certificate can be used for authentication or signing w
send warning (use with other attributes to include a warning when the certificate is used in that context) the attribute codes for the categories are separated by commas, and the entire set of attributes enclosed by quotation marks.
... c,c, verisign class 4 primary ca c,c,c keywitness, canada ca c,c, belsign object publishing ca ,,c bbn certificate services ca root 1 c,c, p prohibited (explicitly distrusted) p trusted peer c valid ca t trusted ca to issue client certs (implies c) c trusted ca to issue server certs(for ssl only) (implies c) u user cert w
send warning creating a certificate request this example generates a binary certificate request file named e95c.req in the specified directory: certutil -r -s "cn=john smith, o=netscape, l=mountain view, st=california, c=us" -p "650-555-8888" -o mycert.req -d certdir before it creates the request file, the certificate database tool prompts you for a password: enter password or pin for "communica...
NSS Tools cmsutil
-d dbdir specify the key/certificate database directory (default is ".") -e envfile specify a file containing an enveloped message for a set of recipients to which you would like to
send an encrypted message.
...for certificates-only message, list of certificates to
send.
NSS tools : cmsutil
-d dbdir specify the key/certificate database directory (default is ".") -e envfile specify a file containing an enveloped message for a set of recipients to which you would like to
send an encrypted message.
...for certificates-only message, list of certificates to
send.
Feed content access API
loading the feed and
sending it to the parser is done using code similar to this: fetch: function(feedurl) { var httprequest = null; function inforeceived() { var data = httprequest.responsetext; var ioservice = components.classes['@mozilla.org/network/io-service;1'] .getservice(components.interfaces.nsiioservice); var uri = ioservice.newuri(feedurl,...
...; var listener = new feedtestresultlistener(); try { parser.listener = listener; parser.parsefromstring(data, uri); } catch(e) { alert("error parsing feed."); } } } httprequest = new xmlhttprequest(); httprequest.open("get", feedurl, true); try { httprequest.onload = inforeceived; httprequest.
send(null); } catch(e) { alert(e); } } the nsifeedprocessor interface lets you parse the feed data from several possible sources; in this case, we're loading a document into a string, then parsing that string using its parsefromstring() method.
mozIAsyncFavicons
this function does not
send out notifications that the data has changed.
...this function does not
send out notifications that the data has changed.
nsICompositionStringSynthesizer
to create an instance for this: var domwindowutils = window.windowutils; var compositionstringsynthesizer = domwindowutils.createcompositionstringsynthesizer(); for example, when you create a composition whose composing string is "foo-bar-buzz" and "bar" is selected to convert, then, first, you need to start composition: domwindowutils.
sendcompositionevent("compositionstart", "", ""); next, dispatch composition string with crause information and caret information (optional): // set new composition string with .setstring().
...".length, 0); compositionstringsynthesizer.dispatchevent(); finally, when you commits composition with the last composition string "foo-bar-buzz": // deprecated in 36, first, dispatch commit string without clause information compositionstringsynthesizer.setstring("foo-bar-buzz"); compositionstringsynthesizer.dispatchevent(); // then, dispatch compositionend with the commit string domwindowutils.
sendcompositionevent("compositionend", "foo-bar-buzz", ""); starting gecko 36, you can do it simpler: domwindowutils.
sendcompositionevent("compositioncommitasis", "", ""); if you need to commit composition with different commit string gecko 36 or later, you can use "compositioncommit": domwindowutils.
sendcompositionevent("compositioncommit", "foo-bar-buzz", ""); method overview void ...
nsIFrameScriptLoader
if this function is called on a chromemessage
sender: it will load the frame script only into this chromemessage
sender's frame aallowdelayedload should always be true.
... it's possible that the frame for this chromemessage
sender is not yet available at the time of the loadframescript() call, and if you pass false in this situation, your process script won't be loaded.
nsIHttpActivityObserver
activity subtype constants constant value description activity_subtype_request_header 0x5001 the http request is about to be queued for
sending.
...socket transport activity when the activity type is activity_type_socket_transport and the subtype is status_
sending_to, the aextrasizedata parameter contains the number of bytes sent.
nsIMemoryReporterManager
unregistermultireporter() stops
sending memory multi-reporter notifications to the specified object.
... unregisterreporter() stops
sending memory reporter notifications to the specified object.
nsIMsgCompFields
it should be initialized to true and set to false when '
send anyway' is selected by a user.
...veattachments ( ); header methods void setheader(char* name, char* value); references this interface is the type of the following properties: nsimsgcompose.compfields, nsimsgcomposeparams.composefields this interface is passed as an argument to the following methods: nsimsgcomposesecure.begincryptoencapsulation, nsimsgcomposesecure.requirescryptoencapsulation, nsimsg
send.createand
sendmessage, nsimsg
send.
sendmessagefile, nsismimejshelper.getnocertaddresses, nsismimejshelper.getrecipientcertsinfo ...
nsIMsgFolder
displayrecipients boolean readonly: should we be displaying recipients instead of the
sender.
... for example, in the sent folder, recipients are more relevant than the
sender.
nsINavBookmarksService
note: this is the only method that will
send an itemchanged notification for the property.
... lastmodified will still be updated in any other method that changes an item property, but we will
send the corresponding itemchanged notification instead.
nsIRequest
implementations must not
send any notifications (for example via nsirequestobserver) synchronously from this function.
... calling cancel() on a suspended request must not
send any notifications (such as onstoprequest) until the request is resumed.
nsISmsDatabaseService
to create an instance, use: var smsservice = components.classes["@mozilla.org/sms/smsdatabaseservice;1"] .createinstance(components.interfaces.nsismsdatabaseservice); method overview long savereceivedmessage(in domstring a
sender, in domstring abody, in unsigned long long adate); long savesentmessage(in domstring areceiver, in domstring abody, in unsigned long long adate); void getmessage(in long messageid, in long requestid, [optional] in unsigned long long processid); void deletemessage(in long messageid, in long requestid, [optional] in unsigned long long processid); void createmessagelist(in nsidommozsmsfilt...
...estid, [optional] in unsigned long long processid); void getnextmessageinlist(in long listid, in long requestid, [optional] in unsigned long long processid); void clearmessagelist(in long listid); void markmessageread(in long messageid, in boolean value, in long requestid, [optional] in unsigned long long processid) methods savereceivedmessage() void savereceivedmessage( in domstring a
sender, in domstring abody, in unsigned long long adate ); parameters a
sender a domstring with the
sender of the text message.
nsISmsRequestManager
notifymarkedmessageread(in long arequestid, in bool aread); void notifymarkmessagereadfailed(in long arequestid, in long aerror); void notifynomessageinlist(in long arequestid); void notifyreadmessagelistfailed(in long arequestid, in long aerror); void notifysmsdeleted(in long arequestid, in bool adeleted); void notifysmsdeletefailed(in long arequestid, in long aerror); void notifysms
sendfailed(in long arequestid, in long aerror); void notifysmssent(in long arequestid, in nsidommozsmsmessage amessage); constants all sms related errors that could apply to smsrequest objects.
... notifysms
sendfailed() void notifysms
sendfailed( in long arequestid, in long aerror ); parameters arequestid a number representing the id of the request.
nsISocketTransport
status_connecting_to 0x804b0007 status_connected_to 0x804b0004 status_
sending_to 0x804b0005 status_waiting_for 0x804b000a status_receiving_from 0x804b0006 connection flags values for the connectionflags attribute constant value description bypass_cache 0 when making a new connection bypass_cache will force the necko dns cache entry to...
...for example, an ssl connection would not
send any client-certificates if this flag is set.
nsITelemetry
does not indicate whether telemetry will
send any data.
...does not indicate whether telemetry will
send any data.
nsIXMLHttpRequest
example code this is a simple example code for opening a simple http request from a xul application (like a mozilla extension) without using observers: var req = components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createinstance(); req.open('post', "http://www.foo.bar:8080/nietzsche.do", true); req.
send('your=data&and=more&stuff=here'); example 2 var {cu: utils, cc: classes, ci: instances} = components; cu.import('resource://gre/modules/services.jsm'); function xhr(url, cb) { let xhr = cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createinstance(ci.nsixmlhttprequest); let handler = ev => { evf(m => xhr.removeeventlistener(m, handler, !1)); switch (ev.type) { ...
...you only want this if your url is to a zip file or some file you want to download and make a nsiarraybufferinputstream out of it or something xhr.
send(null); } xhr('https://www.gravatar.com/avatar/eb9895ade1bd6627e054429d1e18b576?s=24&d=identicon&r=pg&f=1', data => { services.prompt.alert(null, 'xhr success', data); var file = os.path.join(os.constants.path.desktopdir, "test.png"); var promised = os.file.writeatomic(file, new uint8array(data)); promised.then( function() { alert('succesfully saved image to de...
XPCOM Interface Reference by grouping
editabletext nsiaccessibleevent nsiaccessiblehyperlink nsiaccessiblehypertext nsiaccessibleimage nsiaccessibleprovider nsiaccessibleretrieval nsiaccessiblerole nsiaccessiblescrolltype nsiaccessibleselectable nsiaccessiblestates nsiaccessibletable nsiaccessibletext nsiaccessibletreecache nsiaccessiblevalue nsiaccessnode nsisyncmessage
sender script nsiscriptableunescapehtml nsiscriptableunicodeconverter nsiscripterror nsiscripterror2 stylesheet nsistylesheetservice url nsiuri nsiurl util nsidomserializer nsidomxpathevaluator nsidomxpathexception nsidomxpathexpression nsidomxpathresult xslt nsixsltexception nsixsltprocessor download ...
...untmanagerextension element nsieditormailsupport message nsidbchangeannouncer nsidbchangelistener nsimessenger nsimsgcompfields nsimsgcustomcolumnhandler nsimsgdatabase nsimsgdbhdr nsimsgdbview nsimsgdbviewcommandupdater nsimsgfolder nsimsgidentity nsimsgmessageservice nsimsg
sendlater nsimsgthread nsimsgwindow nsimsgwindowcommands user history nsibrowserhistory nsibrowsersearchservice nsimicrosummary nsimicrosummarygenerator nsimicrosummaryobserver nsimicrosummaryservice nsimicrosummaryset ...
Mozilla
mozilla port blocking on 08/15/2001, cert issued a vulnerability note vu#476267 for a "cross-protocol" scripting attack, known as the html form protocol attack which allowed
sending arbitrary data to most tcp ports.
... a simple exploit of this hole allows an attacker to
send forged unsigned mail through a mail server behind your firewall: a really nasty hole.
Gecko Plugin API Reference - Plugins
display modes using the object element for plug-in display nesting rules for html elements using the appropriate attributes using the embed element for plug-in display using custom embed attributes plug-in references plug-in development overview writing plug-ins registering plug-ins ms windows unix mac os x drawing a plug-in instance handling memory
sending and receiving streams working with urls getting version and ui information displaying messages on the status line making plug-ins scriptable building plug-ins building, platforms, and compilers building carbonized plug-ins for mac os x type libraries installing plug-ins native installers xpi plug-ins installations plug-in installation and the windows regis...
...e drawing area forcing a paint message making a plug-in opaque making a plug-in transparent creating pop-up menus and dialog boxes event handling for windowless plug-ins streams receiving a stream telling the plug-in when a stream is created telling the plug-in when a stream is deleted finding out how much data the plug-in can accept writing the stream to the plug-in
sending the stream in random-access mode
sending the stream in file mode
sending a stream creating a stream pushing data into the stream deleting the stream example of
sending a stream urls getting urls getting the url and displaying the page posting urls posting data to an http server uploading files to an ftp server
sending mail memory allocating and fre...
Browser Console - Firefox Developer Tools
input/output messages: commands
send to the browser via the command line, and the result of executing them.
...try running this code in the browser console's command line (remember that to
send multiple lines to the browser console, use shift+enter): var newtabbrowser = gbrowser.getbrowserfortab(gbrowser.selectedtab); newtabbrowser.addeventlistener("load", function() { newtabbrowser.contentdocument.body.innerhtml = "<h1>this page has been eaten</h1>"; }, true); newtabbrowser.contentdocument.location.href = "https://mozilla.org/"; it adds a listener to the currently selected tab's lo...
Intensive JavaScript - Firefox Developer Tools
button.disabled = false; console.log(message.data.primes); worker.removeeventlistener("message", handleworkercompletion); } } worker.addeventlistener("message", handleworkercompletion, false); worker.postmessage({ "multiplier": multiplier, "iterations": iterations }); } the main difference here, compared with the original, is that we need to: create a worker
send it a message when we are ready to calculate listen for a message called "done", which indicates that the worker has finished.
...{ var candidate = i * (multiplier * math.random()); var isprime = true; for (var c = 2; c <= math.sqrt(candidate); ++c) { if (candidate % c === 0) { // not prime isprime = false; break; } } if (isprime) { primes.push(candidate); } } return primes; } in the worker, we have to listen for a message telling us to start, and
send a "done" message back when we are done.
Waterfall - Firefox Developer Tools
worker event in main thread shown when the main thread
sends a message to a worker, or receives a message from a worker.
... worker event in worker thread shown when a worker receives a message from the main thread, or
sends a message to the main thread.
AddressErrors - Web APIs
in the example, we're handling a donation to an organization that will be
sending a "thank you" gift to the donor, so it requests shipping information along with allowing the donation payment itself.
... <p>donate us $65 to our worthwhile cause and we will
send you a totally not-useless gift as a token of our thanks!</p> <button id="pay">donate now</button> result the final product is below.
AudioBufferSourceNode.playbackRate - Web APIs
when set to another value, the audiobuffersourcenode resamples the audio before
sending it to the output.
...load = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; source.playbackrate.value = playbackcontrol.value; source.connect(audioctx.destination); source.loop = true; }, function(e){"error with decoding audio data" + e.err}); } request.
send(); } // wire up buttons to stop and play audio, and range slider control play.onclick = function() { getdata(); source.start(0); play.setattribute('disabled', 'disabled'); playbackcontrol.removeattribute('disabled'); } stop.onclick = function() { source.stop(0); play.removeattribute('disabled'); playbackcontrol.setattribute('disabled', 'disabled'); } playbackcontrol.oninput = fu...
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.
...
sender <h1>
sender</h1> <label for="message">type a message to broadcast:</label><br/> <textarea id="message" name="message" rows="1" cols="40">hello</textarea> <button id="broadcast-message" type="button">broadcast message</button> body { border: 1px solid black; padding: .5rem; height: 150px; font-family: "fira sans", sans-serif; } h1 { font: 1.6em "fira sans", sans-serif; margin-bottom: 1rem; } textarea { padding: .2rem; } label, br { margin: .5rem 0; } button { vertical-align: top; height: 1.5rem; } const channel = new broadcastchannel('example-channel'); const messagecontrol = document.queryselector('#message'); const broadc...
Broadcast Channel API - Web APIs
// connection to a broadcast channel const bc = new broadcastchannel('test_channel');
sending a message it is enough to call the postmessage() method on the created broadcastchannel object, which takes any object as an argument.
... an example string message: // example of
sending of a very simple message bc.postmessage('this is a test message.'); any kind of object can be sent, not just a domstring.
Using channel messaging - Web APIs
secondly, have a look at our multimessaging demo (run this live), which shows a slightly more complex setup that can
send multiple messages between the main page and an iframe.
... when our button is clicked, we prevent the form from submitting as normal and then
send the value entered in our text input to the iframe via the messagechannel.
DedicatedWorkerGlobalScope: message event - Web APIs
when the parent
sends a message using worker.postmessage()).
... bubbles no cancelable no interface messageevent event handler property onmessage examples this code creates a new worker and
sends it a message using worker.postmessage(): const worker = new worker("static/scripts/worker.js"); worker.addeventlistener('message', (event) => { console.log(`received message from worker: ${event.data}`) }); the worker can listen for this message using addeventlistener(): // inside static/scripts/worker.js self.addeventlistener('message', (event) => { console.log(`received message from parent: ${event.data}`); }); alternatively, it could listen using the onmessage event handler property: // static/scripts/worker.js self.onmessage = (event) => { console.log(`received message from parent: ...
Introduction to the File and Directory Entries API - Web APIs
you
send requests for operations to happen, and get notified by callbacks.
...for example, you are likely to use one of the following: xmlhttprequest (such as the
send() method for file and blob objects) drag and drop api web workers (for the synchronous version of the file and directory entries api) the input element (to programmatically obtain a list of files from the element) the file and directory entries api is case sensitive the filesystem api is case-sensitive, and case-preserving.
Guide to the Fullscreen API - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
HTMLAnchorElement.referrerPolicy - Web APIs
examples var elt = document.createelement("a"); var linktext = document.createtextnode("my link"); elt.appendchild(linktext); elt.href = "https://developer.mozilla.org/"; elt.referrerpolicy = "no-referrer"; var div = document.getelementbyid("divaround"); div.appendchild(elt); // when clicked, the link will not
send a referrer header.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
HTMLAreaElement.referrerPolicy - Web APIs
examples <img usemap="#maparound" width="100" height="100" src="/img/logo@2x.png" /> <map id="mymap" name="maparound" />> var elt = document.createelement("area"); elt.href = "/img2.png"; elt.shape = "rect"; elt.referrerpolicy = "no-referrer"; elt.coords = "0,0,100,100"; var map = document.getelementbyid("mymap"); map.appendchild(elt); // when clicked, the area's link will not
send a referrer header.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
HTMLImageElement.useMap - Web APIs
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Key Values - Web APIs
appcommand_reply_to_mail gdk_key_reply (0x1008ff72) qt::key_reply (0x010000e5) "mail
send" [1]
sends the current message.
... appcommand_
send_mail gdk_key_
send (0x1008ff7b) qt::key_
send (0x010000eb) [1] prior to firefox 37, this key generated the key value "unidentified".
MessagePort - Web APIs
methods inherits methods from its parent, eventtarget postmessage()
sends a message from the port, and optionally, transfers ownership of objects to other browsing contexts.
... start() starts the
sending of messages queued on the port (only needed when using eventtarget.addeventlistener; it is implied when using messageport.onmessage.) close() disconnects the port, so it is no longer active.
Navigator.onLine - Web APIs
the property
sends updates whenever the browser's ability to connect to the network changes.
... in firefox and internet explorer, switching the browser to offline mode
sends a false value.
Page Visibility API - Web APIs
when the user minimizes the window or switches to another tab, the api
sends a visibilitychange event to let listeners know the state of the page has changed.
...these may include: most browsers stop
sending requestanimationframe() callbacks to background tabs or hidden <iframe>s in order to improve performance and battery life.
PaymentRequest.onshippingaddresschange - Web APIs
to make sure an updated address is included when
sending payment information to the server, you should add event listeners for a paymentrequest object after instantiation, but before the call to show().
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
PaymentRequest.onshippingoptionchange - Web APIs
to make sure an updated option is included when
sending payment information to the server, you should add event listeners for a paymentrequest object after instantiation, but before the call to show().
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
PaymentResponse.complete() - Web APIs
examples the following example
sends payment information to a secure server using the fetch api.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
PaymentResponse.details - Web APIs
payment.show().then(paymentresponse => { var paymentdata = { // payment method string method: paymentresponse.methodname, // payment details as you requested details: paymentresponse.details, // shipping address information address: todict(paymentresponse.shippingaddress) }; //
send information to the server }); specifications specification status comment payment request api candidate recommendation initial definition.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Payment processing concepts - Web APIs
thus, it's important to note that the user agent never
sends a merchantvalidation event, unless the user agent itself implements a payment handler.
... for instance, safari has integrated support for apple pay, so the apple pay payment handler uses this to ensure that apple pay can be used to pay the merchant by
sending merchantvalidation to the client, instructing it to fetch the server's validation data and deliver it to the payment handler by calling complete().
PublicKeyCredentialCreationOptions - Web APIs
smith", }, // requested format of new keypair pubkeycredparams: [{ type: "public-key", alg: cose_alg_ecdsa_w_sha256, }], // timeout after 1 minute timeout: 60000, // do not
send the authenticator's origin attestation attestation: "none", extensions: { uvm: true, exts: true }, // filter out authenticators which are bound to the device authenticatorselection:{ authenticatorattachment: "cross-platform", requireresidentkey: true, userverification: "preferred" }, // exclu...
... john-doe@example.com id : new uint8array(26) /* another id */ } ] } }; // 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 'publickey...
PushSubscription.endpoint - Web APIs
the endpoint takes the form of a custom url pointing to a push server, which can be used to
send a push message to the particular service worker instance that subscribed to the push service.
... example navigator.serviceworker.ready.then(function(reg) { reg.pushmanager.subscribe({uservisibleonly: true}).then(function(subscription) { console.log(subscription.endpoint); // at this point you would most likely
send the subscription // endpoint to your server, save it, then use it to
send a // push message at a later date }) }) specifications specification status comment push apithe definition of 'endpoint' in that specification.
PushSubscription.options - Web APIs
applicationserverkey: a public key your push server will use to
send messages to client apps via a push server.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Web Push API Notifications best practices - Web APIs
after a few failed attempts to get your attention, they
send you an email, and your email app produces a push notification that successfully alerts you, even though your mail web app is not open.
...every push notification should be useful and time-sensitive, and the user should always be asked for permission before
sending the first one, and be offered an easy way to opt out of getting more in the future.
RTCDTMFToneChangeEvent.tone - Web APIs
if all queued tones have finished playing (that is, rtcdtmf
sender.tonebuffer is empty).
... dtmf
sender.ontonechange = function( ev ) { let tone = ev.tone; if (tone === "") { tone = "<none>" } document.getelementbyid("playingtone").innertext = tone; }; specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcdtmftonechangeevent.tone' in that specification.
RTCDTMFToneChangeEvent - Web APIs
it appends each tone to a display box as it's played, and, once all tones have been sent, re-enabled a previously-disabled "
send" button, allowing the next dmtf string to be entered.
... dtmf
sender.addeventlistener("change", function(event) { if (event.tone !== "") { dialstringbox.innertext += event.tone; } else {
senddtmfbutton.disabled = false; } }, false); specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcdtmftonechangeevent' in that specification.
RTCDataChannel: bufferedamountlow event - Web APIs
let pc = new rtcpeerconnection(); let dc = pc.createdatachannel("
sendfile"); let source = /* source data object */ dc.bufferedamountlowthreshold = 65536; pc.addeventlistener("bufferedamountlow", ev => { if (source.position <= source.length) { dc.
send(source.readfile(65536)); } }, false); after creating the rtcpeerconnection, this calls rtcpeerconnection.createdatachannel() to create the data channel.
... you can also set up a listener for bufferedamountlow using its event handler property, onbufferedamountlow: pc.onbufferedamountlow = ev => { if (source.position <= source.length) { dc.
send(source.readfile(65536)); } } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'bufferedamountlow' in that specification.
RTCDataChannel: close event - Web APIs
dc.addeventlistener("close", ev => { messageinputbox.disabled = true;
sendbutton.disabled = true; connectbutton.disabled = false; disconnectbutton.disabled = true; }, false); all this code does in response to receiving the close event is to disable an input box and its "
send" button, and to enable the button used to start a call (while disabling the one that ends a call).
... you can also use the onclose event handler property to set a handler for close events: dc.onclose = ev => { messageinputbox.disabled = true;
sendbutton.disabled = true; connectbutton.disabled = false; disconnectbutton.disabled = true; } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'close' in that specification.
RTCDataChannel.onclose - Web APIs
this way, the message entry field and the
send button are only enabled for use when the connection is actually open.
... let pc = new rtcpeerconnection(); let dc = pc.createdatachannel("messagechannel")}}; dc.onopen = function(event) { document.getelementbyid("messagebox").disabled = false; document.getelementbyid("
sendbutton").disabled = false; }; dc.onclose = function(event) { document.getelementbyid("messagebox").disabled = true; document.getelementbyid("
sendbutton").disabled = true; } /* now negotiate the connection, etc...
RTCDataChannel.onopen - Web APIs
it then establishes an open event handler which updates some user interface elements to prepare them for being used to
send messages over the data channel.
... let dc = mypeerconnection.createdatachannel("message channel"); dc.onopen = function(event) { let messagebox = document.getelementbyid("messagebox"); let
sendbutton = document.getelementbyid("
sendbutton"); messagebox.disabled = false; messagebox.focus();
sendbutton.disabled = false; } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcdatachannel.onopen' in that specification.
RTCIceCandidatePair.local - Web APIs
var candidatepair = pc.get
senders()[0].transport.transport.getselectedcandidatepair(); var localcandidate = candidatepair.local; the rtcicetransport is found by getting the list of rtcrtp
sender objects for the rtcpeerconnection pc.
... in the first rtcrtp
sender, we get the rtcdtlstransport over which the media data is being transmitted and finally, from that, the rtcicetransport.
RTCIceCandidatePair.remote - Web APIs
var candidatepair = pc.get
senders()[0].transport.transport.getselectedcandidatepair(); var remotecandidate = candidatepair.remote; the rtcicetransport is found by getting the list of rtcrtp
sender objects for the rtcpeerconnection pc.
... in the first rtcrtp
sender, we get the rtcdtlstransport over which the media data is being transmitted and finally, from that, the rtcicetransport.
RTCIceCandidatePairStats.totalRoundTripTime - Web APIs
the rtcicecandidatepairstats dictionary's totalroundtriptime property is the total time that has elapsed between
sending stun requests and receiving the responses, for all such requests that have been made so far on the pair of candidates described by this rtcicecandidatepairstats object.
... syntax totalrtt = rtcicecandidatepairstats.totalroundtriptime; value this floating-point value indicates the total number of seconds which have elapsed between
sending out stun connectivity and consent check requests and receiving their responses, for all such requests made so far on the connection described by this candidate pair.
RTCIceTransport.getLocalCandidates() - Web APIs
example this simple example gets the local candidate list from the rtcicetransport for the first rtcrtp
sender on the rtcpeerconnection, then outputs to the console all of the candidates in the list.
... var localcandidates = pc.get
senders()[0].transport.transport.getlocalcandidates(); localcandidates.foreach(function(candidate, index)) { console.log("candidate " + index + ": " + candidate.candidate); }); specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcicecandidate.getlocalcandidates()' in that specification.
RTCIceTransport.getRemoteCandidates() - Web APIs
example this simple example gets the remote candidate list from the rtcicetransport for the first rtcrtp
sender on the rtcpeerconnection, then outputs to the console all of the candidates in the list.
... var remotecandidates = pc.get
senders()[0].transport.transport.getremotecandidates(); remotecandidates.foreach(function(candidate, index)) { console.log("candidate " + index + ": " + candidate.candidate); }); specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcicecandidate.getremotecandidates()' in that specification.
RTCIceTransport: selectedcandidatepairchange event - Web APIs
let icetransport = pc.get
senders[0].transport.icetransport; let localprotoelem = document.getelementbyid("local-protocol"); let remoteprotoelem = document.getelementbyid("remote-protocol"); icetransport.addeventlistener("selectedcandidatepairchange", ev => { let pair = icetransport.getselectedcandidatepair(); localprotoelem.innertext = pair.local.protocol.touppercase(); remoteprotoelem.innertext = pair.remote.protocol.
... let icetransport = pc.get
senders[0].transport.icetransport; let localprotoelem = document.getelementbyid("local-protocol"); let remoteprotoelem = document.getelementbyid("remote-protocol"); icetransport.onselectedcandidatepairchange = ev => { let pair = icetransport.getselectedcandidatepair(); localprotoelem.innertext = pair.local.protocol.touppercase(); remoteprotoelem.innertext = pair.remote.protocol.touppercase(); } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'selectedcandidatepairchange' in that specification.
RTCInboundRtpStreamStats.averageRtcpInterval - Web APIs
because the interval's value is determined in part by the number of active
senders, it will be different for each user of a service.
... the
sending endpoint computes this value when
sending compound rtcp packets, which must contain at least an rtcp rr or sr packet and an sdes packet with the cname item.
RTCInboundRtpStreamStats.remoteId - Web APIs
the remoteid property of the rtcinboundrtpstreamstats dictionary specifies the id of the rtcremoteoutboundrtpstreamstats object representing the remote peer's rtcrtp
sender which is
sending the media to the local peer.
... syntax var remotestatsid = rtcinboundrtpstreamstats.remoteid; value a domstring containing the id of the rtcremoteoutboundrtpstreamstats object that represents the remote peer's rtcrtp
sender for the synchronization source represented by this stats object.
RTCOfferOptions.iceRestart - Web APIs
pc.oniceconnectionstatechange = function(evt) { if (pc.iceconnectionstate === "failed") { if (pc.restartice) { pc.restartice(); } else { pc.createoffer({ icerestart: true }) .then(pc.setlocaldescription) .then(
sendoffertoserver); } } } if the state changes to failed, this handler starts by looking to see if the rtcpeerconnection includes the restartice() method; if it does, we call that to request an ice restart.
...after that, the offer is sent to the server by calling a custom function
sendoffertoserver().
RTCOutboundRtpStreamStats.averageRtcpInterval - Web APIs
because the interval's value is determined in part by the number of active
senders, it will be different for each user of a service.
... the
sending endpoint computes this value when
sending compound rtcp packets, which must contain at least an rtcp rr or sr packet and an sdes packet with the cname item.
RTCOutboundRtpStreamStats.framesEncoded - Web APIs
the framesencoded property of the rtcoutboundrtpstreamstats dictionary indicates the total number of frames that have been encoded by this rtcrtp
sender for this media source.
... syntax var framesencoded = rtcoutboundrtpstreamstats.framesencoded; value an integer value indicating the total number of video frames that this
sender has encoded so far for this stream.
RTCOutboundRtpStreamStats.trackId - Web APIs
the trackid property of the rtcoutboundrtpstreamstats dictionary indicates the id of the rtc
senderaudiotrackattachmentstats or rtc
sendervideotrackattachmentstats object representing the mediastreamtrack which is being sent on this stream.
... syntax var trackstatsid = rtcoutboundrtpstreamstats.trackid; value a domstring containing the id of the rtc
senderaudiotrackattachmentstats or rtc
sendervideotrackattachmentstats object representing the track which is the source of the media being sent on this stream.
RTCPeerConnection.addIceCandidate() - Web APIs
// this example assumes that the other peer is using a signaling channel as follows: // // pc.onicecandidate = event => { // if (event.candidate) { // signalingchannel.
send(json.stringify({ice: event.candidate})); // "ice" is arbitrary // } else { // // all ice candidates have been sent // } // } signalingchannel.onmessage = receivedstring => { const message = json.parse(receivedstring); if (message.ice) { // a typical value of ice here might look something like this: // // {candidate: "candidate:0 1 udp 2122154243 192.168.1.9 53421 typ host...
...out of interest, end-of-candidates may be manually indicated as follows: pc.addicecandidate({candidate:''}); however, in most cases you won't need to look for this explicitly, since the events driving the rtcpeerconnection will deal with it for you,
sending the appropriate events.
RTCPeerConnection.addStream() - Web APIs
instead of using this obsolete method, you should instead use addtrack() once for each track you wish to
send to the remote peer.
... said stream was added to: stream.addtrack(track); if (pc.addtrack) { pc.addtrack(track, stream); } else { // if you have code listening for negotiationneeded events: settimeout(() => pc.dispatchevent(new event('negotiationneeded'))); } // remove a track from a stream and the peer connection said stream was added to: stream.removetrack(track); if (pc.removetrack) { pc.removetrack(pc.get
senders().find(
sender =>
sender.track == track)); } else { // if you have code listening for negotiationneeded events: settimeout(() => pc.dispatchevent(new event('negotiationneeded'))); } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcpeerconnection.addstream()' in that specification.
RTCPeerConnection.addTransceiver() - Web APIs
each transceiver represents a bidirectional stream, with both an rtcrtp
sender and an rtcrtpreceiver associated with it.
...
sendencodings optional a list of encodings to allow when
sending rtp media from the rtcrtp
sender.
RTCPeerConnection.createAnswer() - Web APIs
in this case, a websocket connection is used to
send a json message with a type field with the value "video-answer" to the other peer, carrying the answer to the device which sent the offer to connect.
... 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.createDataChannel() - Web APIs
examples this example shows how to create a data channel and set up handlers for the open and message events to
send and receive messages on it (for brievity, the example assumes onnegotiationneeded is set up).
... // offerer side var pc = new rtcpeerconnection(options); var channel = pc.createdatachannel("chat"); channel.onopen = function(event) { channel.
send('hi you!'); } channel.onmessage = function(event) { console.log(event.data); } // answerer side var pc = new rtcpeerconnection(options); pc.ondatachannel = function(event) { var channel = event.channel; channel.onopen = function(event) { channel.
send('hi back!'); } channel.onmessage = function(event) { console.log(event.data); } } alternatively, more symmetrical out-of-band negotiation can be used, using an agreed-upon id (0 here): // both sides var pc = new rtcpeerconnection(options); var channel = pc.createdatachannel("chat", {negotiated: true, id: 0}); channel.onopen = function(event) { channel.
send('hi!'); } ...
RTCPeerConnection.getTransceivers() - Web APIs
the rtcpeerconnection interface's gettransceivers() method returns a list of the rtcrtptransceiver objects being used to
send and receive data on the connection.
... return value an array of the rtcrtptransceiver objects representing the transceivers handling
sending and receiving all media on the rtcpeerconnection.
RTCPeerConnection.setConfiguration() - Web APIs
urls: "turn:asia.myturnserver.net", username: "allie@oopcode.com", credential: "topsecretpassword" }] }; mypeerconnection.setconfiguration(restartconfig); mypeerconnection.createoffer({"icerestart": true}).then(function(offer) { return mypeerconnection.setlocaldescription(offer); }) .then(function() { //
send the offer to the other peer using the signaling server }) .catch(reporterror); first, a new rtcconfiguration is created, restartconfig, specifying the new ice server and its credentials.
...from there, we handle the process as usual, by setting the local description to the returned offer and then
sending that offer to the other peer.
RTCRemoteOutboundRtpStreamStats - Web APIs
reportssent an integer value indicating the total number of rtcp
sender report (sr) blocks that this ssrc has sent.
... usage notes the rtcremoteoutboundrtpstreamstats object's remotetimestamp proeprty provides statistics based on the received data's ntp timestamp taken from an rtcp
sender report (sr) block.
RTCRtcpParameters - Web APIs
it's used as the value of the rtcp property of the parameters of an rtcrtp
sender or rtcrtpreceiver.
... examples this example obtains the canonical name (cname) being used for rtcp on an rtcrtp
sender or rtcrtpreceiver.
RTCRtpCapabilities - Web APIs
the rtcrtpcapabilities dictionary is a data type used to describe the capabilities of an rtcrtp
sender or rtcrtpreceiver in response to a call to the rtcrtp
sender.getcapabilities() or rtcrtpreceiver.getcapabilities() static functions, both of which return an array of rtcrtpcapabilities objects.
... properties codecs an array of rtcrtpcodeccapability objects, each describing one of the codecs supported by the rtcrtp
sender or rtcrtpreceiver.
RTCRtpTransceiver.stopped - Web APIs
the read-only stopped property on the rtcrtptransceiver interface indicates whether or not the transceiver's associated
sender and receiver have both been stopped.
... syntax var isstopped = rtcrtptransceiver.stopped; value a boolean value which is true if the transceiver's
sender will no longer
send data, and its receiver will no longer receive data.
RTCSctpTransport - Web APIs
possibly the most useful property on this interface is its maxmessagesize property, which you can use to determine the upper limit on the size of messages you can
send over a data channel on the peer connection.
... rtcsctptransport.maxmessagesizeread only an integer value indicating the maximum size, in bytes, of a message which can be sent using the rtcdatachannel.
send() method.
RTCTrackEvent.transceiver - Web APIs
the transceiver pairs the track's receiver with an rtcrtp
sender.
... syntax var rtptransceiver = trackevent.transceiver; value the rtcrtptransceiver which pairs the receiver with a
sender and other properties which establish a single bidirectional srtp stream for use by the track associated with the rtctrackevent.
RTCTrackEventInit.transceiver - Web APIs
the transceiver pairs the track's receiver with an rtcrtp
sender to allow bidirectional communication.
... syntax var trackeventinit = { receiver: rtpreceiver, track: mediastreamtrack, streams: [videostream], transceiver: rtptransceiver }; var rtptransceiver = trackeventinit.transceiver; value the rtcrtptransceiver which pairs the receiver with a
sender and other properties which establish a single bidirectional srtp stream for use by the track associated with the rtctrackevent.
Server-sent events - Web APIs
traditionally, a web page has to
send a request to the server to receive new data; that is, the page requests data from the server.
... with server-sent events, it's possible for a server to
send new data to a web page at any time, by pushing messages to the web page.
ServiceWorkerGlobalScope: message event - Web APIs
controlled pages can use the serviceworker.postmessage() method to
send messages to service workers.
... the service worker can optionally
send a response back via the client.postmessage(), corresponding to the controlled page.
ServiceWorkerGlobalScope - Web APIs
controlled pages can use the messageport.postmessage() method to
send messages to service workers.
... the service worker can optionally
send a response back via the messageport exposed in event.data.port, corresponding to the controlled page.
SharedWorkerGlobalScope.onconnect - Web APIs
the connecting port can be referenced through the event object's ports parameter; this reference can have an onmessage handler attached to it to handle messages coming in through the port, and its postmessage() method can be used to
send messages back to the main thread using the worker.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Streams API concepts - Web APIs
when a stream later in the chain is still busy and isn't yet ready to accept more chunks, it
sends a signal backwards through the chain to tell earlier transform streams (or the original source) to slow down delivery as appropriate so that you don't end up with a bottleneck anywhere.
...if it is too low, our readablestream can tell its underlying source to stop
sending data, and we backpressure along the stream chain.
Introduction to WebRTC protocols - Web APIs
the client will
send a request to a stun server on the internet who will reply with the client’s public address and whether or not the client is accessible behind the router’s nat.
...you would create a connection with a turn server and tell all peers to
send packets to the server which will then be forwarded to you.
WebSocket.bufferedAmount - Web APIs
the websocket.bufferedamount read-only property returns the number of bytes of data that have been queued using calls to
send() but not yet transmitted to the network.
...this value does not reset to zero when the connection is closed; if you keep calling
send(), this will continue to climb.
The WebSocket API (WebSockets) - Web APIs
with this api, you can
send messages to a server and receive event-driven responses without having to poll the server for a reply.
... interfaces websocket the primary interface for connecting to a websocket server and then
sending and receiving data on the connection.
Inputs and input sources - Web APIs
xrsession.addeventlistener("select", event => { let inputsource = event.inputsource; let frame = event.frame; /* handle the event */ }); some actions may
send these events very quickly, one after the other.
... primary squeeze action a primary squeeze action is a platform-specific action which
sends the xrsession squeezestart, squeezeend, and squeeze events.
Controlling multiple parameters with ConstantSourceNode - Web APIs
since constantsourcenode's offset value is simply sent straight through to all of its outputs, it acts as a splitter for that value,
sending it to each connected parameter.
...we connect its output to the gain audioparam on both gainnode2 and gainnode3, and we start the constant node running by calling its start() method; now it's
sending the value 0.5 to the two gain nodes' values, and any change to constantnode.offset will automatically set the gain of both gainnode2 and gainnode3 (affecting their audio inputs as expected).
Migrating from webkitAudioContext - Web APIs
the example below shows old code which downloads an audio file over the network, and then decoded it using createbuffer(): var xhr = new xmlhttprequest(); xhr.open("get", "/path/to/audio.ogg", true); xhr.responsetype = "arraybuffer"; xhr.
send(); xhr.onload = function() { var decodedbuffer = context.createbuffer(xhr.response, false); if (decodedbuffer) { // decoding was successful, do something useful with the audio buffer } else { alert("decoding the audio buffer failed"); } }; converting this code to use decodeaudiodata() is relatively simple, as can be seen below: var xhr = new xmlhttprequest(); xhr.open("get", "/...
...path/to/audio.ogg", true); xhr.responsetype = "arraybuffer"; xhr.
send(); xhr.onload = function() { context.decodeaudiodata(xhr.response, function onsuccess(decodedbuffer) { // decoding was successful, do something useful with the audio buffer }, function onfailure() { alert("decoding the audio buffer failed"); }); }; note that the decodeaudiodata() method is asynchronous, which means that it will return immediately, and then when the decoding finishes, one of the success or failure callback functions will get called depending on whether the audio decoding was successful.
Window: popstate event - Web APIs
this will eventually
send events such as domcontentloaded and load to the window containing the document, but the steps below will continue to execute in the meantime.
... if the original and new entry's shared the same document, but had different fragments in their urls,
send the hashchange event to the window.
Worker - Web APIs
the worker interface of the web workers api represents a background task that can be created via script, which can
send messages back to its creator.
... worker.postmessage()
sends a message — consisting of any javascript object — to the worker's inner scope.
XMLHttpRequest() - Web APIs
the object must be prepared by at least calling open() to initialize it before calling
send() to
send the request to the server.
...this can't be combined with
sending cookies or other user credentials.
XMLHttpRequest.open() - Web APIs
url a domstring representing the url to
send the request to.
...if this value is false, the
send() method does not return until the response is received.
XMLHttpRequest.overrideMimeType() - Web APIs
this method must be called before calling
send().
... // interpret the received data as plain text req = new xmlhttprequest(); req.overridemimetype("text/plain"); req.addeventlistener("load", callback, false); req.open("get", url); req.
send(); specifications specification status comment xmlhttprequestthe definition of 'overridemimetype()' in that specification.
XMLHttpRequest.response - Web APIs
you may attempt to request the data be provided in a specific format by setting the value of responsetype after calling open() to initialize the request but before calling
send() to
send the request to the server.
... var url = 'somepage.html'; //a local page function load(url, callback) { var xhr = new xmlhttprequest(); xhr.onreadystatechange = function() { if (xhr.readystate === 4) { callback(xhr.response); } } xhr.open('get', url, true); xhr.
send(''); } specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequest.responseText - Web APIs
syntax var resulttext = xmlhttprequest.responsetext; value a domstring which contains either the textual data received using the xmlhttprequest or null if the request failed or "" if the request has not yet been sent by calling
send().
... example var xhr = new xmlhttprequest(); xhr.open('get', '/server', true); // if specified, responsetype must be empty string or "text" xhr.responsetype = 'text'; xhr.onload = function () { if (xhr.readystate === xhr.done) { if (xhr.status === 200) { console.log(xhr.response); console.log(xhr.responsetext); } } }; xhr.
send(null); specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequest.timeout - Web APIs
using a timeout with an asynchronous request in internet explorer, the timeout property may be set only after calling the open() method and before calling the
send() method.
...}; xhr.
send(null); specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XRInputSourceEvent() - Web APIs
event types select sent to an xrsession when the
sending input source has fully completed a primary action.
... squeeze sent to an xrsession when the
sending input source has fully completed a primary squeeze action.
XRInputSourceEvent - Web APIs
event types select sent to an xrsession when the
sending input source has fully completed a primary action.
... squeeze sent to an xrsession when the
sending input source has fully completed a primary squeeze action.
Web APIs
ermissions photocapabilities plugin pluginarray point pointerevent popstateevent positionoptions processinginstruction progressevent promiserejectionevent publickeycredential publickeycredentialcreationoptions publickeycredentialrequestoptions pushevent pushmanager pushmessagedata pushregistrationmanager pushsubscription r rtcansweroptions rtccertificate rtcconfiguration rtcdtmf
sender rtcdtmftonechangeevent rtcdatachannel rtcdatachannelevent rtcdtlstransport rtcerror rtcerrorevent rtcicecandidate rtcicecandidateinit rtcicecandidatepair rtcicecandidatepairstats rtcicecandidatestats rtcicecandidatetype rtcicecomponent rtcicecredentialtype rtcicegathererstate rtciceparameters rtciceprotocol rtcicerole rtciceserver rtcicetcpcandidatetype rtcicetransport rtcicetransportst...
...oundrtpstreamstats rtcnetworktype rtcofferansweroptions rtcofferoptions rtcoutboundrtpstreamstats rtcpeerconnection rtcpeerconnectioniceerrorevent rtcpeerconnectioniceevent rtcremoteoutboundrtpstreamstats rtcrtcpparameters rtcrtpcapabilities rtcrtpcodeccapability rtcrtpcodecparameters rtcrtpcontributingsource rtcrtpencodingparameters rtcrtpparameters rtcrtpreceiveparameters rtcrtpreceiver rtcrtp
sendparameters rtcrtp
sender rtcrtpstreamstats rtcrtpsynchronizationsource rtcrtptransceiver rtcrtptransceiverdirection rtcrtptransceiverinit rtcsctptransport rtcsessiondescription rtcsessiondescriptioncallback rtcstats rtcstatsicecandidatepairstate rtcstatsreport rtcstatstype rtctrackevent rtctrackeventinit radionodelist range readablebytestreamcontroller readablestream readablestreambyobreade...
ARIA: form role - Accessibility
examples <div role="form" id="
send-comment" aria-label="add a comment"> <label for="username">username</label> <input id="username" name="username" autocomplete="nickname" autocorrect="off" type="text"> <label for="email">email</label> <input id="email" name="email" autocomplete="email" autocapitalize="off" autocorrect="off" spellcheck="false" type="text"> <label for="comment">comment</label> <textarea id="comment" n...
... <form id="
send-comment" aria-label="add a comment"> ....
animation-delay - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
animation-direction - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
background-position-x - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
background-position-y - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
background-position - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
background-size - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
border-bottom-width - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
border-left-style - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
border-left - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
border-right-style - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
border-right - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
border-top - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
border - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
caption-side - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
clear - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
column-count - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
direction - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
empty-cells - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
font-variant-caps - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
font-variant - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
letter-spacing - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
max-height - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
max-width - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
min-width - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
mix-blend-mode - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
object-fit - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
object-position - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
outline-color - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
outline-offset - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
pointer-events - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
position - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
quotes - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
right - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
<form> - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
... examples html <!-- form which will
send a get request to the current url --> <form> <label>name: <input name="submitted-name" autocomplete="name"> </label> <button>save</button> </form> <!-- form which will
send a post request to the current url --> <form method="post"> <label>name: <input name="submitted-name" autocomplete="name"> </label> <button>save</button> </form> <!-- form with fieldset, legend, and label -...
<input type="email"> - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...rtupever.com" pattern=".+@beststartupever.com" title="please provide only a best startup ever corporate e-mail address"> </div> <div class="messagebox"> <label for="message">request</label><br> <textarea id="message" cols="80" rows="8" required placeholder="my shoes are too tight, and i have forgotten how to dance."></textarea> </div> <input type="submit" value="
send request"> </form> our <form> contains one <input> of type email for the user's e-mail address, a <textarea> to enter their message for it into, and an <input> of type "submit", which creates a button to submit the form.
<input type="tel"> - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
... permitted values are: go, done, next, search, and
send.
<input type="url"> - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
... permitted values are: go, done, next, search, and
send.
<textarea> - HTML: Hypertext Markup Language
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
HTTP caching - HTTP
cache-control: no-store cache but revalidate a cache will
send the request to the origin server for validation before releasing a cached copy.
...if so, the server returns a 304 (not modified) header without
sending the body of the requested resource, saving some bandwidth.
Cache-Control - HTTP
the resource, if unexpired, is unchanged on the server and therefore the client should not
send a conditional revalidation for it (e.g.
... examples preventing caching to disable caching of a resource, you can
send the following response header: good: cache-control: no-store bad: cache-control: private,no-cache,no-store,max-age=0,must-revalidate,pre-check=0,post-check=0 caching static assets for the files in the application that will not change, you can usually add aggressive caching by
sending the response header below.
CSP: connect-src - HTTP
the apis that are restricted are: <a> ping, fetch, xmlhttprequest, websocket, eventsource, and navigator.
sendbeacon().
... examples violation cases given this csp header: content-security-policy: connect-src https://example.com/ the following connections are blocked and won't load: <a ping="https://not-example.com"> <script> var xhr = new xmlhttprequest(); xhr.open('get', 'https://not-example.com/'); xhr.
send(); var ws = new websocket("https://not-example.com/"); var es = new eventsource("https://not-example.com/"); navigator.
sendbeacon("https://not-example.com/", { ...
CSP: report-uri - HTTP
content-security-policy: default-src https:; report-uri /csp-violation-report-endpoint/ /csp-violation-report-endpoint/ could for example run a php something like the following that logs the json detailing the violation and, if the violation is the first one added to the log file,
sends an email to an administrator: <?php // start configure $log_file = dirname(__file__) .
...$current_domain; http_response_code(204); // http 204 no content $json_data = file_get_contents('php://input'); // we pretty print the json before adding it to the log file if ($json_data = json_decode($json_data)) { $json_data = json_encode($json_data, json_pretty_print | json_unescaped_slashes); if (!file_exists($log_file)) { //
send an email $message = "the following content-security-policy violation occurred on " .
ETag - HTTP
it lets caches be more efficient and save bandwidth, as a web server does not need to re
send a full response if the content has not changed.
...if a user visits a given url again (that has an etag set), and it is stale (too old to be considered usable), the client will
send the value of its etag along in an if-none-match header field: if-none-match: "33a64df551425fcc55e4d42a148795d9f25f89d4" the server compares the client's etag (sent with if-none-match) with the etag for its current version of the resource, and if both values match (that is, the resource has not changed), the server
sends back a 304 not modified status, without a body, which tells the client that...
Range - HTTP
several parts can be requested with one range header at once, and the server may
send back these ranges in a multipart document.
... if the server
sends back ranges, it uses the 206 partial content for the response.
Link prefetching FAQ - HTTP
yes, we
send the following header along with each prefetch request: x-moz: prefetch of course, this request header is not at all standardized, and it may change in future mozilla releases.
... if you have any questions or comments about link prefetching, please feel free to
send them my way :-) see also...
HTTP Messages - HTTP
for example, get indicates that a resource should be fetched or post means that data is pushed to the server (creating or modifying a resource, or generating a temporary document to
send back).
...some requests
send data to the server in order to update it: as often the case with post requests (containing html form data).
PUT - HTTP
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.
Network Error Logging - HTTP
the following object keys can be specified in the nel header: report_to the reporting api group to
send network error reports to (see below).
..."method": "post", "phase": "dns", "protocol": "http/1.1", "referrer": "https://example.com/previous-page", "sampling_fraction": 1, "server_ip": "", "status_code": 0, "type": "dns.name_not_resolved", "url": "https://example-host.com/" } } the type of the network error may be one of the following pre-defined values from the specification, but browsers can add and
send their own error types: dns.unreachable the user's dns server is unreachable dns.name_not_resolved the user's dns server responded but was unable to resolve an ip address for the requested uri.
HTTP Public Key Pinning (HPKP) - HTTP
this header only
sends reports to the report-uri specified in the header and does still allow browsers to connect to the webserver even if the pinning is violated.
... server.modules += ( "mod_setenv" ) iis add the following line to the web.config file to
send the public-key-pins header: <system.webserver> ...
408 Request Timeout - HTTP
a server should
send the "close" connection header field in the response, since 408 implies that the server has decided to close the connection rather than continue waiting.
... note: some servers merely shut down the connection without
sending this message.
Promise() constructor - JavaScript
if you'd like to contribute to the interactive demo project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
... reject("failure reason") // rejected }); making functions return a promise to provide a function with promise functionality, have it return a promise: function myasyncfunction(url) { return new promise((resolve, reject) => { const xhr = new xmlhttprequest() xhr.open("get", url) xhr.onload = () => resolve(xhr.responsetext) xhr.onerror = () => reject(xhr.statustext) xhr.
send() }); } specifications specification ecmascript (ecma-262)the definition of 'promise constructor' in that specification.
WebAssembly.Module.exports() - JavaScript
examples using exports the following example (see our index-compile.html demo on github, and view it live also) compiles the loaded simple.wasm byte code using the webassembly.compilestreaming() method and then
sends it to a worker using postmessage().
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
WebAssembly.Module - JavaScript
examples
sending a compiled module to a worker the following example (see our index-compile.html demo on github, and view it live also) compiles the loaded simple.wasm byte code using the webassembly.compilestreaming() method and then
sends the resulting module instance to a worker using postmessage().
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
WebAssembly.compile() - JavaScript
examples using compile the following example compiles the loaded simple.wasm byte code using the compile() function and then
sends it to a worker using postmessage().
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
WebAssembly.instantiate() - JavaScript
second overload example the following example (see our index-compile.html demo on github, and view it live also) compiles the loaded simple.wasm byte code using the webassembly.compilestreaming() method and then
sends it to a worker using postmessage().
...if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Optimizing startup performance - Web Performance
while you can use web workers to run even very large, long-duration chunks of javascript code asynchronously, there's a huge caveat that: workers don't have access to webgl or audio, and they can't
send synchronous messages to the main thread, so you can't even proxy those apis to the main thread.
...try to
send the minify version of the file to the browser and use compression like gzip or brotli.
Structural overview of progressive web apps - Progressive web apps (PWAs)
the app shell approach allows websites to be: linkable: even though it behaves like a native app, it is still a website — you can click on the links within the page and
send a url to someone if you want to share it.
... = entry.replace('<a href=\'http:///\'></a>','-'); content += entry; }; document.getelementbyid('content').innerhtml = content; then it registers a service worker: if ("serviceworker" in navigator) { navigator.serviceworker.register("/pwa-examples/js13kpwa/sw.js"); } after that, the app adds a handler for clicks on a button whose id is notifications; this handler requests permission to
send notifications to the user, then generates and
sends a random notification.
<a> - SVG: Scalable Vector Graphics
for a more widely-supported feature addressing the same use cases, see navigator.
sendbeacon().
... value type: <list-of-urls> ; default value: none; animatable: no referrerpolicy which referrer to
send when fetching the url.
Transport Layer Security - Web security
clients that reconnect to the server can
send requests immediately, eliminating the latency of the tls handshake entirely.
...note however that the server identity (the server_name or sni extension) that a client
sends to the server is not encrypted.
Web security
redirection with 301 and 302 response codes to be written data security using http cookies an http cookie (web cookie, browser cookie) is a small piece of data that a server
sends to the user's web browser.
... the browser may store it and
send it back with later requests to the same server.
Loading and running WebAssembly code - WebAssembly
next,
send the request using xmlhttprequest.
send().
... the final code looks like this: request = new xmlhttprequest(); request.open('get', 'simple.wasm'); request.responsetype = 'arraybuffer'; request.
send(); request.onload = function() { var bytes = request.response; webassembly.instantiate(bytes, importobject).then(results => { results.instance.exports.exported_func(); }); }; note: you can see an example of this in action in xhr-wasm.html.
Porting the Library Detector - Archive of obsolete content
this means we'll need two additional content scripts: one in the widget's context, which listens for icon mouseover events and
sends a message to main.js containing the name of the corresponding library: function setlibraryinfo(element) { self.port.emit('setlibraryinfo', element.target.title); } var elements = document.getelementsbytagname('img'); for (var i = 0; i < elements.length; i++) { elements[i].addeventlistener('mouseover', setlibraryinfo, false); } one in the panel, which updates the panel's content wi...
Working with Events - Archive of obsolete content
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.
XUL Migration Guide - Archive of obsolete content
but the sdk makes a distinction between: add-on scripts, which can use the sdk apis, but are not able to interact with web pages content scripts, which can access web pages, but do not have access to the sdk's apis content scripts and add-on scripts communicate by
sending each other json messages: in fact, the ability to communicate with the add-on scripts is the only extra privilege a content script is granted over a normal remote web page script.
core/promise - Archive of obsolete content
lets see the implementation of readasync that we used in several of the examples above: const { defer } = require('sdk/core/promise'); function readasync(url) { var deferred = defer(); let xhr = new xmlhttprequest(); xhr.open("get", url, true); xhr.onload = function() { deferred.resolve(xhr.responsetext); }; xhr.onerror = function(event) { deferred.reject(event); }; xhr.
send(); return deferred.promise; } so defer returns an object that contains a promise and two resolve, reject functions that can be used to resolve / reject that promise.
system/events - Archive of obsolete content
var events = require("sdk/system/events"); var { ci } = require("chrome"); function listener(event) { var channel = event.subject.queryinterface(ci.nsihttpchannel); channel.setrequestheader("user-agent", "mybrowser/1.0", false); } events.on("http-on-modify-request", listener); globals functions emit(type, event)
send an event to observer service parameters type : string the event type.
HTML to DOM - Archive of obsolete content
for that matter, we're going to load our html document first: var request = xmlhttprequest(); request.open("get", "http://example.org/file.html", false); request.
send(null); our next step is to create the document object that will represent the dom into which we'll insert our newly-retrieved html: var doc = document.implementation.createhtmldocument("example"); doc.documentelement.innerhtml = request.responsetext; after this any manipulation that we might want to do will be something as simple as the following: doc.body.textcontent = "this is inside the ...
Miscellaneous - Archive of obsolete content
simulating mouse and key events https://developer.mozilla.org/samples/domref/dispatchevent.html also, new in firefox 3 / gecko 1.9: var utils = window.queryinterface(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 ...
Rosetta - Archive of obsolete content
function reqerror (oerror) { throw new urierror("the script " + oerror.target.src + " is not accessible."); } function reqsuccess () { createscript(this.refscript, this); } function getsource (oscript) { var oreq = new xmlhttprequest(); oreq.onload = reqsuccess; oreq.onerror = reqerror; oreq.refscript = oscript; oreq.open("get", oscript.src, true); oreq.
send(null); } function parsescript (oscript) { if (oscript.hasattribute("type") && !rignoremimes.test(oscript.getattribute("type").tolowercase())) { oscript.hasattribute("src") ?
JavaScript Daemons Management - Archive of obsolete content
about the “callback arguments” polyfill in order to make this framework compatible with internet explorer (which doesn't support
sending additional parameters to timers' callback function, neither with settimeout() or setinterval()) we included the ie-specific compatibility code (commented code), which enables the html5 standard parameters' passage functionality in that browser for both timers (polyfill), at the end of the daemon.js module.
Displaying web content in an extension without security issues - Archive of obsolete content
so in the simplest case you would have: <iframe type="content" src="data:text/html,%3chtml%3e%3cbody%3e%3c/body%3e%3c/html%3e"/> but usually you don’t want to start with an empty document, you would rather want to load some template into the frame: var request = new xmlhttprequest(); request.open("get", "chrome://foo/content/template.html", false); request.
send(null); frame.setattribute("src", "data:text/html," + encodeuricomponent(request.responsetext)); that way you can have the template in your extension but still strip it off all privileges when it is loaded in a frame.
Appendix D: Loading Scripts - Archive of obsolete content
he caller's filename let file = components.caller.stack.filename; // strip off any prefixes added by the sub-script loader // and the trailing filename let directory = file.replace(/.* -> |[^\/]+$/g, ""); let scriptname = directory + name; // read the script let xmlhttp = xmlhttprequest("get", scriptname, false); xmlhttp.overridemimetype("text/plain"); xmlhttp.
send(); let script = xmlhttp.textcontent; // evaluate the script: components.utils.evalinsandbox(script, sandbox, "1.8", scriptname, 0); } // use the current global object.
The Essentials of an Extension - Archive of obsolete content
one recommended location for menus in the classic menu vase is under the tools menu, so the code should really look like this: <menupopup id="menu_toolspopup"> <menu id="xulschoolhello-hello-menu" label="&xulschoolhello.hello.label;" accesskey="&xulschoolhello.hellomenu.accesskey;" insertbefore="devtool
sendseparator"> <menupopup> <menuitem id="xulschoolhello-hello-menu-item" label="&xulschoolhello.hello.label;" accesskey="&xulschoolhello.helloitem.accesskey;" oncommand="xulschoolchrome.browseroverlay.sayhello(event);" /> </menupopup> </menu> </menupopup> we're overlaying the menu that is deeper into the xul tree, but it doesn't matter because all we need i...
Adding preferences to an extension - Archive of obsolete content
panel.tooltiptext = "chg: " + fieldarray[4] + " | " + "open: " + fieldarray[5] + " | " + "low: " + fieldarray[6] + " | " + "high: " + fieldarray[7] + " | " + "vol: " + fieldarray[8]; } } var httprequest = new xmlhttprequest(); httprequest.open("get", fullurl, true); httprequest.onload = inforeceived; httprequest.
send(null); } } note that we use stockwatcher.tickersymbol here instead of this.tickersymbol to get the stock symbol to watch.
JXON - Archive of obsolete content
alert((new xmlserializer()).serializetostring(newdoc)); }; var oreq = new xmlhttprequest(); oreq.onload = reqlistener; oreq.open("get", "example.xml", true); oreq.
send(); jxon.build syntax jxon.build(document[, verbosity[, freeze[, nesteattributes]]]) jxon.build description returns a javascript object based on the given xml document.
List of Mozilla-Based Applications - Archive of obsolete content
rsions of wikipedia blog post about projects wine implementation of the windows api uses mozilla spidermonkey and the gecko activex control worksmart.net suite of web-based workplace apps uses prism wxwebconnect web browser control library wyzo browser xb browser anonymous web browser xbusiness create and
send branded invoices, quotes or estimates xdf billing and quotes software xiphos bible study software xmldbeditor database editor xpud linux desktop xpud: linux with an xul interface, 10 second boot time xrap xulrunner application packager xul daim image tool xul explorer development tool ...
Enabling the behavior - updating the status periodically - Archive of obsolete content
function loadtinderboxstatus() { gxmlhttprequest = new xmlhttprequest(); gxmlhttprequest.onload = updatetinderboxstatus; gxmlhttprequest.open("get", "http://tinderbox.mozilla.org/seamonkey/panel.html"); gxmlhttprequest.
send(null); window.settimeout(loadtinderboxstatus, 60000); } window.settimeout(loadtinderboxstatus, 1000); window.settimeout schedules functions to run at some future time.
In-Depth - Archive of obsolete content
to cut the pieces out you need to define rectangles in the css file like this: #button-
send { -moz-image-region: rect(294px 23px 315px 0px); } #button-
send:hover { -moz-image-region: rect(294px 46px 315px 23px); } #button-
send:hover:active { -moz-image-region: rect(294px 69px 315px 46px); } #button-
send[disabled="true"] { -moz-image-region: rect(294px 92px 315px 69px) !important; } the properties for rect are listed in a clockwise fashion - top, right, bottom, left.
Drag and Drop JavaScript Wrapper - Archive of obsolete content
if you want to
send more then one data object, (for example multiple files) you must use an transferdataset as follows: var textobserver = { ondragstart: function (event) { var txt1 = 'hello'; var txt2 = 'there'; transferdata.data = new transferdataset(); var tmp = new transferdata(); tmp.adddataforflavour("text/unicode",txt1); transferdata.data.push(tmp); new transferdata(); tmp.
Hidden prefs - Archive of obsolete content
mail/news prefs "autcollect addresses" prefs from mailnews.js: // by default, only collect addresses the user
sends to (outgoing) pref("mail.collect_email_address_incoming", false); pref("mail.collect_email_address_outgoing", true); pref("mail.collect_email_address_newsgroup", false); // by default, use the personal addressbook for collection pref("mail.collect_addressbook","moz-abmdbdirectory://abook.mab"); for the reasons why the defaults changed, see this document on the collected address book.
Message Summary Database - Archive of obsolete content
this includes a set of per-message flags, the more commonly used headers (e.g., subject,
sender, from, to, cc, date, etc), and a few other attributes, e.g., keywords.
File object - Archive of obsolete content
examples example: hello, world file.output.writeln("hello, world"); example: writing a new file var file = new file("myfile.txt"); file.open("write,create", "text"); file.writeln("the quick brown fox jumped over the lazy dogs"); file.close(); example: reading from a file var data; var file = new file("myfile.txt"); file.open("read", "text"); data = file.readln(); file.close(); example:
sending mail through a pipeline var mail = new file("|/usr/lib/
sendmail foo@bar.com"); mail.writeln("i love javascript.\npipe support is especially good!"); mail.close(); ...
Cmdline tests - Archive of obsolete content
the testsuite allows more flexibility by coding scripts in python allowing any executable to run,
sending commands to stdin, and asserting output using regular expressions.
Mozilla Web Developer Community - Archive of obsolete content
the list of old devedge feeds is at http://devedge-temp.mozilla.org/comm.../feedlist.html feedback hendrix mdnproduct feedback bugzilla - report a bug in a mozilla product for questions related to this website (but not technical questions), please
send your message to the mdc mailing list.
List of commands - Archive of obsolete content
onkey/sou...okmarkstree.js list of commands (listed alphabetically) browser:addbookmark browser:addbookmarkas browser:addgroupmarkas browser:back browser:editpage browser:find browser:findagain browser:findprev browser:forward browser:home browser:managebookmark browser:open browser:openfile browser:print browser:printpreview browser:savepage browser:searchinternet browser:
sendpage browser:uploadfile cmd_bm_copy cmd_bm_cut cmd_bm_delete cmd_bm_expandfolder cmd_bm_export cmd_bm_find cmd_bm_import cmd_bm_managefolder cmd_bm_movebookmark cmd_bm_newbookmark cmd_bm_newfolder cmd_bm_newseparator cmd_bm_open cmd_bm_openinnewtab cmd_bm_openinnewwindow cmd_bm_paste cmd_bm_properties cmd_bm_rename cmd_bm_selectall cmd_bm_setnewbookmarkfolder cmd_bm_setnewsea...
Building Trees - Archive of obsolete content
here is an example of a tree using an sqlite datasource: <tree datasources="profile:messages.sqlite" ref="*" querytype="storage" flags="dont-build-content"> <treecols> <treecol id="subject" label="subject" flex="3"/> <treecol id="
sender" label="
sender" flex="2"/> <treecol id="date" label="date" flex="1"/> </treecols> <template> <query> select subject,
sender, date from messages </query> <action> <treechildren> <treeitem uri="?"> <treerow> <treecell label="?subject"/> <treecell label="?
sender"/> <treecell label="?date"/> </treerow> ...
XUL Structure - Archive of obsolete content
ensure that your web server is configured to
send xul files with the content type of application/vnd.mozilla.xul+xml (eg with php header('content-type: application/vnd.mozilla.xul+xml');).
command - Archive of obsolete content
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 in...
tree - Archive of obsolete content
, onselect, rows, seltype, statedatasource, tabindex, treelines properties accessibletype, builderview, columns, contentview, currentindex, disablekeynavigation, disabled, editingcolumn, editingrow, enablecolumndrag, firstordinalcolumn, inputfield, seltype, selstyle, tabindex, treeboxobject, view examples a tree with several columns <tree flex="1" rows="2"> <treecols> <treecol id="
sender" label="
sender" flex="1"/> <treecol id="subject" label="subject" flex="2"/> </treecols> <treechildren> <treeitem> <treerow> <treecell label="joe@somewhere.com"/> <treecell label="top secret plans"/> </treerow> </treeitem> <treeitem> <treerow> <treecell label="mel@whereever.com"/> <treecell label="let's do lunch"/> </tr...
treechildren - Archive of obsolete content
espace(), isequalnode, issamenode, issupported(), lookupnamespaceuri, lookupprefix, normalize(), queryselector(), queryselectorall(), removeattribute(), removeattributenode(), removeattributens(), removechild(), removeeventlistener(), replacechild(), setattribute(), setattributenode(), setattributenodens(), setattributens(), setuserdata example <tree flex="1"> <treecols> <treecol id="
sender" label="
sender" flex="1"/> <treecol id="subject" label="subject" flex="2"/> </treecols> <treechildren> <treeitem> <treerow> <treecell label="joe@somewhere.com"/> <treecell label="top secret plans"/> </treerow> </treeitem> <treeitem> <treerow> <treecell label="mel@whereever.com"/> <treecell label="let's do lunch"/> </tr...
2006-11-22 - Archive of obsolete content
to join,
send a blank email with subscribe in the subject field to: nvda...@freelists.org (click here to view the original post and unmask the e-mail address) michael would like to thank stormdragon for setting this up.
Extentsions FAQ - Archive of obsolete content
friday, september 29 - october 6, 2006 (↑ top) how can we programmatically extract the subject,
sender, date and the body of an e- mail when you are reading one (in thunderbird presumably)?
Monitoring plugins - Archive of obsolete content
here is an example that shows the runtime in an alert box to the user if the runtime exceeds half a second in length: observe: function(subject, topic, data) { if (topic == "experimental-notify-plugin-call" ) { if (data > 0.500) { alert("runtime is: " + data); } } } note: this is just a simplified example and the use of alert() is discouraged as the component can
send hundreds of notifications each second and could potentially cause your browser to crash if an excessive number of alert boxes are displayed.
NPP_Write - Archive of obsolete content
if the return value is smaller than the size of the buffer, the browser
sends the remaining data to the plug-in through subsequent calls to npp_writeready and npp_write.
Threats - Archive of obsolete content
for example, suppose the site www.example.net pretends to be a furniture store when it is really just a site that takes credit-card payments but never
sends any goods.
Implementation Status - Archive of obsolete content
l is dispatching events instead of calling directly 332231; 10.12 refresh partial is dispatching events instead of calling directly 332231; 10.13 reset supported 10.14 load partial no xforms-link-error generated if @src invalid 333782; 10.15
send supported 10.16 message partial output inside message doesn't work correctly 366886; 10.17 conditional execution of xforms actions supported 10.18 iteration of xforms actions supported 11.
WebVR — Virtual Reality for the Web - Game development
using the webvr api the webvr api is based on two concepts —
sending stereoscopic images to both lenses in your headset and receiving positional data for your head from the sensor, and those two are handled by hmdvrdevice (head-mounted display virtual reality device) and positionsensorvrdevice.
Placeholder names - MDN Web Docs Glossary: Definitions of Web-related terms
placeholder names are commonly used in cryptography to indicate the participants in a conversation, without resorting to terminology such as "party a," "eavesdropper," and "malicious attacker." the most commonly used names are: alice and bob, two parties who want to
send messages to each other, occasionally joined by carol, a third participant eve, a passive attacker who is eavesdropping on alice and bob's conversation mallory, an active attacker ("man-in-the-middle") who is able to modify their conversation and replay old messages ...
Preflight request - MDN Web Docs Glossary: Definitions of Web-related terms
for example, a client might be asking a server if it would 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-c...
Server - MDN Web Docs Glossary: Definitions of Web-related terms
for example: an internet-connected web server is
sending a html file to your browser software so that you can read this page local area network server for file, name, mail, print, and fax minicomputers, mainframes, and super computers at data centers learn more general knowledge introduction to servers server (computing) on wikipedia ...
Signature (security) - MDN Web Docs Glossary: Definitions of Web-related terms
on receiving the message, the verification process authenticates the
sender - uses the
sender's public key to decrypt the signature and recover the hash, which can only be created with the
sender's private key, and checks message integrity - compares the hash with a newly calculated one from the received document (the two hashes will differ if the document has been tampered with) the system fails if the private key is compromised or the recipient is deceitfully given the wrong public key.
Advanced form styling - Learn web development
previous overview: forms next in this module your first form how to structure a web form basic native form controls the html5 input types other form controls styling web forms advanced form styling ui pseudo-classes client-side form validation
sending form data advanced topics how to build custom form controls
sending forms through javascript property compatibility table for form widgets ...
How to structure a web form - Learn web development
see also a list apart: sensible forms: a form usability checklist previous overview: forms next in this module your first form how to structure a web form basic native form controls the html5 input types other form controls styling web forms advanced form styling ui pseudo-classes client-side form validation
sending form data advanced topics how to build custom form controls
sending forms through javascript property compatibility table for form widgets ...
Example - Learn web development
orm-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; } label { /* to make sure that all label have the same size and are properly align */ display: inline-block; width: 9...
The web and web standards - Learn web development
a typical use for a server-side language is to get some data out of a database and generate some html to contain the data, before then
sending the html over to the browser to display it to the user.
Choosing the right approach - Learn web development
perations no yes (recursive callbacks) yes (nested callbacks) no code example an example that loads a resource via the xmlhttprequest api (run it live, and see the source): function loadasset(url, type, callback) { let xhr = new xmlhttprequest(); xhr.open('get', url); xhr.responsetype = type; xhr.onload = function() { callback(xhr.response); }; xhr.
send(); } function displayimage(blob) { let objecturl = url.createobjecturl(blob); let image = document.createelement('img'); image.src = objecturl; document.body.appendchild(image); } loadasset('coffee.jpg', 'blob', displayimage); pitfalls nested callbacks can be cumbersome and hard to read (i.e.
Introducing asynchronous JavaScript - Learn web development
let's look at another example that loads a resource via the xmlhttprequest api (run it live, and see the source): function loadasset(url, type, callback) { let xhr = new xmlhttprequest(); xhr.open('get', url); xhr.responsetype = type; xhr.onload = function() { callback(xhr.response); }; xhr.
send(); } function displayimage(blob) { let objecturl = url.createobjecturl(blob); let image = document.createelement('img'); image.src = objecturl; document.body.appendchild(image); } loadasset('coffee.jpg', 'blob', displayimage); here we create a displayimage() function that simply represents a blob passed to it as an object url, then creates an image to display the url in, appending it ...
Aprender y obtener ayuda - Learn web development
note: online code editors are also really useful for sharing code you've written, for example, if you are collaborating on learning with someone else who isn't in the same location, or are
sending it someone to ask for help with it.
Learning area release notes - Learn web development
s in the following modules: css building blocks javascript first steps javascript building blocks introducing javascript objects january 2020 the html forms module has been significantly updated: it has been retitled web forms, and moved out of the html topic area to recognise that it covers more than just html form elements — it also covers styling, validation, the basics of how to
send data and process it on the server, and more besides.
Working with Svelte stores - Learn web development
our alert component will displayed by the app component, but any component can
send notifications to it; whenever a notification arrives the alert component will be in charge of displaying it on screen.
Handling common JavaScript problems - Learn web development
this is supposed to be fetched from an external .json file using the following xmlhttprequest call: let requesturl = 'https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json'; let request = new xmlhttprequest(); request.open('get', requesturl); request.
send(); let superheroes = request.response; populateheader(superheroes); showheroes(superheroes); but this fails.
Command line crash course - Learn web development
let's also look at the headers that developer.mozilla.org returns using curl's -i flag, and print all the location redirects it
sends to the terminal, by piping the output of curl into grep (we will ask grep to return all the lines that contain the word "location").
Mozilla’s UAAG evaluation report
this is also under preferences, security, ssl, "
sending form data from unencrypted page to unencrypted page" 5.6 confirm fee links.
ZoomText
send me email so that i'm aware that you're testing and let me know what bugs you're finding.
Eclipse CDT
i (roc) have actually written a small change to the cdt make builder that lets you specify that as an option, in which case eclipse
sends the names of all changed files to your build tool.
SVG Guidelines
in fact it can be faster to
send vector information from an svg to a user's gpu than it is to extract raster data from an equivalent raster image.
Message manager
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 nsimessage
sender nsisyncmessage
sender nsicontentframemessagemanager nsiprocessscriptloader ...
HTMLIFrameElement.goBack()
by calling this method, the browser <iframe> changes its location for the previous location available in its navigation history, which
sends a series of related events: mozbrowserlocationchange, mozbrowserloadstart, and so on.
HTMLIFrameElement.goForward()
by calling this method, the browser <iframe> changes its location to the next location available in its navigation history, which
sends a series of related events: mozbrowserlocationchange, mozbrowserloadstart and so on.
Getting Started with Chat
/msg nick message
sends a private message to the specified user /nick nickname change your current nickname nickname: ping get a user's attention (nickname is the name of the user you want the attention of) nickname: pong respond to a user's ping (nickname is the name of the user who wants your attention) /query nickname opens a private chat with the specified user ...
How to get a stacktrace for a bug report
if breakpad successfully
sends the crash report to the reporting server then, by default, the files added to the 'pending' subdirectory for the crash are removed, and a .txt file is placed in the 'submitted' directory containing the crash id created by the reporting server.
How to investigate Disconnect failures
an example of such a failure disconnect failures happens when one side is closing the connection and mozmill is unable to
send the information over the bridge or when firefox crashes.
PBackground
this has lead to a rather awkward pattern seen in some parts of the gecko codebase, looking something like this (try searching for geckoprocesstype_default in dxr): if (xre_getprocesstype() == geckoprocesstype_default) { dothething(arguments); } else { mipdlprotocol->
senddothething(arguments); } this can get unwieldy very quickly, so a better solution was needed.
Internationalized Domain Names (IDN) Support in Mozilla Browsers
how idn works when a browser sees a host name such as http://developer.mozilla.org, it passes a request to the dns resolver service (usually built into an os), which in turn
sends a request to a nearest domain name server to return an ip address that corresponds to the host name.
Http.jsm
httprequest supports the following parameters: name meaning headers an array of headers postdata this can be: a string:
send it as is an array of parameters: encode as form values null/undefined: no post data.
Examples
ca_evalwithdebugger@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:1069:7 wca_onevaluatejs@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/webconsole.js:734:9 dsc_onpacket@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/main.js:1098:9 ldt_
send/<@resource://gre/modules/devtools/dbg-client.jsm -> resource://gre/modules/devtools/server/transport.js:279:11 makeinfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/devtoolsutils.js:84:7 */ intermediate of user defined promise function 1 components.utils.import("resource://gre/modules/promise.jsm"); // this function creates and returns a new prom...
Services.jsm
cache nsicacheservice cache service cache2 nsicachestorageservice cache storage service clipboard nsiclipboard clipboard console nsiconsoleservice error console service contentprefs nsicontentprefservice content preferences service cookies nsicookiemanager2 cookie manager 2 service cpmm nsimessage
sender child process message manager4 crashmanager crashmanager.jsm dirsvc nsidirectoryservice nsiproperties directory service domstoragemanager nsidomstoragemanager dom storage manager domrequest nsidomrequestservice domrequest service downloads nsidownloadmanager download manager droppedlinkhandler nsidro...
Task.jsm
async() simplifies the common pattern of implementing a method via a task, like this simple object with a greet method that has a name parameter and spawns a task to
send a greeting and return its reply: let greeter = { message: "hello, name!", greet: function(name) { return task.spawn((function* () { return yield
sendgreeting(this.message.replace(/name/, name)); }).bind(this); }) }; with async(), the method can be declared succinctly: let greeter = { message: "hello, name!", greet: task.async(function* (name) { return yield
sendgree...
Localizing with Koala
the last step of this tutorial will be to
send (or "push") the changes you just made to a remote repository.
Initial setup
if a community doesn't exist,
send an email to the new-locales newsgroup for additional guidance.
Localization formats
you may choose to present just the html for localization: we give an html file which lists several pieces of content like, <h1>getting started</h1> and the localizer translates to <h1>débuter avec firefox</h1> the localizer then submits the translated html or php back to us by either checking in changes to svn or
sending us a patch that pascal checks in.
What every Mozilla translator should know
when you create a bug, if you want the person in charge of the l10n to follow up your bug you should cc: l10n@mozilla.com if you choose to make changes to your localization, you should make the changes local to your disk, push them to your hg repository on merucial, test the changes on a nightly/tinderbox build, fix any errors if some are found and test again, and
send the new changeset id as your "opt-in" revisions to the l10-drivers.
DMD
(linux only) you can
send signal 34 to the firefox process, e.g.
Reporting a Performance Problem
once uploaded, copy permalink url to your clipboard by right clicking and add the profile url to a bug for your performance problem and/or
send it to the appropriate person.
Preference reference
accessibility.tabfocusthe preference accessibility.tabfocus controls what elements receive focus when the user presses the tab key.browser.altclicksavethe preference browser.altclicksave controls whether clicking a link while holding the alt key starts the download of that link.browser.dom.window.dump.enabledthis setting enables the dump function, which
sends messages to the system console.
I/O Functions
list of functions: pr_openudpsocket pr_newudpsocket pr_opentcpsocket pr_newtcpsocket pr_importtcpsocket pr_connect pr_connectcontinue pr_accept pr_bind pr_listen pr_shutdown pr_recv pr_
send pr_recvfrom pr_
sendto pr_transmitfile pr_acceptread pr_getsockname pr_getpeername pr_getsocketoption pr_setsocketoption converting between host and network addresses pr_ntohs pr_ntohl pr_htons pr_htonl pr_familyinet memory-mapped i/o functions the memory-mapped i/o functions allow sections of a file to be mapped to memory regions, allowing read-write accesses to the file to be...
PR_Connect
if pr_connect is invoked on a udp socket, it has an overloaded meaning: pr_connect merely saves the specified address as the default peer address for the socket, so that subsequently one can
send and receive datagrams from the socket using pr_
send and pr_recv instead of the usual pr_
sendto and pr_recvfrom.
PR ImportTCPSocket
for example, on posix systems, nspr will put the native file descriptor (an int) in non-blocking mode by calling fcntl to set the o_nonblock file status flag on the native file descriptor, and then nspr will call socket functions such as recv,
send, and poll on the native file descriptor.
PR_NewUDPSocket
datagrams can be sent with pr_
sendto and received with pr_recvfrom.
PR OpenUDPSocket
datagrams can be sent with pr_
sendto and received with pr_recvfrom.
NSS Certificate Download Specification
this is intended to allow people or cas to post their e-mail certificates on web pages for download by other users who want to
send them encrypted mail.
HTTP delegation
once nss is finished providing all details, it will request to initiate the actual network communication (sec_httprequest_try
sendandreceivefcn).
HTTP delegation
once nss is finished providing all details, it will request to initiate the actual network communication (sec_httprequest_try
sendandreceivefcn).
NSS_3.11.10_release_notes.html
bug 398680: assertion botch in ssl3_registerserverhelloextension
sender doing second handshake with ssl_forcehandshake bug 403240: threads hanging in nss_initlock bug 403888: memory leak in trustdomain.c bug 416067: certutil -l -h token doesn't report token authentication failure bug 417637: tstclnt crashes if -p option is not specified bug 421634: don't
send an sni client hello extension bearing an ipv6 address bug 422918: add verisign class 3 public p...
NSS 3.22.3 release notes
bugs fixed in nss 3.22.3 bug 1243641 - increase compatibility of tls extended master secret, don't
send an empty tls extension last in the handshake compatibility nss 3.22.3 shared libraries are backward compatible with all older nss 3.x shared libraries.
NSS 3.24 release notes
remove most code related to ssl v2, including the ability to actively
send a sslv2-compatible client hello.
NSS 3.28 release notes
ssl_
sendadditionalkeyshares configures a tls 1.3 client so that it generates additional key shares when
sending a clienthello.
NSS 3.41 release notes
c225929257bf40d0894f29ea8baf2 cn = opentrust root ca g3 sha-256 fingerprint: b7c36231706e81078c367cb896198f1e3208dd926949dd8f5709a410f75b6292 bugs fixed in nss 3.41 bug 1412829, reject empty supported_signature_algorithms in certificate request in tls 1.2 bug 1485864 - cache side-channel variant of the bleichenbacher attack (cve-2018-12404) bug 1481271 - re
send the same ticket in clienthello after helloretryrequest bug 1493769 - set session_id for external resumption tokens bug 1507179 - reject ccs after handshake is complete in tls 1.3 this bugzilla query returns all the bugs fixed in nss 3.41: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_milestone=3.41 comp...
NSS 3.43 release notes
new in nss 3.43 new functionality new functions in sechash.h hash_gethashoidtagbyhashtype - convert type hash_hashtype to type secoidtag in sslexp.h ssl_
sendcertificaterequest - allow server to request post-handshake client authentication.
NSS 3.45 release notes
t code verbatim bug 1550022 - ensure nssutil3 gets built on android bug 1528174 - chacha20poly1305 should no longer modify output length on failure bug 1549382 - don't leak in pkcs#11 modules if c_getslotinfo() returns error bug 1551041 - fix builds using gcc < 4.3 on big-endian architectures bug 1554659 - add versioning to openbsd builds to fix link time errors using nss bug 1553443 -
send session ticket only after handshake is marked as finished bug 1550708 - fix gyp scripts on solaris sparc so that libfreebl_64fpu_3.so builds bug 1554336 - optimize away unneeded loop in mpi.c bug 1559906 - fipstest: use ckm_tls12_master_key_derive instead of vendor specific mechanism bug 1558126 - tls_aes_256_gcm_sha384 should be marked as fips compatible bug 1555207 - helloretryrequestcallb...
NSS 3.51 release notes
bug 1611209 - correct swapped pkcs11 values of ckm_aes_cmac and ckm_aes_cmac_general bug 1612259 - complete integration of wycheproof ecdh test cases bug 1614183 - check if ppc __has_include(<sys/auxv.h>) bug 1614786 - fix a compilation error for ‘getfipsenv’ "defined but not used" bug 1615208 -
send dtls version numbers in dtls 1.3 supported_versions extension to avoid an incompatibility.
Overview of NSS
ietf message specification (based on the popular internet mime standard) that provides a consistent way to
send and receive signed and encrypted mime data.
NSS environment variables
see nss tracing 3.12 nss_use_decoded_cka_ec_point boolean (any value to enable) tells nss to
send ec key points across the pkcs#11 interface in the non-standard unencoded format that was used by default before nss 3.12.3.
NSS tools : certutil
attribute codes: + p - valid peer + p - trusted peer (implies p) + c - valid ca + t - trusted ca to issue client certificates (implies c) + c - trusted ca to issue server certificates (ssl only) (implies c) + u - certificate can be used for authentication or signing + w -
send warning (use with other attributes to include a warning when the certificate is used in that context) the attribute codes for the categories are separated by commas, and the entire set of attributes enclosed by quotation marks.
NSS_3.12.3_release_notes.html
nss_use_decoded_cka_ec_point boolean (any non-empty value to enable) tells nss to
send ec key points across the pkcs#11 interface in the non-standard unencoded format that was used by default before nss 3.12.3.
certutil
f the attribute codes: o p - valid peer o p - trusted peer (implies p) o c - valid ca o t - trusted ca to issue client certificates (implies c) o c - trusted ca to issue server certificates (ssl only) (implies c) o u - certificate can be used for authentication or signing o w -
send warning (use with other attributes to include a warning when the certificate is used in that context) the attribute codes for the categories are separated by commas, and the entire set of attributes enclosed by quotation marks.
Necko walkthrough
but the interface for clients of necko is important to consider:
send request uri helps creates channel setup channel (headers, request data, response callback...) channel->asyncopen.
Rhino serialization
serialization provides a way to save the state of an object and write it out to a file or
send it across a network connection.
JS_ReportPendingException
this function can be used to catch exceptions thrown from scripts and
send them to the error reporter to be logged or ignored.
Shell global objects
in gecko, this
sends a memory pressure notification, which can free up some memory.
A Web PKI x509 certificate primer
r_unknown_critical_extension a certificate contains an extension marked as critical that is not handled by mozilla::pkix re-generate the certificate without the extension or with it not marked as critical sec_error_unknown_issuer either a missing intermediate or root certificate is necessary to verify the certificate import the root certificate into firefox or have the server
send the intermediate sec_error_invalid_key sec_error_unsupported_keyalg sec_error_expired_issuer_certificate an issuer certificate is too old re-issue the issuer certificate mozilla_pkix_error_ca_cert_used_as_end_entity a certificate with a basic constraints extension with ca:true is being used as an end-entity certificate re-generate th...
Gecko events
server applications
send this event when a user needs to know that a user interface element has changed.
Places utilities for JavaScript
the annotation objects returned or
send from/to all these functions all are arrays of objects which have the properties: name the annotation name flags annotation flags expires annotation expiration mimetype mimetype of the annotation, usually only used for binary annotations type the type used for non-binary annotations value the value of the annotation getannotationsforuri() fetch all annotations for a uri, including...
Querying Places
rameters const unsigned long time_relative_epoch = 0 const unsigned long time_relative_today = 1 const unsigned long time_relative_now = 2 attribute prtime begintime attribute unsigned long begintimereference readonly attribute boolean hasbegintime readonly attribute prtime absolutebegintime attribute prtime endtime attribute unsigned long endtimereference readonly attribute boolean ha
sendtime readonly attribute prtime absoluteendtime attribute astring searchterms readonly attribute boolean hassearchterms attribute long minvisits attribute long maxvisits attribute boolean onlybookmarked attribute boolean domainishost attribute autf8string domain readonly attribute boolean hasdomain attribute boolean uriisprefix attribute nsiuri uri readonly attribute boolean hasuri att...
Setting up the Gecko SDK
this allows you to created the component without
sending any extra dlls set path=%path%;d:\projects\xulrunner-sdk\sdk\bin;d:\projects\xulrunner-sdk\bin this tells the command prompt where to find the gecko tools, importantly (xpidl, regxpcom, and gmake).
Receiving startup notifications
what happens next once you've registered with the category manager, at mozilla startup time (or when the embedding application's ns_initembedding() function is called), the appstartupnotifier component is instantiated, and its observe() method is called; this in turn enumerates all components in the app-startup category and
sends them the appropriate notifications.
Components.utils.reportError
examples usage in an exception handler: try { this.could.raise.an.exception; } catch(e) { components.utils.reporterror(e); // report the error and continue execution }
sending debugging messages to the error console: components.utils.reporterror("init() called"); ...
imgIContainer
aobserver observer to
send animation notifications to.
imgIDecoder
modules/libpr0n/public/imgidecoder.idlscriptable base class for a decoder that reads an image from an input stream and
sends it to an imgiloader object.
imgILoader
alistener a listener that you must
send the channel's notifications and data to.
nsIAccessibleEvent
server applications
send this event when a user needs to know that a user interface element has changed.
nsIClipboardDragDropHookList
you should access these capabilities indirectly by
sending commands using the nsiclipboarddragdrophooks interface.
nsIClipboardDragDropHooks
inherits from: nsisupports last changed in gecko 1.7 embedders who want to have these hooks made available should implement nsiclipboarddragdrophooks and use the command manager to
send the appropriate commands with these parameters/settings: command: cmd_clipboarddragdrophook params value type possible values "addhook" isupports nsiclipboarddragdrophooks as nsisupports "removehook" isupports nsiclipboarddragdrophooks as nsisupports note: overrides/hooks need to be added to each window (as appropriate).
nsICookie
policy_none 1 the site did not
send a compact policy along with the cookie.
nsIDOMXULElement
click() unless the element is disabled,
sends mouse events that simulate the effect of clicking the mouse on the element, then calls the docommand() method.
getFile
ns_win_controls_dir "cntls" ns_win_printers_dir "prnts" ns_win_personal_dir "pers" ns_win_favorites_dir "favs" ns_win_startup_dir "strt" ns_win_recent_dir "rcnt" ns_win_
send_to_dir "sndto" ns_win_bitbucket_dir "buckt" ns_win_startmenu_dir "strt" same thing as ns_os_desktop_dir ns_win_desktop_directory "deskp" file sys dir which physically stores objects on desktop ns_win_drives_dir "drivs" ns_win_network_dir "netw" ns_win_nethood_dir "neth" ns_win_fonts_...
nsIDocShell
internal_load_flags_dont_
send_referrer 0x2 used to indicate that the load was caused by a meta refresh and the current document uri shouldn't be sent as the http referrer.
nsIDocumentLoader
it is also responsible for
sending nsiwebprogresslistener notifications.
nsIFeed
textinput nsiwritablepropertybag2 information about a text box that can be displayed along with the feed by aggregators that support it, to allow the reader to
send a response back to the source of the feed.
nsIGlobalHistory3
for implementors of nsiglobalhistory3: the history implementation is responsible for
sending ns_link_visited_event_topic to observers for redirect pages.
nsIHttpChannel
pheadervisitor avisitor); void visitresponseheaders(in nsihttpheadervisitor avisitor); constants constant description referrer_policy_no_referrer_when_downgrade default; indicates not to pass on the referrer when downgrading from https to http referrer_policy_no_referrer indicates no referrer will be sent referrer_policy_origin only
send the origin of the referring uri referrer_policy_origin_when_xorigin same as the default; only
send the origin of the referring uri for cross-origin requests referrer_policy_unsafe_url always
send the referrer, even when downgrading from https to http attributes attribute type description allowpipelining boolean this attribute is a...
nsIHttpServer
* * @param path * the path on the server (beginning with a "/") which is to be handled by * handler; this path must not include a query string or hash component; it * also should usually be canonicalized, since most browsers will do so * before
sending otherwise-matching requests * @param handler * an object which will handle any requests for the given path, or null to * remove any existing handler; if while the server is running the handler * throws an exception while responding to a request, an http 500 response * will be returned * @throws ns_error_invalid_arg * if path does not begin with a "/" */ void...
nsIHttpUpgradeListener
asocketout the nsiasyncoutputstream object representing the out stream for
sending data to the server over the socket.
nsILoginInfo
when an http server
sends a 401 result, the www-authenticate header includes a realm to identify the "protection space." see rfc 2617.
Using nsILoginManager
<div>please log in.</div> <label>username:</label> <input type="text" name="uname"> <label>password:</label> <input type="password" name="pword"> </form> creating a site authentication login var authlogininfo = new nslogininfo( 'http://www.example.com', null, 'exampleco login', 'alice', 'secret321', "", "" ); this would correspond to a login on http://www.example.com when the server
sends a reply such as: http/1.0 401 authorization required server: apache/1.3.27 www-authenticate: basic realm="exampleco login" creating a local extension login var extlogininfo = new nslogininfo( 'chrome://firefoo', null, 'user registration', 'bob', '123secret', "", "" ); from a component creating a new info block is done slightly differently: var nslogininfo = new constructor("@org...
nsIMessageListenerManager
dom/base/nsimessagemanager.idlscriptable this interface enables clients to listen for messages sent using the nsimessagebroadcaster, nsimessage
sender, or nsisyncmessage
sender interfaces.
nsIMessageWakeupService
the parentprocessmessagemanager is used for this, so messages
send from childprocessmessagemanagers will be heard.
nsIMsgDatabase
addnewhdrtodb will
send notifications to any listeners.
nsIMsgIdentity
if this is set, this is the smtp server that should be used for the message
send.
nsINavHistoryQuery
ha
sendtime boolean read only: whether or not, the corresponding end time is considered.
nsIPushService
inherits from: nsisupports last changed in gecko 46.0 (firefox 46.0 / thunderbird 46.0 / seamonkey 2.43) push lets a remote server
send payloads to a web site, add-on, or component running in the browser.
nsISearchEngine
getsubmission() gets a nsisearchsubmission object that contains information about what to
send to the search engine, including the uri and postdata, if applicable.
nsISocketProvider
for example, an ssl connection would not
send any client-certificates if this flag is set.
nsIThreadPool
when you
send events to the thread pool, the pool creates a new thread to process the event, up to the number of threads specified by the threadlimit attribute.
nsITransportEventSink
void ontransportstatus( in nsitransport atransport, in nsresult astatus, in unsigned long long aprogress, in unsigned long long aprogressmax ); parameters atransport the transport
sending this status notification.
nsIWorker
methods postmessage() used to allow the worker to
send a message back to the web application that created it.
nsMsgSearchAttrib
*/ [scriptable, uuid(a83ca7e8-4591-4111-8fb8-fd76ac73c866)] interface nsmsgsearchattrib { const nsmsgsearchattribvalue custom = -2; /* a custom term, see nsimsgsearchcustomterm */ const nsmsgsearchattribvalue default = -1; const nsmsgsearchattribvalue subject = 0; /* mail and news */ const nsmsgsearchattribvalue
sender = 1; const nsmsgsearchattribvalue body = 2; const nsmsgsearchattribvalue date = 3; const nsmsgsearchattribvalue priority = 4; /* mail only */ const nsmsgsearchattribvalue msgstatus = 5; const nsmsgsearchattribvalue to = 6; const nsmsgsearchattribvalue cc = 7; const nsmsgsearchattribvalue toorcc = 8; const nsmsgsearchattribvalue alladdresses = 9; const ...
nsMsgMessageFlags
senderauthed 0x00000200 partial 0x00000400 indicates whether or not the body we have is a complete message.
Weak reference
after all, the observable must
send messages to each observer, notifying it of the appropriate state changes.
XPCOM
however, such decoders relied on servers
sending correct mime types; images sent with incorrect mime types would not be correctly displayed.xpcom gluethe xpcom glue is a static library which component developers and embedders can link against.
Address book sync client design
// // sync approach - server handles all conflict resolution: // // step 2: // using the sync mapping table and the local records database, generate the change // list to
send to the server.
Autoconfiguration in Thunderbird
in many cases, people should be able to download and install thunderbird, enter their real name, email address and password in the account setup wizard and have a fully functioning mail client and get and
send their mail as securely as possible.
Buddy icons in mail
for the message pane, the icon we will show is on disk at: <profile home>/nim/<value of pref aim.session.screenname>/picture/<screenname for
sender email address>.gif when trying to determine the screenname for the
sender, we search the addressbook that we are using for collection.
Events
compose-
send-message a message gets sent compose-window-close a compose window gets closed compose-window-init a compose window has been opened compose-window-reopen a cached compose window has been reopened.
LDAP Support
in such a scenario, it may be hard to tell which person you really want to
send the message to.
MailNews fakeserver
to enable/disable debugging, call setdebuglevel on your nsmailserver instance with one of the following options: const fsdebugnone = 0; // dump nothing const fsdebugrecv = 1; // dump just the received commands const fsdebugrecv
send = 2; // dump received + sent commands, no data const fsdebugall = 3; // dump everything debugging is set to "none" by default.
Tips and Tricks from the newsgroups
extensions load an extension in its own tab run shell scripts from an extension (for example, to create a symlink) get extension metadata call java from thunderbird extensions (also an example here, written for firefox but compatible with thunderbird 3.x) define a custom protocol handler to call an external program save attachment and
send it repeat image display using css sprites messages use reminderfox to open a message in the default thunderbird message window (when messageuri, folderuri and gdbview are unknown) determine whether a message has been flagged as junk imap: getting message key of copied message by nsimsgcopyservice::copyfilemessage access the plain text content of the email body get information a...
WebIDL bindings
for example, consider this interface that we wish to implement in javascript: [jsimplementation="some-contract"] interface myeventtarget : eventtarget { attribute eventhandler onmyevent; void dispatchtheevent(); //
sends a "myevent" event to this eventtarget } the implementation would look something like this, ignoring most of the xpcom boilerplate: function myeventtargetimpl() { } myeventtargetimpl.prototype = { // qi to nsidomglobalpropertyinitializer so we get init() called on us.
Add to iPhoto
if that fails, we display an error; otherwise, we cast the cfmutablearrayref into a cfarrayref by calling ctypes.cast(), then call lsopenurlswithrole() to actually
send the image to iphoto.
Drawing and Event Handling - Plugins
the browser is also responsible for
sending the plug-in all events targeted to an instance, such as mouse clicks when the cursor is within the instance rectangle or suspend and resume events when the application is switched in and out.
Plug-in Basics - Plugins
the server looks for the media (mime) type registered by a plug-in, based on the file extension, and starts
sending the file to the browser.
Console messages - Firefox Developer Tools
the context menu for network messages includes a few extra items in addition the globally-available ones: copy link location acts as you would expect, copying the url into the clipboard open in network panel switches context to the network tab, selects the request and shows you the details re
send request
sends the network request again.
AbortSignal.aborted - Web APIs
later on we check whether or not it the signal has been aborted using the aborted property, and
send an appropriate log to the console.
AbortSignal.onabort - Web APIs
later on we check whether or not it the signal has been aborted using the onabort property, and
send an appropriate log to the console.
AbstractWorker - Web APIs
this code snippet demonstrates the creation of a new worker using the worker() constructor; it also shows how to then
send a message to the worker.
AudioBuffer() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
AudioBufferSourceNode.loop - Web APIs
load = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; source.playbackrate.value = playbackcontrol.value; source.connect(audioctx.destination); source.loop = true; }, function(e){"error with decoding audio data" + e.err}); } request.
send(); } // wire up buttons to stop and play audio, and range slider control play.onclick = function() { getdata(); source.start(0); play.setattribute('disabled', 'disabled'); playbackcontrol.removeattribute('disabled'); } specification specification status comment web audio apithe definition of 'loop' in that specification.
AudioBufferSourceNode.loopEnd - Web APIs
tion; source.buffer = mybuffer; source.playbackrate.value = playbackcontrol.value; source.connect(audioctx.destination); source.loop = true; loopstartcontrol.setattribute('max', math.floor(songlength)); loopendcontrol.setattribute('max', math.floor(songlength)); }, function(e){"error with decoding audio data" + e.err}); } request.
send(); } ...
AudioBufferSourceNode.loopStart - Web APIs
tion; source.buffer = mybuffer; source.playbackrate.value = playbackcontrol.value; source.connect(audioctx.destination); source.loop = true; loopstartcontrol.setattribute('max', math.floor(songlength)); loopendcontrol.setattribute('max', math.floor(songlength)); }, function(e){"error with decoding audio data" + e.err}); } request.
send(); } ...
AudioNode.connect() - Web APIs
for example, you might
send the audio from a mediaelementaudiosourcenode—that is, the audio from an html5 media element such as <audio>—through a band pass filter implemented using a biquadfilternode to reduce noise before then
sending the audio along to the speakers.
AudioProcessingEvent - Web APIs
nction getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = 'arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.
send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the input buffer is the song we loaded earlier var inputbuffer = audioprocessingevent.inputbuffer; // the output buffer contains the samples that will be modified and played var outputbuffer = audioprocessingevent.outputbuffer; // loop through the output channels (...
AudioWorkletNode.port - Web APIs
const audiocontext = new audiocontext() await audiocontext.audioworklet.addmodule('ping-pong-processor.js') const pingpongnode = new audioworkletnode(audiocontext, 'ping-pong-processor') //
send the message containing 'ping' string // to the audioworkletprocessor from the audioworkletnode every second setinterval(() => pingpongnode.port.postmessage('ping'), 1000) pingpongnode.port.onmessage = (e) => console.log(e.data) pingpongnode.connect(audiocontext.destination) this will output "ping" and "pong" strings to the console every second.
AudioWorkletProcessor.port - Web APIs
const audiocontext = new audiocontext() await audiocontext.audioworklet.addmodule('ping-pong-processor.js') const pingpongnode = new audioworkletnode(audiocontext, 'ping-pong-processor') //
send the message containing 'ping' string // to the audioworkletprocessor from the audioworkletnode every second setinterval(() => pingpongnode.port.postmessage('ping'), 1000) pingpongnode.port.onmessage = (e) => console.log(e.data) pingpongnode.connect(audiocontext.destination) this will output "ping" and "pong" strings to the console every second.
AuthenticatorAssertionResponse.authenticatorData - Web APIs
examples var options = { challenge: new uint8array(26), // will be another value, provided by the relying party server timeout: 60000 }; navigator.credentials.get({ publickey: options }) .then(function (assertionpkcred) { var authenticatordata = assertionpkcred.response.authenticatordata; // maybe try to convert the authenticatordata to see what's inside //
send response and client extensions to the server so that it can // go on with the authentication }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'authenticatordata' in that specification.
AuthenticatorAssertionResponse.signature - Web APIs
examples var options = { challenge: new uint8array(26), // will be another value, provided by the relying party server timeout: 60000 }; navigator.credentials.get({ publickey: options }) .then(function (assertionpkcred) { var signature = assertionpkcred.response.signature; //
send response and client extensions to the server so that it can // go on with the authentication }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'signature' in that specification.
AuthenticatorAssertionResponse.userHandle - Web APIs
username, e-mail, phone number, etc.) examples var options = { challenge: new uint8array(26), // will be another value, provided by the relying party server timeout: 60000 }; navigator.credentials.get({ publickey: options }) .then(function (assertionpkcred) { var userhandle = assertionpkcred.response.userhandle; //
send response and client extensions to the server so that it can // go on with the authentication }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'userhandle' in that specification.
AuthenticatorAssertionResponse - Web APIs
examples var options = { challenge: new uint8array([/* bytes sent from the server */]) }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { var assertionresponse = credentialinfoassertion.response; // do something specific with the response //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'authenticatorassertionresponse interface' in that specification.
AuthenticatorAttestationResponse.attestationObject - Web APIs
y(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var attestationobj = newcredentialinfo.response.attestationobject; // this will be a cbor encoded arraybuffer // do something with the response // (
sending it back to the relying party server maybe?) }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'attestationobject' in that specification.
AuthenticatorAttestationResponse - Web APIs
orp", id : "login.example.com" }, user: { id: new uint8array(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var response = newcredentialinfo.response; // do something with the response // (
sending it back to the relying party server maybe?) }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'authenticatorattestationresponse interface' in that specification.
AuthenticatorResponse - Web APIs
examples getting an authenticatorassertionresponse var options = { challenge: new uint8array([/* bytes sent from the server */]) }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { var assertionresponse = credentialinfoassertion.response; //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); getting an authenticatorattestationresponse var publickey = { challenge: /* from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(16), name: "jdoe@example.com", displaynam...
BaseAudioContext.createConvolver() - Web APIs
owd.ogg', true); ajaxrequest.responsetype = 'arraybuffer'; ajaxrequest.onload = function() { var audiodata = ajaxrequest.response; audioctx.decodeaudiodata(audiodata, function(buffer) { concerthallbuffer = buffer; soundsource = audioctx.createbuffersource(); soundsource.buffer = concerthallbuffer; }, function(e){"error with decoding audio data" + e.err}); } ajaxrequest.
send(); ...
BaseAudioContext.createScriptProcessor() - Web APIs
nction getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = 'arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.
send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the input buffer is the song we loaded earlier var inputbuffer = audioprocessingevent.inputbuffer; // the output buffer contains the samples that will be modified and played var outputbuffer = audioprocessingevent.outputbuffer; // loop through the output channels (...
BaseAudioContext.decodeAudioData() - Web APIs
er.ogg', true); request.responsetype = 'arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { source.buffer = buffer; source.connect(audioctx.destination); source.loop = true; }, function(e){ console.log("error with decoding audio data" + e.err); }); } request.
send(); } // wire up buttons to stop and play audio play.onclick = function() { getdata(); source.start(0); play.setattribute('disabled', 'disabled'); } stop.onclick = function() { source.stop(0); play.removeattribute('disabled'); } // dump script to pre element pre.innerhtml = myscript.innerhtml; new promise-based syntax ctx.decodeaudiodata(audiodata).then(function(decodeddata) { /...
BasicCardResponse - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
BiquadFilterNode() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
BlobEvent.timecode - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
BudgetState.time - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
BudgetState - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
CSSStyleSheet.insertRule() - Web APIs
it supplements insertrule() with a function that separates the selector from the rules before
sending the arguments to the default native insertrule().
CanvasCaptureMediaStreamTrack.requestFrame() - Web APIs
example // find the canvas element to capture var canvaselt = document.getelementsbytagname("canvas")[0]; // get the stream var stream = canvaselt.capturestream(25); // 25 fps //
send the current state of the canvas as a frame to the stream stream.getvideotracks()[0].requestframe(); specifications specification status comment media capture from dom elementsthe definition of 'canvascapturemediastream.requestframe()' in that specification.
Client.type - Web APIs
a document) function
sendmessage(message) { return new promise(function(resolve, reject) { // note that this is the serviceworker.postmessage version navigator.serviceworker.controller.postmessage(message); window.serviceworker.onmessage = function(e) { resolve(e.data); }; }); } // controlling service worker self.addeventlistener("message", function(e) { // e.source is a client object e.source.postmessage("hello!
Clients.openWindow() - Web APIs
examples //
send notification to os if applicable if (self.notification.permission === 'granted') { const notificationobject = { body: 'click here to view your messages.', data: { url: self.location.origin + '/some/path' }, // data: { url: 'http://example.com' }, }; self.registration.shownotification('you\'ve got messages!', notificationobject); } // notification click event listener self.addev...
Clipboard.write() - Web APIs
function setclipboard(text) { let data = [new clipboarditem({ "text/plain": text })]; navigator.clipboard.write(data).then(function() { /* success */ }, function() { /* failure */ }); } the code begins by creating a new clipboarditem object into which the text will be placed for
sending to the clipboard.
ConvolverNode() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
ConvolverNode.buffer - Web APIs
owd.ogg', true); ajaxrequest.responsetype = 'arraybuffer'; ajaxrequest.onload = function() { var audiodata = ajaxrequest.response; audioctx.decodeaudiodata(audiodata, function(buffer) { concerthallbuffer = buffer; soundsource = audioctx.createbuffersource(); soundsource.buffer = concerthallbuffer; }, function(e){"error with decoding audio data" + e.err}); } ajaxrequest.
send(); ...
ConvolverNode.normalize - Web APIs
owd.ogg', true); ajaxrequest.responsetype = 'arraybuffer'; ajaxrequest.onload = function() { var audiodata = ajaxrequest.response; audioctx.decodeaudiodata(audiodata, function(buffer) { concerthallbuffer = buffer; soundsource = audioctx.createbuffersource(); soundsource.buffer = concerthallbuffer; }, function(e){"error with decoding audio data" + e.err}); } ajaxrequest.
send(); ...
CountQueuingStrategy - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Element.currentStyle - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Element.requestFullscreen() - Web APIs
earlier implementations of the fullscreen api would always
send these events to the document rather than the element, and you may need to be able to handle that situation.
Element.runtimeStyle - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Element.scroll() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Element.scrollLeftMax - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Element.scrollTo() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Element.slot - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Element: webkitmouseforcedown event - Web APIs
after a mousedown event has been fired at the element, if and when sufficient pressure has been applied to the mouse or trackpad button to qualify as a "force click," safari begins
sending webkitmouseforcedown events to the element.
Event.initEvent() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Event - Web APIs
it can also be triggered programmatically, such as by calling the htmlelement.click() method of an element, or by defining the event, then
sending it to a specified target using eventtarget.dispatchevent().
EventTarget.addEventListener() - Web APIs
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 parameters to the modifytext() function, which is responsible for actually responding to the event.
ExtendableMessageEvent.data - Web APIs
examples when the following code is used inside a service worker to respond to a push messages by
sending the data received via pushmessagedata to the main context via a channel message, the event object of onmessage will be a extendablemessageevent.
ExtendableMessageEvent.lastEventId - Web APIs
examples when the following code is used inside a service worker to respond to a push messages by
sending the data received via pushmessagedata to the main context via a channel message, the event object of onmessage will be a extendablemessageevent.
ExtendableMessageEvent.origin - Web APIs
examples when the following code is used inside a service worker to respond to a push messages by
sending the data received via pushmessagedata to the main context via a channel message, the event object of onmessage will be a extendablemessageevent.
ExtendableMessageEvent.ports - Web APIs
examples when the following code is used inside a service worker to respond to a push messages by
sending the data received via pushmessagedata to the main context via a channel message, the event object of onmessage will be a extendablemessageevent.
ExtendableMessageEvent.source - Web APIs
examples when the following code is used inside a service worker to respond to a push messages by
sending the data received via pushmessagedata to the main context via a channel message, the event object of onmessage will be a extendablemessageevent.
FederatedCredential - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
FederatedCredential - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
File - Web APIs
in particular, filereader, url.createobjecturl(), createimagebitmap(), and xmlhttprequest.
send() accept both blobs and files.
FileEntrySync - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
FileSystemFileEntry - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
FileSystemFlags - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
FileSystemSync - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
FontFace.display - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
FontFaceSetLoadEvent - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
FormData - Web APIs
the formdata interface provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the xmlhttprequest.
send() method.
FormDataEvent.formData - Web APIs
ew formdata(formelem); }); // formdata handler to retrieve data formelem.addeventlistener('formdata', (e) => { console.log('formdata fired'); // get the form data from the event object let data = e.formdata; for (var value of data.values()) { console.log(value); } // submit the data via xhr var request = new xmlhttprequest(); request.open("post", "/formhandler"); request.
send(data); }); specifications specification status comment html living standardthe definition of 'formdata' in that specification.
FormDataEvent - Web APIs
ew formdata(formelem); }); // formdata handler to retrieve data formelem.addeventlistener('formdata', (e) => { console.log('formdata fired'); // get the form data from the event object let data = e.formdata; for (var value of data.values()) { console.log(value); } // submit the data via xhr var request = new xmlhttprequest(); request.open("post", "/formhandler"); request.
send(data); }); specifications specification status comment html living standardthe definition of 'formdataevent' in that specification.
GainNode() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
GestureEvent - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
GlobalEventHandlers.onerror - Web APIs
instead the error reported is simply "script error." this behavior can be overriden in some browsers using the crossorigin attribute on <script> and having the server
send the appropriate cors http response headers.
GlobalEventHandlers.onformdata - Web APIs
rmdata event new formdata(formelem); }); // formdata handler to retrieve data formelem.onformdata = (e) => { console.log('formdata fired'); // get the form data from the event object let data = e.formdata; for (var value of data.values()) { console.log(value); } // submit the data via xhr var request = new xmlhttprequest(); request.open("post", "/formhandler"); request.
send(data); }; specifications specification status comment html living standardthe definition of 'onformdata' in that specification.
HTMLCanvasElement.captureStream() - Web APIs
send it to another computer using an rtcpeerconnection // pc is an rtcpeerconnection created elsewhere pc.addstream(stream); specifications specification status comment media capture from dom elementsthe definition of 'htmlcanvaselement.capturestream()' in that specification.
HTMLElement.offsetTop - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
HTMLFormElement: formdata event - Web APIs
ew formdata(formelem); }); // formdata handler to retrieve data formelem.addeventlistener('formdata', (e) => { console.log('formdata fired'); // get the form data from the event object let data = e.formdata; for (var value of data.values()) { console.log(value); } // submit the data via xhr var request = new xmlhttprequest(); request.open("post", "/formhandler"); request.
send(data); }); the onformdata version would look like this: formelem.onformdata = (e) => { console.log('formdata fired'); // get the form data from the event object let data = e.formdata; for (var value of data.values()) { console.log(value); } // submit the data via xhr var request = new xmlhttprequest(); request.open("post", "/formhandler"); request.
send(data); }; specifi...
HTMLIFrameElement.csp - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
HTMLIFrameElement.src - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Timing element visibility with the Intersection Observer API - Web APIs
}, { bgcolor: "aquamarine", title: "millionsoffreebooks.whatever", body: "read classic literature online free!" }, { bgcolor: "lightgrey", title: "3.14 shades of gray: a novel", body: "love really does make the world go round..." }, { bgcolor: "#fee", title: "flexbox florist", body: "when life's layout gets complicated,
send flowers." } ]; let adbox, title, body, timerelem; let ad = ads[math.floor(math.random()*ads.length)]; if (replacebox) { adobserver.unobserve(replacebox); adbox = replacebox; title = replacebox.queryselector(".title"); body = replacebox.queryselector(".body"); timerelem = replacebox.queryselector(".timer"); } else { adbox = document.createelement("div"); ...
LargestContentfulPaint - Web APIs
(note: `rendertime` may not be available on // image elements loaded cross-origin without the `timing-allow-origin` header.) lcp = lastentry.rendertime || lastentry.loadtime; }); po.observe({type: 'largest-contentful-paint', buffered: true}); //
send data to the server.
LocalFileSystem - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
LocalFileSystemSync - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
MSGestureEvent - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
MediaDeviceInfo.kind - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
MessageChannel - Web APIs
the messagechannel interface of the channel messaging api allows us to create a new message channel and
send data through it via its two messageport properties.
MessagePort: message event - Web APIs
bubbles no cancelable no interface messageevent event handler property onmessage examples suppose a script creates a messagechannel and
sends one of the ports to a different browsing context, such as another <iframe>, using code like this: const channel = new messagechannel(); const myport = channel.port1; const targetframe = window.top.frames[1]; const targetorigin = 'https://example.org'; const messagecontrol = document.queryselector('#message'); const channelmessagebutton = document.queryselector('#channel-message'); channelmessagebutton.addeventlistener('click', () => { myport.postmessage(messagecontrol.value); }) targetframe.postmessa...
MessagePort: messageerror event - Web APIs
bubbles no cancelable no interface messageevent event handler property onmessageerror examples suppose a script creates a messagechannel and
sends one of the ports to a different browsing context, such as another <iframe>, using code like this: const channel = new messagechannel(); const myport = channel.port1; const targetframe = window.top.frames[1]; const targetorigin = 'https://example.org'; const messagecontrol = document.queryselector('#message'); const channelmessagebutton = document.queryselector('#channel-message'); channelmessagebutton.addeventlistener('click', () => { myport.postmessage(messagecontrol.value); ...
Metadata.size - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Metadata - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Web-based protocol handlers - Web APIs
an example is the mailto: protocol: <a href="mailto:webmaster@example.com">web master</a> web authors can use a mailto: link when they want to provide a convenient way for users to
send an email, directly from the webpage.
Navigator.registerProtocolHandler() - Web APIs
sto ssh tel urn webcal wtai xmpp example if your site is burgers.example.com, you can register a protocol handler for it to handle web+burger: links, like so: navigator.registerprotocolhandler("web+burger", "https://burgers.example.com/?burger=%s", "burger handler"); this creates a handler that lets web+burger: links
send the user to your site, inserting the accessed burger url into the %s placeholder.
Navigator - Web APIs
navigator.
sendbeacon() used to asynchronously transfer a small amount of data using http from the user agent to a web server.
Notification.permission - Web APIs
examples the following snippet could be used if you wanted to first check whether notifications are supported, then check if permission has been granted for the current origin to
send notifications, then request permission if required, before then
sending a notification.
Notification.requestPermission() - Web APIs
possible values for this string are: granted denied default examples assume this basic html: <button onclick="notifyme()">notify me!</button> it's possible to
send a notification as follows — here we present a fairly verbose and complete set of code you could use if you wanted to first check whether notifications are supported, then check if permission has been granted for the current origin to
send notifications, then request permission if required, before then
sending a notification.
Notification - Web APIs
examples assume this basic html: <button onclick="notifyme()">notify me!</button> it's possible to
send a notification as follows — here we present a fairly verbose and complete set of code you could use if you wanted to first check whether notifications are supported, then check if permission has been granted for the current origin to
send notifications, then request permission if required, before then
sending a notification.
NotificationEvent - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
OfflineAudioContext.startRendering() - Web APIs
buffersource(); song.buffer = renderedbuffer; song.connect(audioctx.destination); play.onclick = function() { song.start(); } }).catch(function(err) { console.log('rendering failed: ' + err); // note: the promise should reject when startrendering is called a second time on an offlineaudiocontext }); }); } request.
send(); } // run getdata to start the process off getdata(); specifications specification status comment web audio apithe definition of 'startrendering()' in that specification.
OfflineAudioContext - Web APIs
buffersource(); song.buffer = renderedbuffer; song.connect(audioctx.destination); play.onclick = function() { song.start(); } }).catch(function(err) { console.log('rendering failed: ' + err); // note: the promise should reject when startrendering is called a second time on an offlineaudiocontext }); }); } request.
send(); } // run getdata to start the process off getdata(); specifications specification status comment web audio apithe definition of 'offlineaudiocontext' in that specification.
PasswordCredential - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
PaymentResponse.methodName - Web APIs
payment.show().then(paymentresponse => { var paymentdata = { // payment method string method: paymentresponse.methodname, // payment details as you requested details: paymentresponse.details, // shipping address information address: todict(paymentresponse.shippingaddress) }; //
send information to the server }); specifications specification status comment payment request api candidate recommendation initial definition.
PaymentResponse.onpayerdetailchange - Web APIs
esolves, add the results of the // validation to the errors list const errors = await promise.all(promisestovalidate).then(results => results.reduce((errors, result), object.assign(errors, result)) ); // if we found any errors, wait for them to be corrected if (object.getownpropertynames(errors).length) { await response.retry(errors); } else { // we have a good payment;
send the data to the server await fetch("/pay-for-things/", { method: "post", body: response.json() }); response.complete("success"); } }; await response.retry({ payer: { email: "invalid domain.", phone: "invalid number.", }, }); specifications specification status comment payment request apithe definition of 'onpayerdetailchange' in that specification...
PaymentResponse: payerdetailchange event - Web APIs
esolves, add the results of the // validation to the errors list const errors = await promise.all(promisestovalidate).then(results => results.reduce((errors, result), object.assign(errors, result)) ); // if we found any errors, wait for them to be corrected if (object.getownpropertynames(errors).length) { await response.retry(errors); } else { // we have a good payment;
send the data to the server await fetch("/pay-for-things/", { method: "post", body: response.json() }); response.complete("success"); } }; await response.retry({ payer: { email: "invalid domain.", phone: "invalid number.", }, }); addeventlistener equivalent you could also set up the event handler using the addeventlistener() method: response.addeventlistener("payerdetailchan...
Using the Payment Request API - Web APIs
the merchant code would look like this: let paymentrequest = new paymentrequest( [{supportedmethods: 'https://example.com/preauth'}], ...); //
send `canmakepayment` event to the payment handler.
PerformanceServerTiming - Web APIs
example given a server that
sends the server-timing header, for example a node.js server like this: const http = require('http'); function requesthandler(request, response) { const headers = { 'server-timing': ` cache;desc="cache read";dur=23.2, db;dur=53, app;dur=47.2 `.replace(/\n/g, '') }; response.writehead(200, headers); response.write(''); return settimeout(_ => { response.end(); }...
Permissions.query() - Web APIs
uservisibleonly: (push only, not supported in firefox — see the browser support section below) indicates whether you want to show a notification for every message or be able to
send silent push notifications.
Permissions.revoke() - Web APIs
uservisibleonly: (push only, not supported in firefox — see the browser compatibility section below) indicates whether you want to show a notification for every message or be able to
send silent push notifications.
Permissions - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
imageWidth - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
PhotoCapabilities - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Multi-touch interaction - Web APIs
ev.target.style.background = "white"; break; case 1: // single touch point ev.target.style.background = "yellow"; break; case 2: // two simultaneous touch points ev.target.style.background = "pink"; break; default: // three or more simultaneous touches ev.target.style.background = "lightblue"; } } event logging these functions are used
send to event activity to the application window (to support debugging and learning about the event flow).
Pinch zoom gestures - Web APIs
function remove_event(ev) { // remove this event from the target's cache for (var i = 0; i < evcache.length; i++) { if (evcache[i].pointerid == ev.pointerid) { evcache.splice(i, 1); break; } } } event logging these functions are used to
send event activity to the application's window (to support debugging and learning about the event flow).
ProgressEvent - Web APIs
var progressbar = document.getelementbyid("p"), client = new xmlhttprequest() client.open("get", "magical-unicorns") client.onprogress = function(pe) { if(pe.lengthcomputable) { progressbar.max = pe.total progressbar.value = pe.loaded } } client.onloadend = function(pe) { progressbar.value = pe.loaded } client.
send() specifications specification status comment xmlhttprequestthe definition of 'progressevent' in that specification.
PublicKeyCredential.id - Web APIs
login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var id = newcredentialinfo.id; // do something with the id //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'id' in that specification.
PublicKeyCredential.response - Web APIs
int8array(16) /* from the server */, name: "jdoe@example.com", displayname: "john doe" }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey: options }) .then(function (pubkeycredential) { var response = pubkeycredential.response; var clientextresults = pubkeycredential.getclientextensionresults(); //
send response and client extensions to the server so that it can validate // and create credentials }).catch(function (err) { // deal with any error }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'response' in that specification.
PublicKeyCredential - Web APIs
var options = { challenge: new uint8array([/* bytes sent from the server */]) }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'publickeycredential interface' in that specification.
PublicKeyCredentialCreationOptions.attestation - Web APIs
en from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'attestation' in that specification.
PublicKeyCredentialCreationOptions.authenticatorSelection - Web APIs
ctually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'authenticatorselection' in that specification.
PublicKeyCredentialCreationOptions.challenge - Web APIs
en from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'challenge' in that specification.
PublicKeyCredentialCreationOptions.excludeCredentials - Web APIs
ctually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'excludecredentials' in that specification.
PublicKeyCredentialCreationOptions.extensions - Web APIs
be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // mybuffer will contain the result of any of the processing of the extensions var mybuffer = newcredentialinfo.getclientextensionresults(); //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'extensions' in that specification.
PublicKeyCredentialCreationOptions.pubKeyCredParams - Web APIs
alg: -37 } ], challenge: new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", } }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'pubkeycredparams' in that specification.
PublicKeyCredentialCreationOptions.rp - Web APIs
rver */, rp: { name: "example corp", id : "login.example.com", icon: "https://login.example.com/login.ico" }, user: { id: new uint8array(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'rp' in that specification.
PublicKeyCredentialCreationOptions.timeout - Web APIs
en from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'timeout' in that specification.
PublicKeyCredentialCreationOptions.user - Web APIs
changed for each user id: new uint8array.from(window.atob("laegmlkjnrlkgnamlafalfka="), c=>c.charcodeat(0)); name: "jdoe@example.com", displayname: "john doe", icon: "https://gravatar.com/avatar/jdoe.png" }, pubkeycredparams: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { //
send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'user' in that specification.
PublicKeyCredentialRequestOptions.allowCredentials - Web APIs
: "public-key", id: new uint8array(26) // actually provided by the server }, { transports: ["internal"], type: "public-key", id: new uint8array(26) // actually provided by the server } ], challenge: new uint8array([/* bytes sent from the server */]) }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'allowcredentials' in that specification.
PublicKeyCredentialRequestOptions.challenge - Web APIs
examples var options = { challenge: new uint8array([/* bytes sent from the server */]) }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'challenge' in that specification.
PublicKeyCredentialRequestOptions.extensions - Web APIs
examples var options = { extensions: { uvm: true, loc: false, txauthsimple: "could you please verify yourself?" }, challenge: new uint8array([/* bytes sent from the server */]) }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'extensions' in that specification.
PublicKeyCredentialRequestOptions.rpId - Web APIs
examples var options = { challenge: new uint8array([/* bytes sent from the server */]), rpid: "example.com" // will only work if the current domain // is something like foo.example.com }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'rpid' in that specification.
PublicKeyCredentialRequestOptions.timeout - Web APIs
examples var options = { challenge: new uint8array([/* bytes sent from the server */]), timeout: 6000 // wait a minute for the fetching operation // and maybe fail if it takes longer }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'timeout' in that specification.
PublicKeyCredentialRequestOptions.userVerification - Web APIs
examples var options = { userverification: "preferred", challenge: new uint8array([/* bytes sent from the server */]), }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'userverification' in that specification.
PublicKeyCredentialRequestOptions - Web APIs
{ transports: "internal", type: "public-key", id: new uint8array(26) // actually provided by the server } ], extensions: { uvm: true, // rp wants to know how the user was verified loc: false, txauthsimple: "could you please verify yourself?" } }; navigator.credentials.get({ "publickey": options }) .then(function (credentialinfoassertion) { //
send assertion response back to the server // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credentials level 1the definition of 'publickeycredentialrequestoptions dictionary' in that specification.
PushEvent.PushEvent() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
PushEvent.data - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
PushEvent - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
PushManager.getSubscription() - Web APIs
var pushbutton = document.queryselector('.js-push-button'); pushbutton.disabled = false; if (!subscription) { // 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.textcontent = 'disable push messages'; ispushenabled = true; }) .catch(function(err) { window.demo.debug.log('error during getsubscription()', err); }); }); specifications spe...
PushManager.subscribe() - Web APIs
example this.onpush = function(event) { console.log(event.data); // from here we can write the data to indexeddb,
send it to any open // windows, display a notification, etc.
PushManager - Web APIs
example this.onpush = function(event) { console.log(event.data); // from here we can write the data to indexeddb,
send it to any open // windows, display a notification, etc.
RTCDataChannel: error event - Web APIs
examples // strings for each of the sctp cause codes found in rfc // 4960, section 3.3.10: // https://tools.ietf.org/html/rfc4960#section-3.3.10 const sctpcausecodes = [ "no sctp error", "invalid stream identifier", "missing mandatory parameter", "stale cookie error", "
sender is out of resource (i.e., memory)", "unable to resolve address", "unrecognized sctp chunk type received", "invalid mandatory parameter", "unrecognized parameters", "no user data (sctp data chunk has no data)", "cookie received while shutting down", "restart of an association with new addresses", "user-initiated abort", "protocol violation" ]; dc.addeventlistener("error", ev =...
RTCDataChannel - Web APIs
either peer is permitted to call this method to initiate closure of the channel.
send()the
send() method of the rtcdatachannel interface
sends data across the data channel to the remote peer.
RTCIceCandidatePair - Web APIs
var icetransport = pc.get
senders()[0].transport.icetransport; var localproto = document.getelementbyid("local-protocol"); var remoteproto = document.getelementbyid("remote-protocol"); icetransport.onselectedcandidatepairchange = function(event) { var pair = icetransport.getselectedcandidatepair(); localprotocol.innertext = pair.local.protocol.touppercase(); remoteprotocol.innertext = pair.remote.protocol.touppercase();...
RTCIceCandidatePairStats - Web APIs
totalroundtriptime optional a floating-point value indicating the total time, in seconds, that has elapsed between
sending stun requests and receiving responses to them, for all such requests made to date on this candidate pair.
RTCIceTransport.getSelectedCandidatePair() - Web APIs
var icetransport = pc.get
senders()[0].transport.icetransport; var localproto = document.getelementbyid("local-protocol"); var remoteproto = document.getelementbyid("remote-protocol"); icetransport.onselectedcandidatepairchange = function(event) { var pair = icetransport.getselectedcandidatepair(); localprotocol.innertext = pair.local.protocol.touppercase(); remoteprotocol.innertext = pair.remote.protocol.touppercase();...
RTCIceTransport.ongatheringstatechange - Web APIs
var icetransport = pc.get
senders()[0].transport.transport; icetransport.ongatheringstatechange = function(event) { if (icetransport.gatheringstate == "complete") { allcandidatesreceived(pc); } } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcicetransport.ongatheringstatechange' in that specification.
RTCIceTransport.onselectedcandidatepairchange - Web APIs
var icetransport = pc.get
senders()[0].transport.icetransport; var localproto = document.getelementbyid("local-protocol"); var remoteproto = document.getelementbyid("remote-protocol"); icetransport.onselectedcandidatepairchange = function(event) { var pair = icetransport.getselectedcandidatepair(); localprotocol.innertext = pair.local.protocol.touppercase(); remoteprotocol.innertext = pair.remote.protocol.touppercase();...
RTCIceTransport.onstatechange - Web APIs
var icetransport = pc.get
senders()[0].transport.icetransport; icetransport.onstatechange = function(event) { if (icetransport.state == "failed") { handlefailure(pc); } } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcicetransport.onstatechange' in that specification.
RTCIceTransport: statechange event - Web APIs
let icetransport = pc.get
senders()[0].transport.icetransport; icetransport.addeventlistener("statechange", ev => { if (icetransport.state === "failed") { handlefailure(pc); } }, false); the same code, using the onstatechange event handler property, looks like this: let icetransport = pc.get
senders()[0].transport.icetransport; icetransport.onstatechange = ev => { if (icetransport.state === "failed") { handle...
RTCIceTransport - Web APIs
these are the same candidates which have already been sent to the remote peer by
sending an icecandidate event to the rtcpeerconnection for transmission.
RTCInboundRtpStreamStats.bytesReceived - Web APIs
this value can be used to calculate an approximation of the average media data rate: avgdatarate = rtcinboundrtpstreamstats.bytesreceived / elapsedtime; this value gets reset to zero if the
sender's ssrc identifier changes for any reason.
RTCInboundRtpStreamStats.qpSum - Web APIs
you can, for example, use the value of rtcreceivedrtpstreamstats.framesdecoded if receiving the media or rtcsentrtpstreamstats.framesencoded if
sending it to get the number of frames handled so far, and compute an average from there.
RTCOutboundRtpStreamStats.qpSum - Web APIs
the qpsum property of the rtcoutboundrtpstreamstats dictionary is a value generated by adding the quantization parameter (qp) values for every frame this
sender has produced to date on the video track corresponding to this rtcoutboundrtpstreamstats object.
RTCOutboundRtpStreamStats.remoteId - Web APIs
the remoteid property of the rtcoutboundrtpstreamstats dictionary specifies the id of the rtcremoteinboundrtpstreamstats object representing the remote peer's rtcrtpreceiver which is
sending the media to the local peer for this ssrc.
RTCPeerConnection: addstream event - Web APIs
if (pc.addtrack !== undefined) { pc.ontrack = ev => { ev.streams.foreach(stream => doaddstream(stream)); } } else { pc.onaddstream = ev => { doaddstream(ev.stream); } } this calls a function doaddstream() once for each stream being added to the rtcpeerconnection, regardless of whether the browser
sends addstream or track.
RTCPeerConnection.close() - Web APIs
all rtcrtp
sender objects are considered to be stopped once this returns (they may still be in the process of stopping, but for all intents and purposes, they're stopped).
RTCPeerConnection.getStats() - Web APIs
exceptions this method does not throw exceptions; instead, it rejects the returned promise with one of the following errors: invalidaccesserror there is no rtcrtp
sender or rtcrtpreceiver whose track matches the specified selector, or selector matches more than one
sender or receiver.
RTCPeerConnection.sctp - Web APIs
example var pc = new rtcpeerconnection(); var channel = pc.createdatachannel("mydata"); channel.onopen = function(event) { channel.
send('
sending a message'); } channel.onmessage = function(event) { console.log(event.data); } // determine the largest message size that can be sent var sctp = pc.sctp; var maxmessagesize = sctp.maxmessagesize; specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcpeerconnection.sctp' in that specificati...
RTCPeerConnection.setRemoteDescription() - Web APIs
return navigator.mediadevices.getusermedia(mediaconstraints); }) .then(function(stream) { document.getelementbyid("local_video").srcobject = stream; return mypeerconnection.addstream(stream); }) .then(function() { return mypeerconnection.createanswer(); }) .then(function(answer) { return mypeerconnection.setlocaldescription(answer); }) .then(function() { //
send the answer to the remote peer using the signaling server }) .catch(handlegetusermediaerror); } after creating our rtcpeerconnection and saving it as mypeerconnection, we pass the description included in the received offer message, msg, directly into setremotedescription() to tell the user agent's webrtc layer what configuration the caller has proposed using.
RTCPeerConnectionIceErrorEvent - Web APIs
the rtcpeerconnectioniceerrorevent interface—based upon the event interface—provides details pertaining to an ice error announced by
sending an icecandidateerror event to the rtcpeerconnection object.
RTCRemoteOutboundRtpStreamStats.localId - Web APIs
finding paired statistics each statistics record of type remote-outbound-rtp (describing a remote peer's statistics about
sending data to the local peer) has a corresponding record of type inbound-rtp which describes the local peer's perspective on the same data being moved between the two peers.
RTCRtpCodecCapability - Web APIs
an array of objects of this type is returned in the codecs property of the rtcrtpcapabilities object returned in response to a call to either of the static functions rtcrtp
sender.getcapabilities() or rtcrtpreceiver.getcapabilities().
RTCRtpCodecParameters - Web APIs
note: on an rtcrtpreceiver, the format-specific parameters come from the sdp sent by the remote peer, while for rtcrtp
sender, they're provided by the local description.
RTCRtpReceiver.track - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
RTCRtpStreamStats.qpSum - Web APIs
you can, for example, use the value of rtcreceivedrtpstreamstats.framesdecoded if receiving the media or rtcsentrtpstreamstats.framesencoded if
sending it to get the number of frames handled so far, and compute an average from there.
RTCRtpTransceiver.mid - Web APIs
the read-only rtcrtptransceiver interface's mid property specifies the negotiated media id (mid) which the local and remote peers have agreed upon to uniquely identify the stream's pairing of
sender and receiver.
RTCSessionDescription() - Web APIs
navigator.getusermedia({video: true}, function(stream) { pc.onaddstream({stream: stream}); // adding a local stream won't trigger the onaddstream callback pc.addstream(stream); pc.createoffer(function(offer) { pc.setlocaldescription(new rtcsessiondescription(offer), function() { //
send the offer to a server to be forwarded to the friend you're calling.
RTCSessionDescription - Web APIs
the process of negotiating a connection between two peers involves exchanging rtcsessiondescription objects back and forth, with each description suggesting one combination of connection configuration options that the
sender of the description supports.
RTCTrackEvent.receiver - Web APIs
syntax var rtpreceiver = trackevent.receiver; value the rtcrtptransceiver which pairs the receiver with a
sender and other properties which establish a single bidirectional srtp stream for use by the track associated with the rtctrackevent.
RTCTrackEventInit.receiver - Web APIs
syntax var trackeventinit = { receiver: rtpreceiver, track: mediastreamtrack, streams: [videostream], transceiver: rtptransceiver }; var rtpreceiver = trackeventinit.receiver; value the rtcrtptransceiver which pairs the receiver with a
sender and other properties which establish a single bidirectional srtp stream for use by the track associated with the rtctrackevent.
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 - 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 ...
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 ...
Report - Web APIs
by
sending requests to the endpoints defined via the report-to http header.
Request.cache - Web APIs
fetch("some.json", {cache: "reload"}) .then(function(response) { /* consume the response */ }); // download a resource with cache busting when dealing with a // properly configured server that will
send the correct etag // and date headers and properly handle if-modified-since and // if-none-match request headers, therefore we can rely on the // validation to guarantee a fresh response.
Using the Resource Timing API - Web APIs
this requires the server providing the resource to
send the timing-allow-origin http response header with a value specifying the origin or origins which are allowed to get the restricted timestamp values.
Resource Timing API - Web APIs
this requires the server providing the resource to
send the timing-allow-origin http response header with a value specifying the origin or origins which are allowed to get the restricted timestamp values.
SVGAElement.target - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
SVGAnimatedAngle - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
SVGAnimatedBoolean - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
ScriptProcessorNode.bufferSize - Web APIs
function getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = 'arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.
send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the input buffer is the song we loaded earlier var inputbuffer = audioprocessingevent.inputbuffer; // the output buffer contains the samples that will be modified and played var outputbuffer = audioprocessingevent.outputbuffer; // loop through the output channels (...
ScriptProcessorNode.onaudioprocess - Web APIs
nction getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = 'arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.
send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the input buffer is the song we loaded earlier var inputbuffer = audioprocessingevent.inputbuffer; // the output buffer contains the samples that will be modified and played var outputbuffer = audioprocessingevent.outputbuffer; // loop through the output channels (...
ScriptProcessorNode - Web APIs
function getdata() { request = new xmlhttprequest(); request.open('get', 'viper.ogg', true); request.responsetype = 'arraybuffer'; request.onload = function() { var audiodata = request.response; audioctx.decodeaudiodata(audiodata, function(buffer) { mybuffer = buffer; source.buffer = mybuffer; }, function(e){"error with decoding audio data" + e.err}); } request.
send(); } // give the node a function to process audio events scriptnode.onaudioprocess = function(audioprocessingevent) { // the input buffer is the song we loaded earlier var inputbuffer = audioprocessingevent.inputbuffer; // the output buffer contains the samples that will be modified and played var outputbuffer = audioprocessingevent.outputbuffer; // loop through the output channels (...
Selection.extend() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Selection.toString() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Selection API - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
ServiceWorkerContainer: message event - Web APIs
bubbles no cancelable no interface messageevent event handler property onmessage examples in this example the service worker get the client's id from a fetch event and then
sends it a message using client.postmessage: // in the service worker async function messageclient(clientid) { const client = await clients.get(clientid); client.postmessage('hi client!'); } addeventlistener('fetch', (event) => { messageclient(event.clientid); event.respondwith(() => { // ...
ServiceWorkerGlobalScope.onpushsubscriptionchange - Web APIs
}) example self.addeventlistener('pushsubscriptionchange', function() { // do something, usually resubscribe to push and //
send the new subscription details back to the // server via xhr or fetch }); specifications specification status comment push apithe definition of 'onpushsubscriptionchange' in that specification.
ServiceWorkerMessageEvent.data - Web APIs
examples when the following code is used inside the main thread to set up a message channel between it and a service worker for
sending messages between the two, the event object of onmessage will be a serviceworkermessageevent.
ServiceWorkerMessageEvent.lastEventId - Web APIs
examples when the following code is used inside the main thread to set up a message channel between it and a service worker for
sending messages between the two, the event object of onmessage will be a serviceworkermessageevent.
ServiceWorkerMessageEvent.origin - Web APIs
examples when the following code is used inside the main thread to set up a message channel between it and a service worker for
sending messages between the two, the event object of onmessage will be a serviceworkermessageevent.
ServiceWorkerMessageEvent.ports - Web APIs
examples when the following code is used inside the main thread to set up a message channel between it and a service worker for
sending messages between the two, the event object of onmessage will be a serviceworkermessageevent.
ServiceWorkerMessageEvent.source - Web APIs
examples when the following code is used inside the main thread to set up a message channel between it and a service worker for
sending messages between the two, the event object of onmessage will be a serviceworkermessageevent.
ServiceWorkerMessageEvent - Web APIs
examples when the following code is used inside the main thread to set up a message channel between it and a service worker for
sending messages between the two, the event object of onmessage will be a serviceworkermessageevent.
Using Service Workers - Web APIs
request(); request.open('get', url); request.responsetype = 'blob'; request.onload = () => { if (request.status == 200) { resolve(request.response); } else { reject(error('image didn\'t load successfully; error code:' + request.statustext)); } }; request.onerror = () => { reject(error('there was a network error.')); }; request.
send(); }); } we return a new promise using the promise() constructor, which takes as an argument a callback function with resolve and reject parameters.
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.
SharedWorkerGlobalScope: connect event - Web APIs
the connecting port can be referenced through the event object's ports parameter; this reference can have an onmessage handler attached to it to handle messages coming in through the port, and its postmessage() method can be used to
send messages back to the main thread using the worker.
Slottable - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
SourceBuffer - Web APIs
listener('updateend', function (_) { mediasource.endofstream(); video.play(); //console.log(mediasource.readystate); // ended }); sourcebuffer.appendbuffer(buf); }); } function fetchab (url, cb) { console.log(url); var xhr = new xmlhttprequest; xhr.open('get', url); xhr.responsetype = 'arraybuffer'; xhr.onload = function () { cb(xhr.response); }; xhr.
send(); } specifications specification status comment media source extensionsthe definition of 'sourcebuffer' in that specification.
Storage Access API - Web APIs
scripts, images, stylesheets, etc.) will load with access to their first-party storage, which means they may
send cookie headers and honor incoming set-cookie headers.
Using writable streams - Web APIs
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(); const encoded = encoder.enc...
URLUtilsReadOnly - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
USBIsochronousOutTransferResult - Web APIs
properties usbisochronousouttransferresult.packetsread only returns an array of usbisochronousouttransferpacket objects containing the result of each request to
send a packet to the device.
WebGLRenderingContext - Web APIs
the webgl rendering context is an interface, through which you can set and query the state of the graphics machine,
send data to the webgl, and execute draw commands.
Detect WebGL - Web APIs
the webgl rendering context is an interface, through which you can set and query the state of the graphics machine,
send data to the webgl, and execute draw commands.
Adding 2D content to a WebGL context - Web APIs
// function loadshader(gl, type, source) { const shader = gl.createshader(type); //
send the source to the shader object gl.shadersource(shader, source); // compile the shader program gl.compileshader(shader); // see if it compiled successfully if (!gl.getshaderparameter(shader, gl.compile_status)) { alert('an error occurred compiling the shaders: ' + gl.getshaderinfolog(shader)); gl.deleteshader(shader); return null; } return shader; } the loadshade...
Creating 3D objects using WebGL - Web APIs
const indices = [ 0, 1, 2, 0, 2, 3, // front 4, 5, 6, 4, 6, 7, // back 8, 9, 10, 8, 10, 11, // top 12, 13, 14, 12, 14, 15, // bottom 16, 17, 18, 16, 18, 19, // right 20, 21, 22, 20, 22, 23, // left ]; // now
send the element array to gl gl.bufferdata(gl.element_array_buffer, new uint16array(indices), gl.static_draw); return { position: positionbuffer, color: colorbuffer, indices: indexbuffer, }; } the indices array defines each face like a pair of triangles, specifying each triangle's vertices as an index into the cube's vertex arrays.
Lighting in WebGL - Web APIs
return { position: positionbuffer, normal: normalbuffer, texturecoord: texturecoordbuffer, indices: indexbuffer, }; this should look pretty familiar by now; we create a new buffer, bind it to be the buffer we're working with, then
send along our array of vertex normals into the buffer by calling bufferdata().
WebGL best practices - Web APIs
flush when expecting results (like queries or rendering frame completion) flush tells the implementation to push all pending commands out for execution, flushing them out of the queue, instead of waiting for more commands to enqueue before
sending for execution.
WebGL model view projection - Web APIs
gl_position = projection * view * model * vec4(position, 1.0); after this step, the gpu pipeline will clip the out of range vertices, and
send the model down to the fragment shader for rasterization.
WebSocket.onopen - Web APIs
the websocket.onopen property is an eventhandler that is called when the websocket connection's readystate changes to 1; this indicates that the connection is ready to
send and receive data.
WebSocket: open event - Web APIs
const socket = new websocket('ws://localhost:8080'); // connection opened socket.addeventlistener('open', (event) => { socket.
send('hello server!'); }); specifications specification status html living standardthe definition of 'websocket open' in that specification.
Spaces and reference spaces: Spatial tracking in WebXR - Web APIs
<<<--- needs an example --->>> the reset event <<<--- this section probably has problems still; corrections are appreciated --->>> when a discontinuity or break in the native or effective origin of a reference space occurs, the user agent will
send the xrreferencespace a reset event.
Background audio processing using AudioWorklet - Web APIs
h); for (let channelnum = 0; channelnum < channelcount; channelnum++) { let samplecount = input[channelnum].length; for (let i = 0; i < samplecount; i++) { let sample = input[channelnum][i]; /* manipulate the sample */ output[channelnum][i] = sample; } } }; return true; } note that when determining the number of sources to process and
send through to the corresponding outputs, we use math.min() to ensure that we only process as many channels as we have room for in the output list.
Web Audio API - Web APIs
once the sound has been sufficiently processed for the intended effect, it can be linked to the input of a destination (audiocontext.destination), which
sends the sound to the speakers or headphones.
Attestation and Assertion - Web APIs
assertion when a user chooses to log into a service, the server
sends a challenge and the authenticator signs over it with a key pair previously registered to that service.
Functions and classes available to Web Workers - Web APIs
8 (8) no support no support no support formdata formdata objects provide a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the xmlhttprequest
send() method.
Web Workers API - Web APIs
data is sent between workers and the main thread via a system of messages — both sides
send their messages using the postmessage() method, and respond to messages via the onmessage event handler (the message is contained within the message event's data property).
Window.customElements - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
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.
Window.event - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
window.location - Web APIs
t dialog: function showloc() { var olocation = location, alog = ["property (typeof): value", "location (" + (typeof olocation) + "): " + olocation ]; for (var sprop in olocation){ alog.push(sprop + " (" + (typeof olocation[sprop]) + "): " + (olocation[sprop] || "n/a")); } alert(alog.join("\n")); } // in html: <button onclick="showloc();">show location properties</button> example #5:
send a string of data to the server by modifying the search property: function
senddata (sdata) { location.search = sdata; } // in html: <button onclick="
senddata('some data');">
send data</button> the current url with "?some%20data" appended is sent to the server (if no action is taken by the server, the current document is reloaded with the modified search string).
Window: message event - Web APIs
bubbles no cancelable no interface messageevent event handler property onmessage examples suppose a script
sends a message to a different browsing context, such as another <iframe>, using code like this: const targetframe = window.top.frames[1]; const targetorigin = 'https://example.org'; const windowmessagebutton = document.queryselector('#window-message'); windowmessagebutton.addeventlistener('click', () => { targetframe.postmessage('hello there', targetorigin); }); the receiver can listen for the message using addeventlistener() with code like this: window.addeventlis...
Window.minimize() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window.open() - Web APIs
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.
Window.openDialog() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window.print() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window.prompt() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window.restore() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window.routeEvent() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window.scroll() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window.scrollBy() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window.setCursor() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window.stop() - Web APIs
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.
Window - Web APIs
window.postmessage() provides a secure means for one window to
send a string of data to another window, which need not be within the same domain as the first.
WindowOrWorkerGlobalScope.setTimeout() - Web APIs
polyfill if you need to pass one or more arguments to your callback function, but need it to work in browsers which don't support
sending additional arguments using either settimeout() or setinterval() (e.g., internet explorer 9 and below), you can include this polyfill to enable the html5 standard arguments-passing functionality.
Worklet.addModule() - Web APIs
options optional an object with any of the following options: credentials: a requestcredentials value that indicates whether to
send credentials (e.g.
XDomainRequest.abort() - Web APIs
syntax xdr.abort(); example var xdr = new xdomainrequest(); xdr.open("get", "http://example.com/api/method"); xdr.
send(); xdr.abort(); specification not part of any specification.
XDomainRequest.onerror - Web APIs
example var xdr = new xdomainrequest(); xdr.open("post", "http://example.com/api/method"); xdr.onerror = function(){ //handle error } xdr.onload = function(){ //handle response with xdr.responsetext } xdr.
send("param1=value1¶m2=value2"); specification not part of any specification.
XDomainRequest.onload - Web APIs
syntax xdr.onload = funcref; example var xdr = new xdomainrequest(); xdr.open("post", "http://example.com/api/method"); xdr.onload = function(){ //handle response with xdr.responsetext } xdr.
send("param1=value1¶m2=value2"); specification not part of any specification.
XDomainRequest.onprogress - Web APIs
example var xdr = new xdomainrequest(); xdr.open("post", "http://example.com/api/method"); xdr.onprogress = function(){ //handle partial response with xdr.responsetext } xdr.onload = function(){ //handle response with xdr.responsetext } xdr.
send("param1=value1¶m2=value2"); specification not part of any specification.
XDomainRequest.ontimeout - Web APIs
example var xdr = new xdomainrequest(); xdr.open("post", "http://example.com/api/method"); xdr.ontimeout = function(){ //handle timeout } xdr.onload = function(){ //handle response with xdr.responsetext } xdr.
send("param1=value1¶m2=value2"); specification not part of any specification.
How to check the security state of an XMLHTTPRequest over SSL - Web APIs
} } catch(err) { alert(err); } } function test(url) { var req = cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createinstance(); req.open('get', url, true); req.addeventlistener("error", function(e) { var error = createtcperrorfromfailedxhr(req); dumpsecurityinfo(req, error); }, false); req.onload = function(e) { dumpsecurityinfo(req); }; req.
send(); } then test("https://addons.mozilla.org"); produced the following output in my console: connection status: succeeded security info: security state: secure common name (cn) = addons.mozilla.org organisation = mozilla corporation issuer = verisign, inc.
XMLHttpRequest.abort() - Web APIs
var xhr = new xmlhttprequest(), method = "get", url = "https://developer.mozilla.org/"; xhr.open(method, url, true); xhr.
send(); if (oh_noes_we_need_to_cancel_right_now_or_else) { xhr.abort(); } specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequest: abort event - Web APIs
event); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } function runxhr(url) { log.textcontent = ''; 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(); }); res...
XMLHttpRequest: error event - Web APIs
event); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } function runxhr(url) { log.textcontent = ''; 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(); }); res...
XMLHttpRequest.getAllResponseHeaders() - Web APIs
var request = new xmlhttprequest(); request.open("get", "foo.txt", true); request.
send(); request.onreadystatechange = function() { if(this.readystate == this.headers_received) { // get the raw header string var headers = request.getallresponseheaders(); // convert the header string 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...
XMLHttpRequest.getResponseHeader() - Web APIs
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: load event - Web APIs
event); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } function runxhr(url) { log.textcontent = ''; 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(); }); res...
XMLHttpRequest: loadend event - Web APIs
event); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } function runxhr(url) { log.textcontent = ''; 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(); }); res...
XMLHttpRequest: loadstart event - Web APIs
event); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } function runxhr(url) { log.textcontent = ''; 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(); }); res...
XMLHttpRequest: progress event - Web APIs
event); xhr.addeventlistener('load', handleevent); xhr.addeventlistener('loadend', handleevent); xhr.addeventlistener('progress', handleevent); xhr.addeventlistener('error', handleevent); xhr.addeventlistener('abort', handleevent); } function runxhr(url) { log.textcontent = ''; 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(); }); res...
XMLHttpRequest.responseType - Web APIs
when setting responsetype to a particular value, the author should make sure that the server is actually
sending a response compatible with that format.
XMLHttpRequest.responseURL - Web APIs
example var xhr = new xmlhttprequest(); xhr.open('get', 'http://example.com/test', true); xhr.onload = function () { console.log(xhr.responseurl); // http://example.com/test }; xhr.
send(null); specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequest.responseXML - Web APIs
example var xhr = new xmlhttprequest; xhr.open('get', '/server'); // if specified, responsetype must be empty string or "document" xhr.responsetype = 'document'; // force the response to be parsed as xml xhr.overridemimetype('text/xml'); xhr.onload = function () { if (xhr.readystate === xhr.done && xhr.status === 200) { console.log(xhr.response, xhr.responsexml); } }; xhr.
send(); specifications specification status comment xmlhttprequestthe definition of 'responsexml' in that specification.
XMLHttpRequest.status - Web APIs
example var xhr = new xmlhttprequest(); console.log('unsent: ', xhr.status); xhr.open('get', '/server'); console.log('opened: ', xhr.status); xhr.onprogress = function () { console.log('loading: ', xhr.status); }; xhr.onload = function () { console.log('done: ', xhr.status); }; xhr.
send(); /** * outputs the following: * * unsent: 0 * opened: 0 * loading: 200 * done: 200 */ specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequest.statusText - Web APIs
example var xhr = new xmlhttprequest(); console.log('0 unsent', xhr.statustext); xhr.open('get', '/server', true); console.log('1 opened', xhr.statustext); xhr.onprogress = function () { console.log('3 loading', xhr.statustext); }; xhr.onload = function () { console.log('4 done', xhr.statustext); }; xhr.
send(null); /** * outputs the following: * * 0 unsent * 1 opened * 3 loading ok * 4 done ok */ specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequest: timeout event - Web APIs
bubbles no cancelable no interface progressevent event handler property ontimeout examples const client = new xmlhttprequest(); client.open('get', 'http://www.example.org/example.txt'); client.ontimeout = () => { console.error('timeout!!') }; client.
send(); you could also set up the event handler using the addeventlistener() method: client.addeventlistener('timeout', () => { console.error("timeout!!"); }); specifications specification status comment xmlhttprequestthe definition of 'timeout event' in that specification.
XMLHttpRequest.withCredentials - Web APIs
example var xhr = new xmlhttprequest(); xhr.open('get', 'http://example.com/', true); xhr.withcredentials = true; xhr.
send(null); specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequestEventTarget.onabort - Web APIs
example var xmlhttp = new xmlhttprequest(), method = 'get', url = 'https://developer.mozilla.org/'; xmlhttp.open(method, url, true); xmlhttp.onabort = function () { console.log('** the request was aborted'); }; xmlhttp.
send(); //..
XMLHttpRequestEventTarget.onerror - Web APIs
example var xmlhttp = new xmlhttprequest(), method = 'get', url = 'https://developer.mozilla.org/'; xmlhttp.open(method, url, true); xmlhttp.onerror = function () { console.log("** an error occurred during the transaction"); }; xmlhttp.
send(); specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequestEventTarget.onload - Web APIs
example var xmlhttp = new xmlhttprequest(), method = 'get', url = 'https://developer.mozilla.org/'; xmlhttp.open(method, url, true); xmlhttp.onload = function () { // do something with the retrieved data ( found in xmlhttp.response ) }; xmlhttp.
send(); specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequestEventTarget.onloadstart - Web APIs
example var xmlhttp = new xmlhttprequest(), method = 'get', url = 'https://developer.mozilla.org/'; xmlhttp.open(method, url, true); xmlhttp.onloadstart = function () { console.log("download underway"); }; xmlhttp.
send(); specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XMLHttpRequestEventTarget.onprogress - Web APIs
xmlhttprequest.onprogress = function (event) { event.loaded; event.total; }; example var xmlhttp = new xmlhttprequest(), method = 'get', url = 'https://developer.mozilla.org/'; xmlhttp.open(method, url, true); xmlhttp.onprogress = function () { //do something }; xmlhttp.
send(); specifications specification status comment xmlhttprequest living standard whatwg living standard ...
XRSession: select event - Web APIs
the handler fetches the pose representing the target ray for tracked-pointer inputs and
sends the pose's transform to a function called myhandleselectwithray().
XRSession: squeeze event - Web APIs
the handler fetches the pose representing the target ray for tracked-pointer inputs and
sends the pose's transform to a function called myhandlesqueezewithray().
msWriteProfilerMark - Web APIs
for windows xp, this method
sends an event to an event tracing session with traceevent; for systems after windows xp, this method writes an event with eventwrite.
Using the alert role - Accessibility
when this role is added to an element, the browser will
send out an accessible alert event to assistive technology products which can then notify the user about it.
Using the group role - Accessibility
when the role is added to an element, the browser will
send out an accessible group event to assistive technology products which can then notify the user about it.
Using the log role - Accessibility
when this role is added to an element, the browser will
send out an accessible log event to assistive technology products which can then notify the user about it.
Using the status role - Accessibility
when the role is added to an element, the browser will
send out an accessible status event to assistive technology products which can then notify the user about it.
ARIA: textbox role - Accessibility
description when an element has the textbox role, the browser
sends an accessible textbox event to assistive technologies, which can then notify the user about it.
Alerts - Accessibility
" id="email" aria-required="true"/> <br /> <label for="website">website (optional):</label> <input name="website" id="website"/> </fieldset> <label for="message">please enter your message (required):</label> <br /> <textarea name="message" id="message" rows="5" cols="80" aria-required="true"></textarea> <br /> <input type="submit" name="submit" value="
send message"/> <input type="reset" name="reset" value="reset form"/> </form> checking for validity and notifying the user form validations consists of several steps: checking if the e-mail address or entered name are valid.
Web accessibility for seizures and physical reactions - Accessibility
light-level from w3c's draft document, media queries level 5 section on light-level: "the light-level media feature is used to query about the ambient light-level in which the device is used, to allow the author to adjust style of the document in response." this will be a god
send to those who have motor-skills problems, or for some with cognitive difficulties, who cannot find the right "button" to change their screen settings.
Text labels and names - Accessibility
<input type="checkbox" id="terms"> </label> <input type="checkbox" id="emailoptin"> <label for="emailoptin">yes, please
send me news about this product.</label> form elements should have a visible text label in addition to having a <label> for every form element, those labels should be visible, not hidden.
Border-radius generator - CSS: Cascading Style Sheets
nt('span'); info.classname = 'ui-input-slider-info'; info.textcontent = name; node.appendchild(info); } node.appendchild(slider_left); node.appendchild(input); node.appendchild(slider_right); node.classname = 'ui-input-slider ui-input-slider-container'; this.input = input; sliders[topic] = this; setvalue(topic, value); } var setvalue = function setvalue(topic, value,
send_notify) { var slider = sliders[topic]; if (slider === undefined) return; if (value > slider.max) value = slider.max; if (value < slider.min) value = slider.min; slider.value = value; slider.node.setattribute('data-value', value); if (
send_notify !== undefined &&
send_notify === false) { slider.input.value = value + slider.unit; return; } notify.call(slider); } va...
Color picker tool - CSS: Cascading Style Sheets
name; node.appendchild(info); } node.appendchild(slider_left); node.appendchild(input); node.appendchild(slider_right); this.input = input; sliders[topic] = this; setvalue(topic, value); }; inputslider.prototype.setinputvalue = function setinputvalue() { this.input.value = this.value.tofixed(this.precision) + this.unit; }; var setvalue = function setvalue(topic, value,
send_notify) { var slider = sliders[topic]; if (slider === undefined) return; value = parsefloat(value.tofixed(slider.precision)); if (value > slider.max) value = slider.max; if (value < slider.min) value = slider.min; slider.value = value; slider.node.setattribute('data-value', value); slider.setinputvalue(); if (
send_notify === false) return; notify.call(slider); }; ...
Implementing image sprites in CSS - CSS: Cascading Style Sheets
rather than include each image as a separate image file, it is much more memory- and bandwidth-friendly to
send them as a single image; using background position as a way to distinguish between individual images in the same image file, so the number of http requests is reduced.
Shapes From Images - CSS: Cascading Style Sheets
an image hosted on the same domain as your site should work, however if your images are hosted on a different domain such as on a cdn you should ensure that they are
sending the correct headers to enable them to be used for shapes.
all - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
<angle> - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
width - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
z-index - CSS: Cascading Style Sheets
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
Live streaming web audio and video - Developer guides
through its plugin system, gstreamer provides support for more than a hundred codecs (including mpeg-1, mpeg-2, mpeg-4, h.261, h.263, h.264, realvideo, mp3, wmv, and flv.) gstreamer plugins such as souphttpclientsink and shout2
send exist to stream media over http.
Audio and Video Delivery - Developer guides
eep_together.mp3",true); request.responsetype = "arraybuffer"; request.onload = function() { context.decodeaudiodata(request.response, function(buffer) { source = context.createbuffersource(); source.buffer = buffer; source.connect(context.destination); // auto play source.start(0); // start was previously noteon }); }; request.
send(); } catch(e) { alert('web audio api not supported'); } in this example we retrieve an mp3 file via xhr, load it into a source and play it (try it for yourself).
Audio and video manipulation - Developer guides
selecting an audio source the web audio api can receive audio from a variety of sources, then process it and
send it back out to an audiodestinationnode representing the output device to which the sound is sent after processing.
Rich-Text Editing in Mozilla - Developer guides
uvyksfbwze+awibv0ghfog2ewidchjwriqo9e2fx4xd5r+b0ddaenbxbhbhn2dgwdaqfjjyvhcqyrfgoidgiqjawtcqmriwwmfgicnvcaaamoak+blaortluyt7i5uiuhads=" /> </div> <div id="textbox" contenteditable="true"><p>lorem ipsum</p></div> <p id="editmode"><input type="checkbox" name="switchmode" id="switchbox" onchange="setdocmode(this.checked);" /> <label for="switchbox">show html</label></p> <p><input type="submit" value="
send" /></p> </form> </body> </html> note: if you want to see how to standardize the creation and the insertion of your editor in your page, please see our more complete rich-text editor example.
Making content editable - Developer guides
uvyksfbwze+awibv0ghfog2ewidchjwriqo9e2fx4xd5r+b0ddaenbxbhbhn2dgwdaqfjjyvhcqyrfgoidgiqjawtcqmriwwmfgicnvcaaamoak+blaortluyt7i5uiuhads=" /> </div> <div id="textbox" contenteditable="true"><p>lorem ipsum</p></div> <p id="editmode"><input type="checkbox" name="switchmode" id="switchbox" onchange="setdocmode(this.checked);" /> <label for="switchbox">show html</label></p> <p><input type="submit" value="
send" /></p> </form> </body> </html> note: if you want to see how to standardize the creation and the insertion of your editor in your page, please see our more complete rich-text editor example.
HTML5 - Developer guides
server-sent events allows a server to push events to a client, rather than the classical paradigm where the server could
send data only in response to a client's request.
XHTML - Developer guides
the problems are described in more details in the following articles: beware of xhtml by david hammond
sending xhtml as text/html considered harmful by ian hickson xhtml's dirty little secret by mark pilgrim xhtml - what's the point?
Link types - HTML: Hypertext Markup Language
<a>, <area>, <form> <link> noreferrer prevents the browser, when navigating to another page, to
send this page address, or any other value, as referrer via the referer: http header.
Browser detection using the user agent - HTTP
your site needs to use a specific web feature that some browsers don't yet support, and you want to
send those users to an older web site with fewer features but that you know will work.
Content Security Policy (CSP) - HTTP
a browser capable of enforcing csp would
send the following violation report as a post request to http://example.com/_/csp-reports, when the document is visited: { "csp-report": { "document-uri": "http://example.com/signup.html", "referrer": "", "blocked-uri": "http://example.com/css/style.css", "violated-directive": "style-src cdn.example.com", "original-policy": "default-src 'none'; style-src cdn.example.com; report-...
Accept-Encoding - HTTP
as long as the identity value, meaning no encoding, is not explicitly forbidden, by an identity;q=0 or a *;q=0 without another explicitly set value for identity, the server must never
send back a 406 not acceptable error.
Accept-Language - HTTP
if the server cannot serve any matching language, it can theoretically
send back a 406 (not acceptable) error code.
Access-Control-Allow-Credentials - HTTP
examples allow credentials: access-control-allow-credentials: true using xhr with credentials: var xhr = new xmlhttprequest(); xhr.open('get', 'http://example.com/', true); xhr.withcredentials = true; xhr.
send(null); using fetch with credentials: fetch(url, { credentials: 'include' }) specifications specification status comment fetchthe definition of 'access-control-allow-credentials' in that specification.
Access-Control-Allow-Origin - HTTP
cors and caching if the server
sends a response with an access-control-allow-origin value that is an explicit origin (rather than the "*" wildcard), then the response should also include a vary response header with the value origin — to indicate to browsers that server responses can differ based on the value of the origin request header.
Access-Control-Request-Headers - HTTP
the access-control-request-headers request header is used by browsers when issuing a preflight request, to let the server know which http headers the client might
send when the actual request is made.
Authorization - HTTP
this method is equally secure as
sending the credentials in clear text (base64 is a reversible encoding).
Clear-Site-Data - HTTP
you can achieve that by adding the clear-site-data header when
sending the page confirming that logging out from the site has been accomplished successfully (https://example.com/logout, for example): clear-site-data: "cache", "cookies", "storage", "executioncontexts" clearing cookies if this header is delivered with the response at https://example.com/clear-cookies, all cookies on the same domain https://example.com and any subdomains (like https://stage.examp...
CSP: form-action - HTTP
<meta http-equiv="content-security-policy" content="form-action 'none'"> <form action="javascript:alert('foo')" id="form1" method="post"> <input type="text" name="fieldname" value="fieldvalue"> <input type="submit" id="submit" value="submit"> </form> // error: refused to
send form data because it violates the following // content security policy directive: "form-action 'none'".
Content-Security-Policy-Report-Only - HTTP
a browser capable of enforcing csp will
send the following violation report as a post request to http://example.com/_/csp-reports, when the document is visited: { "csp-report": { "document-uri": "http://example.com/signup.html", "referrer": "", "blocked-uri": "http://example.com/css/style.css", "violated-directive": "style-src cdn.example.com", "original-policy": "default-src 'none'; style-src cdn.example.com; report-...
Date - HTTP
note that date is listed in the forbidden header names in the fetch spec - so this code will not
send date header: fetch('https://httpbin.org/get', { 'headers': { 'date': (new date()).toutcstring() } }) header type general header forbidden header name yes syntax date: <day-name>, <day> <month> <year> <hour>:<minute>:<second> gmt directives <day-name> one of "mon", "tue", "wed", "thu", "fri", "sat", or "sun" (case-sensitive).
From - HTTP
a crawler), the from header should be sent, so you can be contacted if problems occur on servers, such as if the robot is
sending excessive, unwanted, or invalid requests.
If-Match - HTTP
for get and head methods, the server will
send back the requested resource only if it matches one of the listed etags.
If-Modified-Since - HTTP
the if-modified-since request http header makes the request conditional: the server will
send back the requested resource, with a 200 status, only if it has been last modified after the given date.
If-None-Match - HTTP
for get and head methods, the server will
send back the requested resource, with a 200 status, only if it doesn't have an etag matching the given ones.
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.
If-Unmodified-Since - HTTP
the if-unmodified-since request http header makes the request conditional: the server will
send back the requested resource, or accept it in the case of a post or another non-safe method, only if it has not been last modified after the given date.
Keep-Alive - HTTP
the keep-alive general header allows the
sender to hint about how the connection may be used to set a timeout and a maximum amount of requests.
Location - HTTP
all responses with one of these status codes
send a location header.
Proxy-Authorization - HTTP
this method is equally secure as
sending the credentials in clear text (base64 is a reversible encoding).
Public-Key-Pins-Report-Only - HTTP
the http public-key-pins-report-only response header was used to
send reports of pinning violation to the report-uri specified in the header but, unlike public-key-pins still allows browsers to connect to the server if the pinning is violated.
Retry-After - HTTP
it is useful to
send it along with a 503 (service unavailable) response, so that search engines will keep indexing your site when the downtime is over.
Set-Cookie2 - HTTP
the obsolete set-cookie2 http response header used to
send cookies from the server to the user agent, but has been deprecated by the specification.
Trailer - HTTP
the trailer response header allows the
sender to include additional fields at the end of chunked messages in order to supply metadata that might be dynamically generated while the message body is sent, such as a message integrity check, digital signature, or post-processing status.
Upgrade-Insecure-Requests - HTTP
the http upgrade-insecure-requests request header
sends a signal to the server expressing the client’s preference for an encrypted and authenticated response, and that it can successfully handle the upgrade-insecure-requests csp directive.
Via - HTTP
it is used for tracking message forwards, avoiding request loops, and identifying the protocol capabilities of
senders along the request/response chain.
X-DNS-Prefetch-Control - HTTP
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".
OPTIONS - HTTP
ions 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.
POST - HTTP
the http post method
sends data to the server.
break - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
class - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
const - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
continue - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
do...while - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
for...in - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
for...of - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
for - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
function* - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
function declaration - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
if...else - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
import - JavaScript
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 getusefulcontents(url, callback) { getjson(url, data => callback(json.parse(data))); } the main program: main.js import { getusefulcontents } from '/modules/file.js'; getusefulcontents('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 butt...
label - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
let - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
return - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
switch - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
throw - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
try...catch - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
var - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
while - JavaScript
if you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and
send us a pull request.
Web media technologies
web audio api the web audio api lets you generate, filter, and manipulate sound data both in real-time and on pre-recorded material, then
send that audio to a destination such as an <audio> element, a media stream, or to disk.
Performance fundamentals - Web Performance
if so, edit the static files to remove any private information, then
send them to others for help (submit a bugzilla report, for example, or host it on a server and share the url).
Web Performance
performance bottlenecks understanding bandwidth bandwidth is the amount of data measured in megabits(mb) or kilobits(kb) that one can
send per second.
Mixed content - Web security
<object> (data attribute) navigator.
sendbeacon (url attribute) other resource types like web fonts and workers may be considered active mixed content, as they are in chrome.
Subdomain takeovers - Web security
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.
Tutorials
registering and logging in,
sending feedback, buying products, and more.
Introduction to using XPath in JavaScript - XPath
var req = new xmlhttprequest(); req.open("get", "chrome://yourextension/content/peopledb.xml", false); req.
send(null); var xmldoc = req.responsexml; var nsresolver = xmldoc.creatensresolver( xmldoc.ownerdocument == null ?
Advanced Example - XSLT: Extensible Stylesheet Language Transformations
<div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> <div>10</div> </div> // javascript var xslref; var xslloaded = false; var xsltprocessor = new xsltprocessor(); var mydom; var xmlref = document.implementation.createdocument("", "", null); function sort() { if (!xslloaded){ p = new xmlhttprequest(); p.open("get", "example2.xsl", false); p.
send(null); xslref = p.responsexml; xsltprocessor.importstylesheet(xslref); xslloaded = true; } // create a new xml document in memory xmlref = document.implementation.createdocument("", "", null); // we want to move a part of the dom from an html document to an xml document.
Basic Example - XSLT: Extensible Stylesheet Language Transformations
figure 6 : example var xslstylesheet; var xsltprocessor = new xsltprocessor(); var mydom; var xmldoc; function init(){ // load the xslt file, example1.xsl var myxmlhttprequest = new xmlhttprequest(); myxmlhttprequest.open("get", "example1.xsl", false); myxmlhttprequest.
send(null); xslstylesheet = myxmlhttprequest.responsexml; xsltprocessor.importstylesheet(xslstylesheet); // load the xml file, example1.xml myxmlhttprequest = new xmlhttprequest(); myxmlhttprequest.open("get", "example1.xml", false); myxmlhttprequest.
send(null); xmldoc = myxmlhttprequest.responsexml; var fragment = xsltprocessor.transformtofragment(xmldoc, document); document.g...
JavaScript/XSLT Bindings - XSLT: Extensible Stylesheet Language Transformations
figure 1 : instantiating an xsltprocessor var xsltprocessor = new xsltprocessor(); // load the xsl file using synchronous (third param is set to false) xmlhttprequest var myxmlhttprequest = new xmlhttprequest(); myxmlhttprequest.open("get", "example.xsl", false); myxmlhttprequest.
send(null); var xslref = myxmlhttprequest.responsexml; // finally import the .xsl xsltprocessor.importstylesheet(xslref); for the actual transformation, xsltprocessor requires an xml document, which is used in conjunction with the imported xsl file to produce the final result.
WebAssembly
if you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and
send us a pull request.