那些年iframe的坑(一)
最近在做自己公司平台的项目,架子后台都已经帮忙搭起来了,用的是adminlte后台模板,发现真的是好多bug,主要是嵌套了iframe,说实话非常讨厌iframe这个东西。
然后发现主页竟然忘记加上去了,直接在遍历侧边菜单前加上了 $('.iframe_main').attr('src', '/Admin/Home/Dashboard');这个一句,主要是右侧全部都是iframe嵌套的,
设置的iframe高度是自适应的,奈何这个右侧的主页不是通过遍历出来的所以高度会有问题,
上页面效果图:
当时iframe的高度为100%,发现写出来的内容全被遮盖住了,开始排除bug,发现是高度问题,想着给加个height就能解决了的。没想到等我调试的出现了问题。高度还是不能适应啊,没办法,还得接着改。
网上也百度了不少例子,发现都没有多大的用。还是的动态的获取改变iframe的高度,就写了一个js
不多说直接上代码:
$('.iframe_main').load(function () {
var a = $('.iframe_main').contents().find('.content-header').innerHeight();
var b = $('.iframe_main').contents().find('.content').innerHeight();
$('.iframe_main').css('height', a + b);
console.log(a,b);
})
最后直接将获得的高直接赋值给iframe。改了之后给后台看,说还是有双滚动条,啊,啊,啊,截图
这种情况的滚动条直接上图啦:
又得解决这个bug,我的第一反应是通常我们不是应该保留外面的滚动条吗?现在跟我说不要外面的滚动条要里面的就可以了。我懵逼了。
改bug了,得好好思考怎么解决这个bug。加油