IFrame消息傳遞

第一種IFrame通訊:post

 

//這個消息從A的做用域發出this

this.contentWindow.postMessage({}, "*");spa

//B做用域開啓監聽獲取A發過來的消息code

window.addEventListener('message', function (event) {
});對象

//B向A發出消息blog

window.parent.postMessage({ }, '*');作用域

//反過來A接收B發過來的消息get

window.addEventListener('message', function (event) {
});io

第二種IFrame通訊:event

//D向E通訊

document.getElementById('E IFrame 的ID').contentWindow.postMessage({}, '*'); 

//接收消息都是同一種方式

window.addEventListener('message', function (event) {
});

---實際運用

       //發出消息
            this.contentWindow.postMessage({
                type: 'message-1',
                body: {
                    args: '消息內容 能夠是任何對象'
                }
            }, '*');
            //發出消息
            document.getElementById('outpAdmissionOrderFrame').contentWindow.postMessage({
                type: 'message-2',
                body: {
                    args: '消息內容 能夠是任何對象'
                }
            }, '*');
            //接收消息
            window.addEventListener('message', function event(event) {
                if (event.data.type === "message-2") {
                    //event.data.body獲取消息內容
                    //處理
                } else if(event.data.type === "message-1"){
                    //event.data.body獲取消息內容
                    //處理
                }
            });
相關文章
相關標籤/搜索