iframe自动适应高度,iframe自适应宽度_1

iframe自动适应高度,iframe自适应宽度,JS实现iframe自适应高度的方法示例

这篇文章主要介绍了射流研究…实现内联框架自适应高度的方法,结合实例形式分析了射流研究…实现内联框架高度自适应的实现技巧,并给出了项目示例供大家参考,需要的朋友可以参考下

本文实例讲述了射流研究…实现内联框架自适应高度的方法。

射流研究…自适应高度,其实就是设置内联框架的高度,使其等于内嵌网页的高度,从而看不出来滚动条和嵌套痕迹。对于用户体验和网站美观起着重要作用。如果内容是固定的,那么我们可以通过半铸钢钢性铸铁(铸造半钢)来给它直接定义一个高度,同样可以实现上面的需求。当内容是未知或者是变化的时候。这个时候又有几种情况了。

iframe内容未知,高度可预测

这个时候,我们可以给它添加一个默认的半铸钢钢性铸铁(铸造半钢)的最小高度值,然后同时使用Java脚本语言改变高度。常用的兼容代码有:

//文档。domain='财宝鉴。com’;

函数setIframeHeight(iframe) {

if (iframe) {

var iframeWin=iframe。内容窗口| | iframe。内容文档。父窗口;

if (iframeWin.document.body) {

iframe。height=iframewin。文档。文档元素。滚动高度| | iframewin。文档。身体。滚动高度;

}

}

};

window.onload=function () {

setIframeHeight(文档。getelementbyid(' external-frame ');

};

演示地址演示一(如果在同个顶级域名下,不同子域名之间互通信息,设置文档。域='蔡宝健。' com '只要修改以上的内联框架的身份证明即可了。或者你可以直接在内联框架里面写代码,我们一般为了不污染超文本标记语言代码,建议使用上面的代码。

iframe src=' back top。' html ' frame border=' 0 ' scrolling=' no ' id=' external-frame ' onload=' setIframeHeight(this)'/iframe

演示二

多个iframe的情况下

脚本语言='javascript '

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

//用逗号把每个内联框架的身份证明分隔。例如:['myframe1 ',' myframe2'],可以只有一个窗体,则不用逗号。

//定义内联框架的身份证明

var iframeids=[' test '];

//如果用户的浏览器不支持内联框架是否将内联框架隐藏是表示隐藏,不表示不隐藏

var iframehide='是

函数dyniframesize()

{

var dyniframe=新数组()

for(I=0;ii帧id。长度;我)

{

if (document.getElementById)

{

//自动调整内联框架高度

dyniframe[dyniframe。长度]=文档。getelementbyid(iframeids[I]);

if (dyniframe[i]!window.opera)

{

dyniframe[I]。风格。display=' block

if (dyniframe[i].内容文档dyniframe[I]。内容文档。身体。偏移高度)//如果用户的浏览器是以开发因特网浏览器闻名

dyniframe[i].height=dyniframe[I]。内容文档。身体。偏移高度;

else if (dyniframe[i].文档dyniframe[I]。文档。身体。滚动高度)//如果用户的浏览器是工业管理学(工业工程)

dyniframe[i].height=dyniframe[I]。文档。身体。滚动高度;

}

}

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

如果((文档。所有| |文档。getelementbyid)iframe hide==' no ')

{

var tempobj=document.all?文档。all[iframeids[I]]:document。getelementbyid(iframeids[I]);

临时对象。风格。display=' block

}

}

}

if (window.addEventListener)

window.addEventListener('load ',dyniframesize,false);

else if (window.attachEvent)

window.attachEvent('onload ',dyniframesize);

其他

window.onload=dyniframesize

/脚本

演示三

针对知道的iframe的ID调用

函数iframeAutoFit(iframeObj){

setTimeout(function(){if(!iframeObj)返回;iframeObj.height=(iframeObj .文档?iframeObj .文档。身体。滚动高度:iframe obj。内容文档。身体。offset height);},200)

}

演示四

内容宽度变化的iframe高度自适应

iframe src=' backtop。' html ' frame border=' 0 ' scrolling=' no ' id=' test ' onload=' this。高度=100 '/iframe

脚本类型='文本/javascript '

函数reinitIframe(){

var iframe=文档。getelementbyid(' test ');

尝试{

var BH height=iframe。内容窗口。文档。身体。滚动高度;

var d height=iframe。内容窗口。文档。文档元素。滚动高度;

var高度=数学。max(BH高度,d高度);

iframe.height=height

console.log(高度);

}catch (ex){}

}

窗户。setinterval(' reinitIframe()',200);

/脚本

演示五打开调试运行窗口可以看到运行。

跨域下的iframe自适应高度

跨域的时候,由于射流研究…的同源策略,父页面内的射流研究…不能获取到内联框架页面的高度。需要一个页面来做代理。方法如下:假设www.a.com下的一个页面a.html要包含www.b.com下的一个页面c.html。我们使用www.a.com下的另一个页面agent.html来做代理,通过它获取内联框架页面的高度,并设定内联框架元素的高度106 .a.html中包含iframe:

Iframe src=' http://www。' id=' Iframe ' frame border=' 0 ' scrolling=' no ' style=' border:0px;'/iframe

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

iframe id=' c _ iframe ' height=' 0 ' width=' 0 ' src=' http://www。a . com/agent。html ' style=' display:none '/iframe

脚本类型='文本/javascript '

(函数自动高度(){

var b _ width=math。max(文档。身体。文档滚动宽度。身体。客户端宽度);

var b _ height=math。max(文档。身体。文档滚动高度。身体。客户身高);

var c _ iframe=文档。getelementbyid(' c _ iframe ');

c _ iframe。src=c _ iframe。src ' # ' b _ width ' | ' b _ height//这里通过混杂传递b.htm的宽高

})();

/脚本

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

脚本类型='文本/javascript '

var b _ Iframe=window。父母。父母。文档。getelementbyid(' Iframe ');

var hash _ URL=window。位置。哈希;

if(hash_url.indexOf('#')=0){

var哈希宽度=哈希URL。split(' # ')[1].split(' | ')[0]" px ";

var哈希高度=哈希URL。split(' # ')[1].split(' | ')[1]" px ";

b _ iframe。风格。宽度=hash _ width

b _ iframe。风格。height=hash _ height

}

/脚本

agent.html从统一资源定位器中获得宽度值和高度值,并设置内联框架的高度和宽度(因为agent.html在www.a.com下,所以操作a.html时不受Java脚本语言的同源限制)演示六

分享给大家供大家参考,具体如下:

iframe id=' mainFrame ' name=' mainFrame ' src='/zwgk/hsearchview ' width=' 740 ' frame border=' 0 ' scrolling=' no ' scrolling=' no ' frame border=' 0 '

/iframe

脚本类型='文本/javascript '语言='javascript '

函数reinitIframe(){

var iframe=文档。getelementbyid('大型机');

尝试{

var BH height=iframe。内容窗口。文档。身体。滚动高度;

var d height=iframe。内容窗口。文档。文档元素。滚动高度;

var高度=数学。max(BH高度,d高度);

iframe.height=height

}catch (ex){}

}

窗户。setinterval(' reinitIframe()',100);

/脚本

PS:高度自适应应用广泛,本站的很多在线工具也使用了这一技巧,列举如下几个工具供大家参考:

Java脚本语言在线格式化工具(基于美化网插件):

http://tools.jb51.net/code/js_beautify

在线颜色选择器工具/RGB颜色查询对照表:

http://tools.jb51.net/color/colorpicker

在线个人所得税计算器:

http://tools.jb51.net/jisuanqi/tax_calc

宋词在线查询:

http://tools.jb51.net/bianmin/songci

更多关于Java脚本语言相关内容感兴趣的读者可查看本站专题: 《JavaScript操作DOM技巧总结》 、 《JavaScript数组操作技巧总结》 、 《JavaScript排序算法总结》 、 《JavaScript遍历算法与技巧总结》 、 《JavaScript数学运算用法总结》 、 《JavaScript数据结构与算法技巧总结》 、 《JavaScript查找算法技巧总结》 及《JavaScript错误与调试技巧总结》

希望本文所述对大家Java脚本语言程序设计有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: