Javascript 未捕获的安全性错误端口问题:Iframe resize
我有一个父页面,呈现和iframe具有不同大小的主体。但是,当导航到不带Javascript 未捕获的安全性错误端口问题:Iframe resize,javascript,jquery,iframe,Javascript,Jquery,Iframe,我有一个父页面,呈现和iframe具有不同大小的主体。但是,当导航到不带www的站点时,会出现以下错误: 599未捕获的安全性错误:阻止源代码为“”的帧访问源代码为“”的帧。协议、域和端口必须匹配 表单在iframe中呈现,但它没有正确调整滚动高度的大小(iframe上没有任何滚动功能,需要朝向帧底部的额外空间) 出现这种情况是因为页面上有以下iframe/函数: <iframe id="iframe1" src="http://www.example.com/virtual-direct
www
的站点时,会出现以下错误:
599未捕获的安全性错误:阻止源代码为“”的帧访问源代码为“”的帧。协议、域和端口必须匹配
表单在iframe中呈现,但它没有正确调整滚动高度的大小(iframe上没有任何滚动功能,需要朝向帧底部的额外空间)
出现这种情况是因为页面上有以下iframe/函数:
<iframe id="iframe1" src="http://www.example.com/virtual-directory" height="" width="300px" frameborder="0" onload="iframeLoaded()"></iframe>
<script>
function iframeLoaded() {
var iFrameID = document.getElementById('iframe1');
if (iFrameID) {
iFrameID.height = "";
iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + 20 + "px";
}
}
</script>
函数iframeload(){
var iFrameID=document.getElementById('iframe1');
if(iFrameID){
iFrameID.height=“”;
iFrameID.height=iFrameID.contentWindow.document.body.scrollHeight+20+“px”;
}
}
我看了这篇文章,但我不确定应该在哪里执行该检查,以便在不引入安全风险的情况下使该调整功能正常运行。有几种解决方案 第一个是从iFrame标记的scr attrib中删除,因此它只是src=“/virtual directory” 第二个选项是使用iFrame大小调整器库
是否尝试将sandbox=“允许相同来源”添加到iframe元素? 它应该会起作用 如果有效,您应该查看本文:
它将允许您访问可以授予iframe的各种权限。如果您对父级和iframe都有完全控制权,您可能希望在此处尝试ConroyP的答案: (这是公认的答案) 这有点复杂,但对我来说很有效。根据网络速度,它几乎可以是瞬时的 唯一的缺点是,当您更改iframe中的页面时,它不会向上滚动iframe内容