Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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的内容大小或使用替代方案_Javascript_Iframe_Resize - Fatal编程技术网

Javascript 调整IFrame的内容大小或使用替代方案

Javascript 调整IFrame的内容大小或使用替代方案,javascript,iframe,resize,Javascript,Iframe,Resize,我想在Iframe中显示6个aspx页面,这样当我查看页面时,可以看到包含网页的控件数组 但是,如果我使用Iframe,我就无法将内容调整到Iframe的大小,尽管YouTube确实调整了内容的大小,所以他们必须是这样做的一种方式 那么,我该如何确保内容符合IFrame,或者是否有更好的方法来做到这一点呢。 此外,如果控件被单击,我最终希望转到页面,但我不确定Iframe是否有单击事件 那么,我该怎么做呢?如果iframe的内容与主页在同一个URL上,那么您不应该有任何安全问题,您可以向内容页添

我想在Iframe中显示6个aspx页面,这样当我查看页面时,可以看到包含网页的控件数组

但是,如果我使用Iframe,我就无法将内容调整到Iframe的大小,尽管YouTube确实调整了内容的大小,所以他们必须是这样做的一种方式

那么,我该如何确保内容符合IFrame,或者是否有更好的方法来做到这一点呢。 此外,如果控件被单击,我最终希望转到页面,但我不确定Iframe是否有单击事件


那么,我该怎么做呢?

如果iframe的内容与主页在同一个URL上,那么您不应该有任何安全问题,您可以向内容页添加JavaScript,将其内容的高度传递回主页。与单击事件相同:您可以让一些JavaScript调用父页面上的函数

下面是一个主框架和iframe内容页面的示例。内容页面有一个按钮,您可以单击该按钮,该按钮将根据内容的高度调整iframe的大小

main.htm

<html>
<head>
<script type="text/javascript">
function resize1(h) {
    document.getElementById("iframe1").height = h + 50;
}
</script>
</head>
<body>
<div>Test</div>
<iframe id="iframe1" border="1" height="100" src="iframe.htm" width="200">
</body>

函数大小1(h){
document.getElementById(“iframe1”).height=h+50;
}
试验
iframe.htm

<html>
<body>
<a href="#" onclick="parent.resize1(document.getElementById('content').clientHeight);">Resize iframe</a>
<div id="content" style="background:Red;height:500;width:50px;">
    Test content
</div>
</body>

测试内容
您可以根据自己的需要对其进行调整。例如,可以在iframe内容页面的onload事件中调用函数,在iframe内容加载后立即设置高度


请注意,您要在主页上调用的任何JavaScript函数都必须位于HEAD部分。

安全策略通常不允许计算某些iframe内容的大小。但是,iframe和host窗口可以与javascript消息通信。对于带有外部地址的iframe来说,这是一个常见的问题,通常人们使用最大可能大小(例如2000px)来确保在最坏的情况下一切都适合。