postMessage的兩種使用方式

小云
1460
2023-08-15 12:18:53
欄目: 編程語言

postMessage是一個(gè)用于跨窗口通信的方法,它有兩種使用方式:

  1. 發(fā)送消息給指定窗口:可以使用postMessage方法將消息發(fā)送給指定的窗口,語法如下:
targetWindow.postMessage(message, targetOrigin);

其中,targetWindow是要接收消息的窗口對(duì)象,可以通過window.open()或者window.frames[index]獲?。籱essage是要發(fā)送的消息,可以是字符串、數(shù)字、對(duì)象等;targetOrigin是一個(gè)字符串,表示目標(biāo)窗口的源,用于過濾消息,可選參數(shù)。

  1. 接收消息:在接收消息的窗口中,可以通過添加一個(gè)message事件監(jiān)聽器來接收消息,語法如下:
window.addEventListener("message", handleMessage);

其中,"message"是事件類型,表示接收到新消息時(shí)觸發(fā);handleMessage是一個(gè)回調(diào)函數(shù),用于處理接收到的消息。在回調(diào)函數(shù)中,可以通過event.data獲取傳遞過來的消息內(nèi)容。

這兩種方式可以配合使用,實(shí)現(xiàn)跨窗口的雙向通信。

0