我们自己的页面项目,嵌入别人的iframe之后居然跨域了

最近因为公司需求,需要对第三方公司进行沟通,对方提出用iframe简单嵌入即可。结果对面提出,我们的页面放在正常浏览器情况下是可以正常使用的, 不过在iframe标签中进行引用,就会发现提示跨域问题。

SecurityError: Blocked a frame with origin "XXX" from accessing a cross-origin frame.

这个报错不是不同域名下,访问iframe并提出请求才会出现的问题么

因为前后端分离的原因: 前端是vue项目, 后端是.NET的.

而且在开发中,后端已经对部分ip进行了跨域处理,在这次第三方的解除中,也是做了第三方的跨域处理,为什么还会出现跨域

困惑,谢谢各位大神

追加一个问题,因为部署页面使用的是iis,而报错产生有可能在于当iframe嵌入之后,前端页面并没有用本身服务器的地址进行请求所导致,目前还有待观察。

参考一下这个: https://www.cnblogs.com/yanweifeng/p/12377193.html

自己接口按理说应该没有问题,是不是引入路径有问题,用相对路径

iframe是可以加载第三方页面,但是通信还是会产生跨域

postMessage解决

认为可以通过添加一个nginx代理,转发不同与框架的iframe页,并将iframe设置为相对路径 “/iframe/XX”

是不是可以把你们项目的页面和对方的放在一个服务器上,然后通过nginx配置,做一下代理,转发不同接口呢

既然出现SecurityError: Blocked a frame with origin "XXX" from accessing a cross-origin frame.

那就肯定是跨域了。检查一下主页面和iframe子页面的 协议、域名、端口是否完全一致吧 有一个不一样 就算跨域了

对了 还有 ip和域名也算跨域 及时他们指向同一台机器 也是跨域

基本问题已经找到,属于内部访问外部cookie后跨域的问题。