JavaScript设置IFrame高度自适应(兼容各主流浏览器)

网络编程 JavaScript javascript技巧 分类:[default] 更新日期: 2016-05-23
IFrame高度的设置问题一直都是前端的噩梦而且还要兼容各主流浏览器更是难上加难了,下面与大家分享下一个不错的技巧,感兴趣的你可以参考下哈
代码如下:

function SetIFrameHeight(down) {
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
var pTar = null;
if (document.getElementById) {
pTar = document.getElementById(down);
} else {
eval('pTar=' + down + ';');
}
pTar.style.display = "block";
if (Sys.ie) {
if (Sys.ie == '9.0') {
pTar.height = pTar.contentWindow.document.body.offsetHeight + 15 + "px";
pTar.width = pTar.contentWindow.document.body.scrollWidth + "px";
} else if (Sys.ie == '8.0') {
debugger;
pTar.height = pTar.Document.body.offsetHeight + 15 + "px";
pTar.width = pTar.Document.body.scrollWidth + "px";
} else {
pTar.height = pTar.Document.body.scrollHeight + 25 + "px";
pTar.width = pTar.Document.body.scrollWidth + "px";
}
}
if (Sys.firefox) {
pTar.height = pTar.contentDocument.body.offsetHeight + 15 + "px";
pTar.width = pTar.contentDocument.body.scrollWidth + "px";
}
if (Sys.chrome) {
pTar.height = pTar.contentDocument.body.offsetHeight;
pTar.width = pTar.contentDocument.body.scrollWidth;
}
if (Sys.opera) {
pTar.height = pTar.contentDocument.body.offsetHeight;
pTar.width = pTar.contentDocument.body.scrollWidth;
}
if (Sys.safari) {
if (pTar.contentDocument.body.offsetHeight <= '186') {
pTar.height = pTar.contentDocument.body.offsetHeight + 10;
} else {
pTar.height = pTar.contentDocument.body.offsetHeight;
}
pTar.width = pTar.contentDocument.body.scrollWidth;
}
}

> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!

相关文章
  • 探讨Ajax中有关readyState状态值和status状态码)的问题
    这篇文章主要介绍了探讨Ajax中有关readyState状态值和status状态码的问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下先看下面一段代码,然后给大家详细介绍,Ajax中有关readyState(状态值)和status(状态码)的问题,具体内容如下所示: var getXmlHttpRequest = function () { t ...
  • CSS3实现动态翻牌效果仿百度贴吧3D翻牌一次动画特效
    CSS3实现动态翻牌效果仿百度贴吧3D翻牌一次动画特效
    本文主要分享一个利用CSS3新特性transform,实现3D翻牌的特效,有需要的小伙伴可以参考下.今天分享一个CSS3制作的翻牌效果,效果如下图所示,所过把把这个效果应用于相册肯定会很炫的.呵呵,超酷啊. 一.HTML代码: 因为是CSS3实现,所以大家可以看到没有任何的JS代码.ul为一组图片,每个li中有个a(因为我们希望可以跳转),a中包含两个div ...
  • JavaScript中的正则表达式(推荐)
    正则表达式通常用于在文本中查找匹配的字符串,js正则表达式在程序开发中应用非常广泛,本文给大家介绍JavaScript 中的正则表达式推荐,感兴趣的朋友一起学习吧正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符则匹配失败. 正则表达式通常用于在文本中查找匹配的字符串.Python里数量词 ...
  • asp.net及javascript判断是否手机访问的方法
    这篇文章主要介绍了asp.net及javascript判断是否手机访问的方法,结合实例形式对比分析了asp.net及javascript实现判断访问端类型的相关技巧,需要的朋友可以参考下本文实例讲述了asp.net及javascript判断是否手机访问的方法.分享给大家供大家参考,具体如下: /// <summary> /// 判断手机用户Use ...
  • js选择器全面解析
    下面小编就为大家带来一篇js选择器全面解析.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧原生JS选择器有getElementById.getElementsByName.getElementsByTagName和getElementsByClassName这四个,下面我就一个一个介绍这四个选择器的用法. 1.getElemen ...
  • 利用ASP.NETMVC+Bootstrap搭建个人博客之修复UEditor编辑时Bug(四)
    利用ASP.NETMVC+Bootstrap搭建个人博客之修复UEditor编辑时Bug(四)
    这篇文章主要介绍了利用ASP.NET MVC+Bootstrap搭建个人博客之修复UEditor编辑时Bug四的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下我的个人博客站在使用百度富文本编辑器UEditor修改文章时,遇到了一些问题,(不知是bug,还是我没有配置好).但总算找到了解决方法,在此记录下来. 小站首页文章列表显示为(显示去除HTM ...
猜你喜欢