了解Iframe中的跨域问题

use*_*820 9 html javascript iframe

这个问题可能看起来很愚蠢但我需要明白这一点.

根据我的理解,跨域问题是当包含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
  }
Run Code Online (Sandbox Code Playgroud)

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

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

在跨域方案重新映射后调整帧大小.如果没有,那么肯定远程站点正在尝试访问IFRAME元素.如何调试这个?

ole*_*leq 8

跨域问题涉及iframe之间的通信.您可以随时嵌入任何iframe但是,如果域不同,iframe不能相互交互,例如执行JS,修改DOM等.

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

  • 我发现了这个问题..问题出在远程站点的脚本中。它试图在框架内对齐自己。为此,它正在访问框架包含页面的元素...感谢大家帮助我 (2认同)