html iframe高度自适应

8 篇文章 0 订阅

最近遇到一个问题纠结死了,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" οnlοad="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>


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


http://www.jb51.net/article/15780.htm


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值