Vue嵌入iframe,兩個工程間的通訊

2021-10-05 07:06:25 字數 1961 閱讀 3395

開發中可能會碰到這種情況:當前工程需要嵌入另乙個工程的頁面,此時兩個工程間的通訊可能就會碰到js跨域的問題。這裡記錄一下我的解決方法。

使用postmessage傳送訊息

使用addeventlistener監聽傳送過來的訊息

父頁面**:

>

>

class

="box"

>

>

當前頁接收的iframe資訊:span

>

style

="color

:red;

">

}span

>

div>

class

="box"

>

placeholder

="輸入內容向iframe傳送"

v-model

="msg.content"

style

="width

:180px;

">

el-input

>

@click

="send"

>

傳送el-button

>

div>

style

="height

:500px

">

:src

="url"

ref="iframe"

style

="height

: 100%;

width

:100%; frameborder=no

" frameborder

="no"

border

="0"

marginwidth

="0"

marginheight

="0"

>

iframe

>

div>

div>

template

>

>

export

default);

},data()

};},

methods:}}

;script

>

iframe頁面**:

>

>

class

="box"

>

>

iframe接收的資訊:span

>

style

="color

:red;

">

}span

>

div>

class

="box"

>

placeholder

="輸入內容向父頁面傳送"

v-model

="msg.content"

style

="width

:180px;

">

el-input

>

@click

="send"

>

傳送el-button

>

div>

div>

template

>

>

export

default);

},data()

};},

methods:}}

;script

>

頁面效果:

如果addeventlistener多次被呼叫,可以試試下面這種方法

window.

onmessage

=function

(event)

vue使用iframe嵌入html,js方法互調

前段時間 使用h5搞了個用cesium.js做的地圖服務功能,後來想整合到vue專案,當然最簡單的就是iframe直接拿來用了。但html和vue的方法互動就是成了問題,vue呼叫html種方法還好,尤其是html呼叫vue中的方法當初就沒有解決,忙著專案上線直接搞了個setinterval不停輪詢...

Vue中嵌入iframe遇到的問題

1.iframe嵌入後在ios中無法滾動的問題。2.iframe嵌入後,設定高度100 出現上下滑動輕微晃動的問題。提供兩種解決辦法,為什麼產生這種晃動的bug還不得而知。解決辦法 1.在iframe元件外層再巢狀一層子元件。即把iframe所在元件引入其他子元件,不把iframe元件直接當做子元件...

Vue使用iframe嵌入外部HTML檔案

專案開發的過程中,我們不可避免的會引入外部已經寫好的html檔案,那在不同的vue腳手架中如何成功引入html檔案呢?如何獲取到html檔案中的值呢?把要引入的檔案 假設是aaa.html檔案 放到static目錄下,在vue介面中引入 把要引入的檔案放到public目錄下,在vue介面中引入 注意...