vue與iframe之間的信息交互

使用場景:在vue中使用百度地圖,須要使用離線地圖

先上代碼 而後細細品 第一張圖
第二張圖
第三張圖

1.首先iframe 引入你要嵌套的地址

2.經過vue中給出的ref 來獲取 ifarme的DOM元素

如圖中的 this.iframeWin = this.$refs.iframe.contentWindow 【拿到iframe的window對象】javascript

3.vue如何向iframe內傳送信息 能夠經過H5新屬性 postmessage

註釋:【postMessage是有點相似於UDP協議,就像短信,是異步的,你發信息過去,可是沒有返回值的,只能內部處理完成之後再經過postMessage向外部發送一個消息,外部監聽message爲了讓postMessage像TCP,爲了體驗像同步的和實現多通訊互不干擾】vue

具體什麼是postmessage 👉MDN寫的很詳細 developer.mozilla.org/zh-CN/docs/…java

4.經過第二張圖的 cmd來區別這條message的目的

{
  cmd: '命令',
  params: {
    '鍵1': '值1',
    '鍵2': '值2'
  }
}
複製代碼

5.第三張圖 就是接收 父頁面發來的信息 能夠經過 判斷語句寫相應的邏輯

6.第一張圖中 不難看出 能夠監聽到 iframe中的發來的信息

postmessage異步

相關文章
相關標籤/搜索