使用iframe可以省去很多ajax的复杂代码,但是在把iframe嵌入到div中会出现不能够自适应的问题,起初也在网上找了很多代码,大部分经过测试都不能兼容所有的浏览器。经过我在网上的搜索与相关的代码的修改,终于解决了兼容IE, FF, Opera 等大部分浏览器(Safari没有测试,应该也没问题)。
下面是我的代码,记录下来供以后参考:
index.html:
<div id="right">
<iframe id="rightFrame" name="frameContent" src="iframe.html"
height="" scrolling="no" width="100%" frameborder="0"
onload="SetCwinHeight(this)"></iframe>
</div>
js代码:
function SetCwinHeight(iframeObj){
if (document.getElementById){
if (iframeObj){
if (iframeObj.contentDocument && iframeObj.contentDocument.body.offsetHeight){
iframeObj.height = iframeObj.contentDocument.body.offsetHeight;
} else if (document.frames[iframeObj.name].document && document.frames[iframeObj.name].document.body.scrollHeight){
iframeObj.height = document.frames[iframeObj.name].document.body.scrollHeight;
}
}
}
}
iframe.html
<div class="content">
有这样的名言叫:从哪跌倒,再从哪爬起来。想想自己,曾经跌倒过,却一直没能从那里爬起来。当年高考,虽然没有考
上理想的大学,但是却学到了理想的专业----工商管理。听起来很好地专业,因为这一专业毕竟和MBA有着千丝万缕的联系。所以那个时候很天真的给自己做了定位:努力学习,多学管理理论,将来一定要成为一名出色的职业经理人。为着这样的理想和目标,自认为我的大学生活还不算糜烂,因为毕竟有时间会光顾图书馆,阅读一些专业方面的书籍、报纸和杂志等,了解一些先进的管理理论和最新的经济前沿。
临近毕业,本来是满怀信心,希望自己可以得偿所愿,用这大学四年的所学来报答社会,谁知现实却是如此之残酷,我并未找
</div>
iframe.html 中的js代码
window.onload = function() {
if(top.location != self.location){
var a = window.parent.document.getElementsByTagName('iframe');
for (var i=0; i<a.length; i++){
if (a[i].name == self.name) {
a[i].height = document.body.scrollHeight; return;
}
}
}
}
这样就OK了,可以兼容全部主流浏览器了。
分享到:
相关推荐
本文将深入探讨如何使用JavaScript实现一个真正兼容IE、Firefox(FF)、Opera的`iframe`高度自适应解决方案。 首先,`iframe`高度自适应的主要目的是确保内嵌页面的完整内容可以在不显示滚动条的情况下完全展示。...
支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: ...
支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: ...
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。