您的位置:首页 > Web前端 > HTML

html iframe高度自适应

2015-09-15 10:29 489 查看
最近遇到一个问题纠结死了,iframe总是不能高度自适应,去网上查有很多解答,但是总不能解决问题,根本无效

老是报错

a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
这句话大概意思是必须同一个域

我只是做的HTML用iframe引用其他的HTML,这样并不是同一个域,简直笨死了,将其放到tomcat下测试了才可以,这才是在同一个域,用跨域也有解决办法,不过暂未验证,下面是俩参考网址

iframe高度自适应 JavaScript跨域总结与解决办法

以下是核心代码(都是在父文件里)

<iframe id="iframe" name="iframe" src="../index.jsp" width="100%" frameborder="no" border="0"  scrolling="no" onload="setIframeHeight(this)"></iframe>


<script type="text/javascript" language="javascript">
function setIframeHeight(iframe) {
if (iframe) {
var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
if (iframeWin.document.body) {
iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;
}
}
};

</script>


注意!js不要写在head里,不起作用,放到body里面

这也是iframe自适应的一种方法

<div id="index-content">
<iframe id="iframe" src="login/register.html" width="100%" height="800px" onLoad="iFrameHeight()" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div>
<script type="text/javascript">
function iFrameHeight() {
var ifm= document.getElementById("iframepage");
var subWeb = document.frames ? document.frames["iframepage"].document : ifm.contentDocument;
if(ifm != null && subWeb != null) {
ifm.height = subWeb.body.scrollHeight;
}
}

</script>


参考于下面网站,里面还有很多方法,也还没验证

/article/1272354.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: