頁面A中有一個<iframe>標籤。<iframe>標籤的src屬性指向的跨域頁面B,跨域頁面B通過postMessage方式傳遞信息。現在在頁面A中想要獲取跨域頁面B傳遞來的信息。
實現方式是監聽A頁面的"message"事件。考慮是vue2框架。其實現方式與原生html有稍許不同。
在vue的mounted生命週期裏添加
mounted() {
window.addEventListener("message", this.handleIframeMessage)
}
要在頁面銷燬時取消監聽,這裏可以在beforeDestory生命週期裏使用removeEventListener。
但推薦使用$once。也是mounted聲明週期裏
this.$once("hook:beforeDestroy", () => {
window.removeEventListener("message", this.handleIframeMessage);
})
完結。
同步更新到自己的語雀:
https://www.yuque.com/diracke...