繁体   English   中英

了解 Iframe 中的跨域问题

[英]Understanding Cross-Domain issue in Iframes

这个问题可能看起来很愚蠢,但为了清楚起见,我需要理解这一点。

根据我的理解,跨域问题是当包含 IFRAME 的网页的域与在 IFRAME 中打开的网页的域不同。

按照这个逻辑,任何东西都不应该在 IFRAME 中打开。

当我在我的网页“top:9700”的 IFRAME 中嵌入一个网页“bottom:10700”时,它给出了错误。我看不到 IFRAME 中的内容。 错误是Access denied in accessing property 'constructor'

访问构造函数 (_1.contructor) 时出现错误

isc.A.Function=function isc_isA_Function(_1){
  if(_1==null) return false;
  if(isc.Browser.isIE&&typeof _1==this.$a7) return true;
  var _2=_1.constructor;
  if(_2&&_2.$k!=null){
    if(_2.$k!=1)return false;
    if(_2===Function)return true
  }

当在包含在顶部的 iframe 中打开底部的主页时,将运行此脚本。

有什么办法,我可以做这个工作。 我的意思是我可以将两个域设置为相同。 我无权访问远程站点的脚本。

在跨域场景重新绘制后调整框架的大小。 如果没有,那么肯定是远程站点正在尝试访问 IFRAME 元素..我该如何调试?

跨域问题是关于 iframe 之间的通信。 您始终可以嵌入任何 iframe,但是,如果域不同,iframe 无法相互交互,例如执行 JS、修改 DOM 等。

HTML5 提供了一个sandbox属性,可以重新启用跨域 iframe 交互的特定功能。 小心,这可能很危险。

在 abc.com 上托管的 iframe 中加载页面 xyz.com 是正常行为。 但是,您不能通过父 abc.com 的代码更改任何内容或访问其内容。

希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM