早期版本的postMessage僅支持字符串。后來的版本支持JavaScript對象、canvas imageData 和文件等其他數(shù)據(jù)類型。由于不同瀏覽器對規(guī)范支持的差異,對不同的對象類型的支持情況也 不同。
在一些瀏覽器中,對借由postMessage發(fā)送的JavaScript對象的限制同對JSON數(shù)據(jù)的限制是相同的。具體來講,可能不允許循環(huán)數(shù)據(jù)結(jié)構(gòu)。
Framebusdng技術(shù)可以用來保證某些內(nèi)容不被加栽到iframe中。應(yīng)用程序首先檢測其所在的窗口是否為最外層的窗口(window.top),若不是則跳脫包含它的框架。
不過,你可能會希望借助ifiame導入一些確定的合作網(wǎng)站頁面來充實自身的內(nèi)容。這里有一 種解決方案,即使用postMessage實現(xiàn)iframe與其父頁面間的握手通信。