postMessage解決跨域、跨窗口消息傳遞

平時(shí)做web開(kāi)發(fā)的時(shí)候關(guān)于消息傳遞,除了客戶(hù)端與服務(wù)器傳值還有幾個(gè)經(jīng)常會(huì)遇到的問(wèn)題

1.頁(yè)面和其打開(kāi)的新窗口的數(shù)據(jù)傳遞

2.多窗口之間消息傳遞

3.頁(yè)面與嵌套的iframe消息傳遞

4.上面三個(gè)問(wèn)題的跨域數(shù)據(jù)傳遞
postMessage()

這些問(wèn)題都有一些解決辦法,但html5引入的message的API可以更方便、有效、安全的解決這些難題。postMessage()方法允許來(lái)自不同源的腳本采用異步方式進(jìn)行有限的通信,可以實(shí)現(xiàn)跨文本檔、多窗口、跨域消息傳遞。

postMessage(data,origin)方法接受兩個(gè)參數(shù)
1.data:要傳遞的數(shù)據(jù),html5規(guī)范中提到該參數(shù)可以是JavaScript的任意基本類(lèi)型或可復(fù)制的對(duì)象,然而并不是所有瀏覽器都做到了這點(diǎn)兒,部分瀏覽器只能處理字符串參數(shù),所以我們?cè)趥鬟f參數(shù)的時(shí)候需要使用JSON.stringify()方法對(duì)對(duì)象參數(shù)序列化,在低版本IE中引用json2.js可以實(shí)現(xiàn)類(lèi)似效果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問(wèn)題: 做前端開(kāi)發(fā)所遇到的一些消息傳遞,除了前端和后端消息傳遞之外,還有幾個(gè)經(jīng)常遇到的問(wèn)題。 頁(yè)面和其打開(kāi)的新窗口...
    老95閱讀 271評(píng)論 0 0
  • 平時(shí)做web開(kāi)發(fā)的時(shí)候關(guān)于消息傳遞,除了客戶(hù)端與服務(wù)器傳值還有幾個(gè)經(jīng)常會(huì)遇到的問(wèn)題1.頁(yè)面和其打開(kāi)的新窗口的數(shù)據(jù)傳...
    IT小C閱讀 1,028評(píng)論 0 5
  • 1、名詞解析: broker: 一個(gè)Kafka節(jié)點(diǎn)就是一個(gè)broker,多個(gè)broker可以組成一個(gè)Kafka集群...
    早點(diǎn)起床曬太陽(yáng)閱讀 768評(píng)論 0 0
  • 茫茫歲月,如大海波濤,類(lèi)萬(wàn)里晴空,似白水天涯,恰慷慨激昂。行路無(wú)險(xiǎn),空空蕩蕩如盲人探路,路途多肌膚之痛,方知人情...
    無(wú)羨愛(ài)詩(shī)詩(shī)閱讀 149評(píng)論 0 7
  • 就我個(gè)人而言,這一周相比于前兩周,相對(duì)的比較忙。借用許岑老師的一句話“在平坦的路面上曲折前行”,這句話更直白的說(shuō)法...
    _張金磊_閱讀 219評(píng)論 0 0

友情鏈接更多精彩內(nèi)容