禁止页面被iframe加载
在响应头里加一个X-Frame-Options
取值有三种,大部分浏览器都支持:
DENY:浏览器拒绝当前页面加载任何Frame页面
SAMEORIGIN:frame页面的地址只能为同源域名下的页面
ALLOW-FROM origin:origin为允许frame加载的页面地址
这样被不同源的页面以iframe包含时就不会显示了
跨域iframe中操作父窗口
iframe中页面
$(document).on('click', function(){
top.postMessage('{"type":"checkLogin"}', 父窗口host);
});
父窗口
window.onmessage = function(e){
var data = JSON.parse(e.data);
console.log("**dashboard receive data:"+e.data);
if(data.type=='checkLogin'){
checkLogin();
}
};
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage
https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy
网友评论