判断当前是否在iframe里面,有三种方法
1.方式一
if (window.self.frameElement && window.self.frameElement.tagName == “IFRAME”) {
console.log(‘iframe’);
}
2.方式二
if (window.frames.length != window.parent.frames.length) {
console.log(‘iframe’);
}
3.方式三
if (window.self != window.top) {
console.log(‘iframe’);
}
iframe和顶级窗口通信:
1.postMessage
2.通过window.top对象通信
iframe发消息给顶级窗口
window.top.postMessage(message, ‘*’);
顶级窗口监听消息
window.addEventListener(‘message’,function(e){
var data = e.data;
console.log(data); // message
}, false);