JavaScript由于同源策略的限制,跨域通信一直是棘手的問題。當(dāng)然解決方案也有很多:
1.document.domain+iframe的設(shè)置,應(yīng)用于主域相同而子域不同;
2.利用iframe和location.hash,數(shù)據(jù)直接暴露在了url中,數(shù)據(jù)容量和類型都有限
3.Flash LocalConnection, 對象可在一個 SWF 文件中或多個 SWF 文件間進(jìn)行通信, 只要
在同一客戶端就行,跨應(yīng)用程序, 可以跨域。
window.name 保存數(shù)據(jù)以及跨域 iframe 靜態(tài)代理動態(tài)傳輸方案,充分的運(yùn)用了window.name因?yàn)轫撁娴膗rl改變而name不改變的特性。
各種方案網(wǎng)上都有很多實(shí)例代碼,大家可以自己搜索一下。
html5中最炫酷的API之一:就是 跨文檔消息傳輸Cross Document Messaging。高級瀏覽器Internet Explorer 8+, chrome,F(xiàn)irefox , Opera 和 Safari 都將支持這個功能。這個功能實(shí)現(xiàn)也非常簡單主要包括接受信息的”message”事件和發(fā)送消息的”postMessage”方法。
發(fā)送消息的”postMessage”方法
向外界窗口發(fā)送消息:
新聞熱點(diǎn)
疑難解答