今天介绍一个实用的浏览器跨域方案。
比如 A 网址嵌入了 B 网址的页面,这时 B 网址的页面想要调用 A 网址的页面的方法,因为域名不同,由于浏览器同源策略的限制会被 blocked 掉的。
以下给出一个方法
在 A 网址的写下
window.addEventListener("message",function(obj){
console.log(obj);
});
再在 B 网址的页面里写下
// * 代表向所有窗体发送消息,具体的可参考 HTML5 的 postMessage API
window.top.postMessage("i am here", "*");
这时再刷新页面,进入到 B 网址所在页面,打开控制台,便会发现 i am here 出现在 obj.data 里