iframe 父子域通訊

2021-09-28 22:33:57 字數 980 閱讀 2336

場景描述:前端常用iframe來嵌入其他網域名稱頁面,通常只是靜態展示;如果是自己系統群的兩個站點巢狀,則可以通過**配合實現互相通訊,實現父子域相互操作。前提是父子網域名稱相同,否則瀏覽器出於安全協議會阻止跨域操作。

我的需求:

站點需要嵌入站點的頁面,且通過操作可以觸發頁面的事件。

以下稱a,稱b

a的配置:

// a嵌入b

"iframeid" src=

"/dataentry/basedata/dataimport/index"

>

<

/iframe>

// 向b傳送資料

document.

getelementbyid

('iframeid'

).contentwindow.

postmessage

(postdata,

'')// 繫結message事件和用於b來觸發的函式receivemsg

window.

addeventlistener

('message'

,this

.receivemsg,

false

)// receivemsg接收b的觸發,e為事件物件

receivemsg

(e),

b的配置:

// 繫結message事件和用於a來觸發的函式receivemsg

window.

addeventlistener

('message'

,this

.receivemsg,

false

)// receivemsg接收a的觸發,e為事件物件

receivemsg

(e),

// b像a傳送資料

postdatatoprent

(val)

iframe跨域父子頁面通訊方法

儘管iframe因相容 效能等問題逐漸被替換掉,但有不少存量專案仍在使用。最近,我們部門一位小夥伴遇到iframe跨域相關問題,詳細如下 問題前置條件 有兩個系統a b 都是銀行存量老系統 a b跨域 a系統中有乙個頁面a b系統中有乙個頁面b b以iframe方式嵌在a頁面中。問題描述 那麼,if...

iframe父子頁面之間通訊 跨域

最近做官網的需求中,涉及到使用iframe。在iframe中會有父子頁面之間的通訊問題是比較頭疼的事情。下面總結下跨域情況下父子頁面之間怎麼進行通訊。父頁面 網域名稱1 子頁面 網域名稱2。父頁面 iframedom src 將引數放在req中,通過src傳到子頁面中 子頁面 var search ...

iframe之父子頁面通訊

iframe之父子頁面通訊 1 獲取 子頁面 的 window 物件 在父頁面中,存在如下兩個物件 window.frames document.iframeelement.contentwindow 可以獲取到 子頁面 window 物件 iframe id document.getelement...