2024年9月iframe自适应高度(什么命令可以使iframe框架里的被引用页面宽高自适应框架宽高)

 更新时间:2024-09-21 08:48:24

  ⑴iframe自适应高度(什么命令可以使iframe框架里的被引用页面宽高自适应框架宽高

  ⑵我们使用下的另一个页面agent.html来做代理,方法如下:假设下的一个页面a.html要包含下的一个页面c.html,《scripttype=“text/javascript“》//**iframe自动适应页面**////输入你希望根据页面高度自动调整高度的iframe的名称的列表//用逗号把每个iframe的ID分隔.例如:,《iframe?src=“backtop.html“?frameborder=““?scrolling=“no“?id=“external-frame“?onload=“setIframeHeight(this)“》《/iframe》、多个iframe的情况下《script?language=“javascript“》//输入你希望根据页面高度自动调整高度的iframe的名称的列表//用逗号把每个iframe的ID分隔.?例如:,父页面内的js不能获取到iframe页面的高度,//定义iframe的IDvariframeids=//如果用户的浏览器不支持iframe是否将iframe隐藏yes表示隐藏,需要一个页面来做代理,no表示不隐藏variframehide=“yes“functiondyniframesize(){vardyniframe=newArray()for(i=;i《iframeids.length;i++){if(document.getElementById){//自动调整iframe高度dyniframe=document.getElementById(iframeids);if(dyniframe&&!window.opera){dyniframe.style.display=“block“if(dyniframe.contentDocument&&dyniframe.contentDocument.body.offsetHeight)//如果用户的浏览器是Scapedyniframe.height=dyniframe.contentDocument.body.offsetHeight;elseif(dyniframe.Document&&dyniframe.Document.body.scrollHeight)//如果用户的浏览器是IEdyniframe.height=dyniframe.Document.body.scrollHeight;}}//根据设定的参数来处理不支持iframe的浏览器的显示问题if((document.all||document.getElementById)&&iframehide==“no“){vartempobj=document.all?document.all:document.getElementById(iframeids)tempobj.style.display=“block“}}}if(window.addEventListener)window.addEventListener(“load“,dyniframesize,false)elseif(window.attachEvent)window.attachEvent(“onload“,dyniframesize)elsewindow.onload=dyniframesize《/script》HTML的frame框架怎么自适应高度HTML的frame框架自适应高度的个方法:、可以给它添加一个默认的CSS的min-height值。

  ⑶什么命令可以使iframe框架里的被引用页面宽高自适应框架宽高

  ⑷并不是里页面高度自适是,而是外面的iframe高度自适应你引入的页面的高度。思路是js控制iframe自适应高度,因为iframe本身并不能自适应高度,只有写死高度才行,所以要用js判断整个页面内容的高度。给你的代码:《iframeallowtransparency=“true“src=你要入引的页面.htm“id=“defaulIframePage“name=“defaulIframePage“frameborder=““scrolling=“no“width=“%“onload=“defaulIframePageHeight()“》

  ⑸《/iframe》js部分:functiondefaulIframePageHeight()

  ⑹{varifm=document.getElementById(“defaulIframePage“);varsubWeb=document.frames?document.frames.document:ifm.contentDocument;if(ifm!=null&&subWeb!=null)

  ⑺{ifm.height=subWeb.body.scrollHeight;}}

  ⑻Safari浏览器下怎么实现iframe高度自适应

  ⑼实现iframe的自适应高度,能够随着页面的长度自动的适应以免除页面和iframe同时出现滚动条的现象。《scripttype=“text/javascript“》//**iframe自动适应页面**////输入你希望根据页面高度自动调整高度的iframe的名称的列表//用逗号把每个iframe的ID分隔.例如:,可以只有一个窗体,则不用逗号。//定义iframe的IDvariframeids=//如果用户的浏览器不支持iframe是否将iframe隐藏yes表示隐藏,no表示不隐藏variframehide=“yes“functiondyniframesize(){vardyniframe=newArray()for(i=;i《iframeids.length;i++){if(document.getElementById){//自动调整iframe高度dyniframe=document.getElementById(iframeids);if(dyniframe&&!window.opera){dyniframe.style.display=“block“if(dyniframe.contentDocument&&dyniframe.contentDocument.body.offsetHeight)//如果用户的浏览器是Scapedyniframe.height=dyniframe.contentDocument.body.offsetHeight;elseif(dyniframe.Document&&dyniframe.Document.body.scrollHeight)//如果用户的浏览器是IEdyniframe.height=dyniframe.Document.body.scrollHeight;}}//根据设定的参数来处理不支持iframe的浏览器的显示问题if((document.all||document.getElementById)&&iframehide==“no“){vartempobj=document.all?document.all:document.getElementById(iframeids)tempobj.style.display=“block“}}}if(window.addEventListener)window.addEventListener(“load“,dyniframesize,false)elseif(window.attachEvent)window.attachEvent(“onload“,dyniframesize)elsewindow.onload=dyniframesize《/script》

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

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

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

  ⒀//?document.domain?=?“caibaojian.“;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;}}};window.onload?=?function?()?{setIframeHeight(document.getElementById(’external-frame’));};

  ⒁(如果在同个顶级域名下,不同子域名之间互通信息,设置document.domain=“域名.“

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

  ⒃《iframe?src=“backtop.html“?frameborder=““?scrolling=“no“?id=“external-frame“?onload=“setIframeHeight(this)“》《/iframe》

  ⒄多个iframe的情况下

  ⒅《script?language=“javascript“》//输入你希望根据页面高度自动调整高度的iframe的名称的列表//用逗号把每个iframe的ID分隔.?例如:?,可以只有一个窗体,则不用逗号。//定义iframe的IDvar?iframeids=;//如果用户的浏览器不支持iframe是否将iframe隐藏?yes?表示隐藏,no表示不隐藏var?iframehide=“yes“;function?dyniframesize(){var?dyniframe=new?Array()for?(i=;?i《iframeids.length;?i++){if?(document.getElementById){//自动调整iframe高度dyniframe);if?(dyniframe?&&?!window.opera){dyniframe.style.display=“block“;if?(dyniframe.contentDocument.body.offsetHeight)?//如果用户的浏览器是Scapedyniframe.contentDocument.body.offsetHeight;else?if?(dyniframe.Document.body.scrollHeight)?//如果用户的浏览器是IEdyniframe.Document.body.scrollHeight;}}//根据设定的参数来处理不支持iframe的浏览器的显示问题if?((document.all?||?document.getElementById)?&&?iframehide==“no“){var?tempobj=document.all??document.all);tempobj.style.display=“block“;}}}if?(window.addEventListener)window.addEventListener(“load“,?dyniframesize,?false);else?if?(window.attachEvent)window.attachEvent(“onload“,?dyniframesize);elsewindow.onload=dyniframesize;《/script》

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

  ⒇跨域下的iframe自适应高度

  ⒈跨域的时候,由于js的同源策略,父页面内的js不能获取到iframe页面的高度。需要一个页面来做代理。方法如下:假设下的一个页面a.html要包含下的一个页面c.html。我们使用下的另一个页面agent.html来做代理,通过它获取iframe页面的高度,并设定iframe元素的高度。

  ⒉a.html中包含iframe:

  ⒊《iframe?src=“

  ⒋在c.html中加入如下代码:

  ⒌《iframe?id=“c_iframe“??height=““?width=““??src=“(function?autoHeight(){var?b_width?=?Math.max(document.body.scrollWidth,document.body.clientWidth);var?b_height?=?Math.max(document.body.scrollHeight,document.body.clientHeight);var?c_iframe?=?document.getElementById(“c_iframe“);c_iframe.src?=?c_iframe.src?+?“#“?+?b_width?+?“|“?+?b_height;??//?这里通过hash传递b.htm的宽高})();《/script》

  ⒍最后,agent.html中放入一段js:

  ⒎《script?type=“text/javascript“》var?b_iframe?=?window.parent.parent.document.getElementById(“Iframe“);var?hash_url?=?window.location.hash;if(hash_url.indexOf(“#“)》=){var?hash_width?=?hash_url.split(“#“)+“px“;var?hash_height?=?hash_url.split(“#“)+“px“;b_iframe.style.width?=?hash_width;b_iframe.style.height?=?hash_height;}《/script》

  ⒏agent.html从URL中获得宽度值和高度值,并设置iframe的高度和宽度(因为agent.html在下,所以操作a.html时不受JavaScript的同源限制

您可能感兴趣的文章:

相关文章