Presentation API

This article needs a technical review. How you can help.

This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The following content of Presentation API is mainly quoted from W3C Working Draft dated as

Presentation concepts and usage

The Presentation API is developed to effectively display web content through large scale presentation devices such as projectors and connected TVs. The relevant multimedia devices include wired displays, such as HDMI, DVI, or similar, and wireless technologies like Miracast, Chromecast, DLNA, or AirPlay.

Basically, a web page which uses PresentationRequest can be defined as a controller page. The content to be displayed in those devices is represented as separate pages. With the PresentationRequest, a controller page describes the location of the to-be-displayed content, then asks the browser to provide a presentation device to pass the content using PresentationRequest.start() and stops content passing with PresentationConnection.terminate().


In controlling browsing context, the Presentation interface provides a mechanism to override the browser default behavior of launching presentation to external screen. In receiving browsing context, Presentation interface provides the access to the available presentation connections.
Being associated with a request, a PresentationRequest object is used to initiate or reconnect to a presentation made by a controlling browsing context.
A PresentationAvailability object is associated with available presentation displays and represents the presentation display availability for a presentation request.
The PresentationConnectionAvailableEvent is fired on a PresentationRequest when a connection associated with the object is created.
Each presentation connection is represented by a PresentationConnection object.
A PresentationConnectionClosedEvent is fired when a presentation connection enters a closed state.
The PresentationReceiver allows a receiving browsing context to access the controlling browsing contexts and communicate with them.
PresentationConnectionList represents the collection of non-terminated presentation connections. It is also a monitor for the event of new available presentation connection.


The Presentation API is not currently supported anywhere yet. We had planned to add examples once supporting builds are available later this year.


Specification Status Comment
Presentation API Editor's Draft Initial definition.

Browser Compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support


? ? ? ?
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support No support ? ? ? ? ? 48.0


Document Tags and Contributors

 Contributors to this page: MashKao, rolfedh, jpmedley
 Last updated by: MashKao,