iframe自动高度 12306

本文介绍了一种实现网页中 iframe 自动调整高度的方法,通过 JavaScript 动态获取子页面的实际高度并调整 iframe 的高度,以确保内容完全展示且不出现多余空白。
//12306 iframe自动高度
function doIframe() {
o = document.getElementsByTagName('iframe');
for ( var i = 0; i < o.length; i++) {
if (/\bautoHeight\b/.test(o[i].className)) {
setHeight(o[i]);
addEvent(o[i], 'load', doIframe);
}
}
}
function setHeight(e) {
// 目前测试的ie8、firefox3.6.3、google、搜狗浏览器都可以使用
try {
var height = e.contentWindow.document.body.scrollHeight;
if (height < 300) {
height = 300;
}
e.height = height + 30;
var ictheight = height + 80;
if(userAgent() != "ie9"){
document.getElementById('ictiframe').src = "http://www.12306.cn/mormhweb/ggxxfw/wbyyzj/201105/t20110529_1905.jsp?height="
+ ictheight;
}
} catch (ex) {
e.height = 710;
if(userAgent() != "ie9"){
document.getElementById('ictiframe').src = "http://www.12306.cn/mormhweb/ggxxfw/wbyyzj/201105/t20110529_1905.jsp?height=" + 780;
}
}
}
function addEvent(obj, evType, fn) {
if (obj.addEventListener) {
obj.addEventListener(evType, fn, false);
return true;
} else if (obj.attachEvent) {
obj.detachEvent("on" + evType, fn);
var r = obj.attachEvent("on" + evType, fn);
return r;
} else {
return false;
}
}
function userAgent() {
var ua = navigator.userAgent;
ua = ua.toLowerCase();
var match = /(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
!/compatible/.test(ua) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(ua) || [];
// 如果需要获取浏览器版本号:match[2]
if(match[1] == "msie"){
if (parseInt(match[2]) === 7) // ie7
{
if(ua.indexOf("trident/5.0") != -1){// ie9 此处为当ie9处于兼容模式下时的情况
return "ie9";
}else{
return match[1];
}
}else if (parseInt(match[2]) === 9) // ie9
{
return "ie9";
}else{
return match[1];
}
}else{
return match[1];
}
}
if (document.getElementById && document.createTextNode) {
addEvent(window, 'load', doIframe);
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

感谢一路走过的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值