页面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...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。