首頁 > web前端 > js教程 > 如何實作IFrame與其父網站之間的跨域通訊?

如何實作IFrame與其父網站之間的跨域通訊?

Barbara Streisand
發布: 2024-11-27 01:06:13
原創
360 人瀏覽過

How Can I Enable Cross-Domain Communication Between an IFrame and Its Parent Website?

iFrame 與父站點之間的跨域通訊

當iframe 的網站駐留在不同網域時,iframe 與父站點之間可以直接通訊父網站成為一個挑戰。然而,跨文檔訊息傳遞可以彌補這一差距。

父級到Iframe 通訊

在父視窗中,您可以使用postMessage() 向iframe 的contentWindow:

myIframe.contentWindow.postMessage('hello', '*');
登入後複製

在ife端,onmessage事件可以捕獲並處理message:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};
登入後複製
登入後複製

iframe 到父窗口的通訊

要將訊息從iframe 傳送到父窗口,可以將postMessage() 與window.top一起使用作為目標:

window.top.postMessage('hello', '*')
登入後複製

在父視窗中,onmessage 事件會接收並處理iframe 的message:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};
登入後複製
登入後複製

透過利用跨文件訊息傳遞,您可以在來自不同域的iframe 與其父站點之間建立雙向通訊。

以上是如何實作IFrame與其父網站之間的跨域通訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板