Baseline Widely available
夿³¨ï¼ æ¤ç¹æ§å¨ Web Worker ä¸å¯ç¨ã
MessageChannel
æ¥å£ç MessageChannel()
æé 彿°è¿åä¸ä¸ªæ°ç MessageChannel
对象ï¼å
¶ä¸å
å«ä¸¤ä¸ªæ°ç MessagePort
对象ã
æ ï¼undefined
ï¼ã
ä¸ä¸ªæ°ç MessageChannel
对象ã
å¨ä»¥ä¸ç代ç åä¸ï¼ä½ å¯ä»¥çå°ä½¿ç¨ MessageChannel()
æé 彿°åå»ºçæ° Channelãå½ <iframe>
å è½½å®æåï¼æä»¬ä½¿ç¨ MessagePort.postMessage
å° port2
ä¼ éç» <iframe>
ï¼å¹¶é另䏿¡æ¶æ¯ãç¶å handleMessage
å¤çç¨åºååºä» <iframe>
åéåæ¥çæ¶æ¯ï¼ä½¿ç¨ onmessage
ï¼ï¼å¹¶å°å
¶æ¾å
¥ä¸ä¸ªæ®µè½ä¸ãåæ¶çå¬ 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("æ¥èªä¸»é¡µçé®åï¼", "*", [channel.port2]);
}
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
para.innerHTML = e.data;
}
æå ³å®æ´çè¿è¡ç¤ºä¾ï¼è¯·åé æä»¬å¨ GitHub ä¸ç channel messaging åºç¡ç¤ºä¾ï¼ä¹å¯ä»¥å®æ¶è¿è¡å®ã
è§è æµè§å¨å ¼å®¹æ§ åè§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