[英]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.