前端问题记录
记录一下前端开发过程中遇到的问题。
iframe跨域链接父子页面如何通信
因为同源政策,父页面和iframe中的url不是同一个源,导致父页面是不能获取到子页面的事件的
解决办法:
使用window.postMessage
在父页面中:
// Internet Explorer IE浏览器用的
window.attachEvent('onmessage',receiveMessage);
// Opera/Mozilla/Webkit
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event){
console.log(event)
//父页面收到的消息内容 event.data
console.log(event.data)
}
在子页面中:
window.parent.postMessage('子页面要传递的消息内容','*')