跳到主要内容

HandshakeMessage

Defined in: types.ts:114

握手消息。

Remarks​

这是唯一必须走 window.postMessage 的消息,因为此时还没有信道可用。 它随附一个 MessagePort(transfer 数组的第 0 项):连接器留 port1, 把 port2 交出去;握手之后双向的事件、命令、响应全部走这个端口, 不再出现在 window 总线上。

端口买到的是「握手之后不再被旁听」——跨源 iframe 和后来注入的脚本什么都看不到。 它买不到「握手当时的身份认证」:同 realm 的任何 message 监听器都能读到 同一个 event.ports。这一层由 DevToolsCapability 兜底。

null 载荷是弃用窗口内的兼容形态(旧连接器产出);新连接器一律发送 HandshakePayload。

Extends​

Properties​

direction​

direction: "page-to-devtools";

Defined in: types.ts:116

Overrides​

DevToolsMessage.direction


payload​

payload: HandshakePayload | null;

Defined in: types.ts:92

Inherited from​

DevToolsMessage.payload


sequence​

sequence: number;

Defined in: types.ts:94

Inherited from​

DevToolsMessage.sequence


source​

source: "@aiao/rxdb-devtools";

Defined in: types.ts:89

Inherited from​

DevToolsMessage.source


tabId?​

optional tabId?: number;

Defined in: types.ts:95

Inherited from​

DevToolsMessage.tabId


timestamp​

timestamp: number;

Defined in: types.ts:93

Inherited from​

DevToolsMessage.timestamp


type​

type: "HANDSHAKE";

Defined in: types.ts:115

Overrides​

DevToolsMessage.type