前端问题记录

记录一下前端开发过程中遇到的问题。

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('子页面要传递的消息内容','*')