Книга: JavaScript. Подробное руководство, 6-е издание
MessageChannel
MessageChannel
пара соединенных объектов MessagePorts
Объект MessageChannel
представляет пару соединенных друг с другом объектов MessagePort
. Вызов метода postMessage() в любом из них сгенерирует событие «message* в другом. Если в программе потребуется создать частный канал связи с окном Window
или фоновым потоком выполнения Worker
, можно создать объект MessageChannel
и затем передать один объект MessagePort
из этой пары окну или потоку выполнения (используя аргумент ports метода postMessage()
).
Типы MessageChannel
и MessagePort
являются нововведением, появившимся в спецификации HTML5, и на момент написания этих строк некоторые броузеры поддерживали меж доменный обмен сообщениями (раздел 22.3) и фоновые потоки выполнения (раздел 22.4) без применения частных каналов связи на основе объектов MessagePort
.
Конструктор
new MessageChannel()
Этот конструктор, не имеющий аргументов, возвращает новый объект MessageChannel
.
Свойства
readonly MessagePort port1
readonly MessagePort port2
Два соединенных друг с другом порта, образующих канал обмена данными. Оба порта являются совершенно равноценными: достаточно просто один сохранить в своем программном коде, а другой передать окну Window
или фоновому потоку выполнения Worker
, с которым требуется организовать обмен данными.
- ApplicationCache
- ArrayBuffer
- ArrayBufferView
- Attr
- Audio
- BeforeUnloadEvent
- Blob
- BlobBuilder
- Button
- Canvas
- BlobBuilder
- Button
- Canvas
- CanvasGradient
- CanvasPattern
- CanvasRenderingContext2D
- ClientRect
- CloseEvent
- Comment
- Console
- ConsoleCommandLine
- CSS2Properties
- CSSRule
- CSSStyleDeclaration
- CSSStyleSheet
- DataTransfer
- DataView
- Document
- DocumentFragment
- DocumentType
- DOMException
- DOMImplementation
- DOMSettableTokenList
- DOMTokenList
- Element
- ErrorEvent
- Event
- EventSource
- EventTarget
- FieldSet
- File
- FileError
- FileReader
- FileReaderSync
- Form
- FormControl
- Form Data
- FormValidity
- Geocoordinates
- Geolocation
- GeolocationError
- Geoposition
- HashChangeEvent
- History
- HTMLCollection
- HTMLDocument
- HTMLEIement
- HTMLFormControlsCollection
- HTMLOptionsCollection
- IFrame
- Image
- ImageData
- Input
- jQuery jQuery 1.4
- KeyEvent
- Label
- Link
- Location
- MediaElement
- MediaError
- MessageChannel
- MessageEvent
- MessagePort
- Meter
- MouseEvent
- Navigator
- Node
- NodeList
- Option
- Output
- PageTransitionEvent
- PopStateEvent
- ProcessingInstruction
- Progress
- ProgressEvent
- Screen
- Script
- Select
- Storage
- StorageEvent
- Style
- Table
- TableCell
- TableRow
- TableSection
- Text
- TextArea
- TextMetrics
- TimeRanges
- TypedArray
- URL
- Video
- WebSocket
- Window
- Worker
- WorkerGlobalScope
- WorkerLocation
- WorkerNavigator
- XMLHttpRequest
- XMLHttpRequestUpload