postmessage語法:
環境:頁面a已經將頁面b引入成子頁面,a向它的子頁面b傳資料則需要在頁面中加乙個iframe然後點postmessage。b頁面向a頁面傳資料則直接 window.parent.postmessage(data ,』』);就可以了
1)父頁面a的語法
document.getelementbyid(「spwindowrd」).src = 「需要呼叫的位址」;
var data = 『』;
spwindow.postmessage(data ,』』);(spwindow是當前頁面的乙個iframe)
2)子頁面b的語法
window.parent.postmessage(data ,』*』);
接收postmessage語法:(ie8或ie8之前的 需要用的是 window.attachevent(『onmessage』),其他的用 window.addeventlistener(『message』)進行監聽別人傳過來的message)
postMessage 跨域訊息傳遞
window.postmessage 方法允許來自乙個文件的指令碼可以傳遞文字訊息到另乙個文件裡的指令碼,而不用管是否跨域。乙個文件裡的指令碼還是不能呼叫在其他文件裡方法和讀取屬性,但他們可以用這種訊息傳遞技術來實現安全的通訊。這項技術稱為 跨文件訊息傳遞 又稱為 視窗間訊息傳遞 或者 跨域訊息傳遞...
解決跨域 三 postMessage
html5為了解決跨域的問題,引入了乙個全新的api 跨文件通訊api cross document messaging 這個api為window物件新增了乙個window.postmessage方法,允許跨視窗通訊,不論這兩個視窗是否同源。postmessage是h5新增的方法,postmessa...
HTML5 postMessage 跨域交換資料
之前簡單講解了利用script標籤 jsonp 以及iframe標籤 window.name location.hash 來跨域交換資料,今天我們來學習一下html5的api,利用postmessage來跨域交換資料。和前面一些方式交換資料方式不同的是,利用postmessage不能和服務端交換資料...