利用postmessage跨域向子页面传父页面的window对象代码:1.父页面 window_parent = this.window; var ifr = document.getElementsByClassName('video_iframe'); ifr.contentWindow.postMessage(window_parent,target);2.iframe页面window.addEventListener('message',function(event){ if(event.origin == 'https://xxx.com'){ this.window = event.data; }},false);报错:postMessage这个api,MDN上说的是可以传对象的,却报这样的错
5 回答

哔哔one
TA贡献1854条经验 获得超8个赞
序列化一个对象,你可以用JSON.stringfy(obj),但是这里有一个问题,window对象结构复杂,你将会面临circular reference,所以,有个折中方案,就是你需要window的属性,将这些属性提取出来,拼装成一个新对象即可。
参考代码如下:
var data = JSON.stringify({
'location': window.location
// etc
});
添加回答
举报
0/150
提交
取消