Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获的安全性错误端口问题:Iframe resize_Javascript_Jquery_Iframe - Fatal编程技术网

Javascript 未捕获的安全性错误端口问题:Iframe resize

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

我有一个父页面,呈现和iframe具有不同大小的主体。但是,当导航到不带
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内容