場景描述:前端常用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...