HTML的frame框架怎么自适应高度

HTML的frame框架怎么自适应高度,第1张

HTML的frame框架自适应高度的6个方法:

1、可以给它添加一个默认的CSS的min-height值,然后同时使用JavaScript改变高度。常用的兼容代码有:

// documentdomain = "caibaojiancom";

function setIframeHeight(iframe) {

if (iframe) {

var iframeWin = iframecontentWindow || iframecontentDocumentparentWindow;

if (iframeWindocumentbody) {

iframeheight = iframeWindocumentdocumentElementscrollHeight || iframeWindocumentbodyscrollHeight;

}

}

};

windowonload = function () {

setIframeHeight(documentgetElementById('external-frame'));

};

(如果在同个顶级域名下,不同子域名之间互通信息,设置documentdomain="域名com"

2、只要修改以上的iframe的ID即可了。或者你可以直接在iframe里面写代码,我们一般为了不污染HTML代码,建议使用上面的代码。

<iframe src="backtophtml" frameborder="0" scrolling="no" id="external-frame" onload="setIframeHeight(this)"></iframe>

3、多个iframe的情况下

<script language="javascript">

//输入你希望根据页面高度自动调整高度的iframe的名称的列表

//用逗号把每个iframe的ID分隔 例如: ["myframe1", "myframe2"],可以只有一个窗体,则不用逗号。

//定义iframe的ID

var iframeids=["test"];

//如果用户的浏览器不支持iframe是否将iframe隐藏 yes 表示隐藏,no表示不隐藏

var iframehide="yes";

function dyniframesize()

{

var dyniframe=new Array()

for (i=0; i<iframeidslength; i++)

{

if (documentgetElementById)

{

//自动调整iframe高度

dyniframe[dyniframelength] = documentgetElementById(iframeids[i]);

if (dyniframe[i] && !windowopera)

{

dyniframe[i]styledisplay="block";

if (dyniframe[i]contentDocument && dyniframe[i]contentDocumentbodyoffsetHeight) //如果用户的浏览器是NetScape

dyniframe[i]height = dyniframe[i]contentDocumentbodyoffsetHeight;

else if (dyniframe[i]Document && dyniframe[i]DocumentbodyscrollHeight) //如果用户的浏览器是IE

dyniframe[i]height = dyniframe[i]DocumentbodyscrollHeight;

}

}

//根据设定的参数来处理不支持iframe的浏览器的显示问题

if ((documentall || documentgetElementById) && iframehide=="no")

{

var tempobj=documentall documentall[iframeids[i]] : documentgetElementById(iframeids[i]);

tempobjstyledisplay="block";

}

}

}

if (windowaddEventListener)

windowaddEventListener("load", dyniframesize, false);

else if (windowattachEvent)

windowattachEvent("onload", dyniframesize);

else

windowonload=dyniframesize;

</script>

4、打开调试运行窗口可以看到运行。·

跨域下的iframe自适应高度

跨域的时候,由于js的同源策略,父页面内的js不能获取到iframe页面的高度。需要一个页面来做代理。

方法如下:假设>

ahtml中包含iframe:

<iframe src=";

5、在chtml中加入如下代码:

<iframe id="c_iframe"  height="0" width="0"  src=";

6、最后,agenthtml中放入一段js:

<script type="text/javascript">

var b_iframe = windowparentparentdocumentgetElementById("Iframe");

var hash_url = windowlocationhash;

if(hash_urlindexOf("#")>=0){

var hash_width = hash_urlsplit("#")[1]split("|")[0]+"px";

var hash_height = hash_urlsplit("#")[1]split("|")[1]+"px";

b_iframestylewidth = hash_width;

b_iframestyleheight = hash_height;

}

</script>

agenthtml从URL中获得宽度值和高度值,并设置iframe的高度和宽度(因为agenthtml在>

iframe里面加载的页面跟本页面的加载完成时间是不一定的,所以你这里直接取,可能iframe的页面还没加载完。采用以下方式试一下:

<iframe src="jsp" onload="这里调用你要运行的代码"></iframe>

以上就是关于HTML的frame框架怎么自适应高度全部的内容,包括:HTML的frame框架怎么自适应高度、.net iframe 自适应高度JS代码、在页面加载完成后js获取table的高度不正确,刷新后获取的高度就正确了,求原因及解决方法。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9591219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存