夿³¨ï¼ æ¤ç¹æ§å¨ Web Worker ä¸å¯ç¨ã
Channel Messaging API å
许两个è¿è¡å¨åä¸ä¸ªææ¡£çä¸åæµè§ä¸ä¸æï¼æ¯å¦ä¸¤ä¸ª iframeï¼æè
ææ¡£ä¸»ä½åä¸ä¸ª iframeï¼ä½¿ç¨ SharedWorker
çä¸¤ä¸ªææ¡£ï¼æè
两个 workerï¼ä¸çç¬ç«èæ¬ç´æ¥è¿è¡é讯ï¼å¨æ¯ç«¯ä½¿ç¨ä¸ä¸ªç«¯å£ï¼portï¼éè¿ååé¢éï¼channelï¼æç®¡éï¼pipeï¼åå½¼æ¤ä¼ éæ¶æ¯ã
ä½¿ç¨ MessageChannel()
æé 彿°æ¥åå»ºæ¶æ¯é¢éã䏿¦å建ï¼å¯ä»¥éè¿ MessageChannel.port1
å MessageChannel.port2
屿§è®¿é®é¢éç两个端å£ï¼è¿ä¸¤ä¸ªå±æ§é½ä¼è¿å MessagePort
对象ï¼ãå建é¢éçåºç¨ç¨åºä½¿ç¨ port1
ï¼å¨å¦ä¸ç«¯çç¨åºä½¿ç¨ port2
ââä½ å port2
åéä¿¡æ¯ï¼ç¶åæºå¸¦ 2 ä¸ªåæ°ï¼éè¦ä¼ éçæ¶æ¯ï¼è¦ä¼ éæææç对象ï¼å¨è¿ç§æ
åµä¸æ¯ç«¯å£èªèº«ï¼è°ç¨ window.postMessage
æ¹æ³å°ç«¯å£ä¼ éå°å¦ä¸ä¸ªæµè§å¨ä¸ä¸æã
å½è¿äºå¯è½¬ç§»çå¯¹è±¡è¢«ä¼ éåï¼å®ä»¬å°±ä»ä¹åæå±çä¸ä¸æä¸æ¶å¤±äºãæ¯å¦ä¸ä¸ªç«¯å£ï¼ä¸æ¦è¢«åéï¼å¨åæ¬çä¸ä¸æä¸å°±åä¹ä¸å¯ç¨äºã
å¦ä¸ä¸ªæµè§å¨ä¸ä¸æå¯ä»¥ä½¿ç¨ onmessage
çå¬ä¿¡æ¯ï¼å¹¶ä½¿ç¨äºä»¶ç data
屿§è·åæ¶æ¯å
容ãä½ å¯ä»¥éè¿ MessagePort.postMessage
å°æ¶æ¯åéååå§ææ¡£è¿è¡ååºã
å½ä½ æ³è¦åæ¢éè¿é¢éåéæ¶æ¯æ¶ï¼ä½ å¯ä»¥è°ç¨ MessagePort.close
æ¥å
³é端å£ã
请åé 使ç¨é¢éä¼ éæ¶æ¯ï¼äºè§£æå ³å¦ä½ä½¿ç¨æ¤ API çæ´å¤ä¿¡æ¯ã
æ¥å£MessageChannel
å建ä¸ä¸ªæ°çæ¶æ¯é¢éæ¥åéæ¶æ¯ã
MessagePort
æ§å¶æ¶æ¯é¢éç端å£ï¼å 许ä»ä¸ä¸ªç«¯å£åéæ¶æ¯ï¼å¹¶çå¬å°è¾¾å¦ä¸ä¸ªç«¯å£ã
<iframe>
é´çé常ç®åçæ¶æ¯ä¼ éã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