MessageChannel: port1 property
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
Note: This feature is available in Web Workers.
Thuộc tính chỉ đọc port1 của giao diện MessageChannel trả về cổng đầu tiên của kênh tin nhắn, là cổng được gắn với ngữ cảnh đã tạo ra kênh.
Giá trị
Một đối tượng MessagePort, là cổng đầu tiên của kênh, gắn với ngữ cảnh đã khởi tạo kênh.
Ví dụ
Trong đoạn mã sau, bạn có thể thấy một kênh mới được tạo bằng hàm khởi tạo MessageChannel(). Khi <iframe> đã tải, chúng ta truyền port2 đến <iframe> bằng MessagePort.postMessage cùng với một tin nhắn. Trình xử lý handleMessage phản hồi tin nhắn gửi lại từ <iframe> (bằng onmessage), đưa nó vào một đoạn văn. Phương thức handleMessage được liên kết với port1 để lắng nghe khi tin nhắn đến.
const channel = new MessageChannel();
const para = document.querySelector("p");
const ifr = document.querySelector("iframe");
const otherWindow = ifr.contentWindow;
ifr.addEventListener("load", iframeLoaded);
function iframeLoaded() {
otherWindow.postMessage("Hello from the main page!", "*", [channel.port2]);
}
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
para.innerHTML = e.data;
}
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| HTML> # dom-messagechannel-port1-dev> |