Baseline Widely available
ã¡ã¢: ãã®æ©è½ã¯ã¦ã§ãã¯ã¼ã«ã¼å ã§å©ç¨å¯è½ã§ãã
MessageChannel()
㯠MessageChannel
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ã2 ã¤ã®æ°ãã MessagePort
ãªãã¸ã§ã¯ããæã¤æ°ãã MessageChannel
ãªãã¸ã§ã¯ããè¿ãã¾ãã
ãªã (undefined
)ã
æ°ãã MessageChannel
ãªãã¸ã§ã¯ãã
次ã®ã³ã¼ããããã¯ã§ã¯ãMessageChannel()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã使ç¨ãã¦ä½æãããæ°ãããã£ã³ãã«ãç¥ããã¨ãã§ãã¾ãã <iframe>
ãèªã¿è¾¼ã¾ããã¨ãMessagePort.postMessage
ã«ã¡ãã»ã¼ã¸ãæ·»ã㦠MessageChannel.port2
ã <iframe>
ã¸æ¸¡ãã¾ãã ããã¨ãhandleMessage
ãã³ãã©ã¼ã <iframe>
ããè¿éãããã¡ãã»ã¼ã¸ã« (MessagePort.message_event
ã使ç¨ãã¦) è¿çãããããæ®µè½ã«æ¿å
¥ãã¾ãã port1
ã¯ããã¤ã¡ãã»ã¼ã¸ãå°çãã¦ãããã©ããããã§ãã¯ããããã«å¾
ã¡åãããã¾ãã
const channel = new MessageChannel();
const para = document.querySelector("p");
const ifr = document.querySelector("iframe");
const otherWindow = ifr.contentWindow;
ifr.addEventListener("load", iframeLoaded, false);
function iframeLoaded() {
otherWindow.postMessage("Hello from the main page!", "*", [channel.port2]);
}
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
para.innerHTML = e.data;
}
å®å ¨ã«åä½ããä¾ã¯ãGithub ä¸ã® channel messaging basic demo ãåç §ãã¦ãã ãã (å®éã®ãã¢ãå®è¡ã§ãã¾ã)ã
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ å ±RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4