这个问题甚是头疼,是这样的:
<html>
...
<head>
<script type="text/javascript">
function reinitIframe(){
var iframe = document.getElementById("FrmMain");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
}
catch (ex){}
}
window.setInterval("reinitIframe()", 500);
</script>
</head>
<body>
<div>
sssssssssss
</div>
<div>
<iframe src="HTMLPage.htm" frameborder="0" id=" FrmMain " name="FrmMain" scrolling="no" width="100%" height="0px" allowTransparency="true" onload="reinitIframe()"></iframe>
</div>
</body>
上面用方法reinitIframe()计算了内页的高度,让iframe能自适应,但是现在碰到一个问题:
在iframe内部页面中不能获取外面也没的滚动条被卷去了多少高度?
我需要计算滚动条当前滚动的位置,显示div层。
有哪位高手能帮忙解决下啊,求救……
6 个解决方案
#1
已经找到了解决办法了……
#2
靠,找到了办法就说出来啊,垃圾玩意,要不以后谁帮你!
#3
给大家共享下:
将下列代码放到主框架页面就可以解决该问题。
function reinitIframe()
{
var iframe = document.getElementById("FrmMain");
try
{
if (!/*@cc_on!@*/0)
{//不是IE浏览器
iframe.onload = function()
{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
};
}
else
{
if (iframe.readyState == "complete")
{
if (iframe.Document && iframe.Document.body.scrollHeight)
{
iframe.height = iframe.Document.body.scrollHeight;
}
else if (iframe.contentDocument && iframe.contentDocument.body.offsetHeight)
{
alert(iframe.contentDocument.body.offsetHeight);
iframe.height = iframe.contentDocument.body.offsetHeight;
}
}
}
}
catch (ex) { }
}
window.setInterval("reinitIframe()", 200);
另外,2#说话注意点,希望你素质提高点。如果你不会,大家都能理解,但得谦虚点问人家。
将下列代码放到主框架页面就可以解决该问题。
function reinitIframe()
{
var iframe = document.getElementById("FrmMain");
try
{
if (!/*@cc_on!@*/0)
{//不是IE浏览器
iframe.onload = function()
{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
};
}
else
{
if (iframe.readyState == "complete")
{
if (iframe.Document && iframe.Document.body.scrollHeight)
{
iframe.height = iframe.Document.body.scrollHeight;
}
else if (iframe.contentDocument && iframe.contentDocument.body.offsetHeight)
{
alert(iframe.contentDocument.body.offsetHeight);
iframe.height = iframe.contentDocument.body.offsetHeight;
}
}
}
}
catch (ex) { }
}
window.setInterval("reinitIframe()", 200);
另外,2#说话注意点,希望你素质提高点。如果你不会,大家都能理解,但得谦虚点问人家。
#4
加群:2346621 一起交流,一起学习Spring ,Hibernate, Struts. Flex 等编程语言及数据库知识..
我们只接收对编程感兴趣,有上进心的人.
我们都是年轻人,我们都对编程感兴趣.
我都有上进心,我们要进步,我们要充实自己.
因为我们年轻,所以我们都有资本.
我们只接收对编程感兴趣,有上进心的人.
我们都是年轻人,我们都对编程感兴趣.
我都有上进心,我们要进步,我们要充实自己.
因为我们年轻,所以我们都有资本.
#5
看看!O(∩_∩)O哈哈~
#6
@jonyxx 我试了这种方式 可iframe里的内容还是没显示完全..
#1
已经找到了解决办法了……
#2
靠,找到了办法就说出来啊,垃圾玩意,要不以后谁帮你!
#3
给大家共享下:
将下列代码放到主框架页面就可以解决该问题。
function reinitIframe()
{
var iframe = document.getElementById("FrmMain");
try
{
if (!/*@cc_on!@*/0)
{//不是IE浏览器
iframe.onload = function()
{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
};
}
else
{
if (iframe.readyState == "complete")
{
if (iframe.Document && iframe.Document.body.scrollHeight)
{
iframe.height = iframe.Document.body.scrollHeight;
}
else if (iframe.contentDocument && iframe.contentDocument.body.offsetHeight)
{
alert(iframe.contentDocument.body.offsetHeight);
iframe.height = iframe.contentDocument.body.offsetHeight;
}
}
}
}
catch (ex) { }
}
window.setInterval("reinitIframe()", 200);
另外,2#说话注意点,希望你素质提高点。如果你不会,大家都能理解,但得谦虚点问人家。
将下列代码放到主框架页面就可以解决该问题。
function reinitIframe()
{
var iframe = document.getElementById("FrmMain");
try
{
if (!/*@cc_on!@*/0)
{//不是IE浏览器
iframe.onload = function()
{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
};
}
else
{
if (iframe.readyState == "complete")
{
if (iframe.Document && iframe.Document.body.scrollHeight)
{
iframe.height = iframe.Document.body.scrollHeight;
}
else if (iframe.contentDocument && iframe.contentDocument.body.offsetHeight)
{
alert(iframe.contentDocument.body.offsetHeight);
iframe.height = iframe.contentDocument.body.offsetHeight;
}
}
}
}
catch (ex) { }
}
window.setInterval("reinitIframe()", 200);
另外,2#说话注意点,希望你素质提高点。如果你不会,大家都能理解,但得谦虚点问人家。
#4
加群:2346621 一起交流,一起学习Spring ,Hibernate, Struts. Flex 等编程语言及数据库知识..
我们只接收对编程感兴趣,有上进心的人.
我们都是年轻人,我们都对编程感兴趣.
我都有上进心,我们要进步,我们要充实自己.
因为我们年轻,所以我们都有资本.
我们只接收对编程感兴趣,有上进心的人.
我们都是年轻人,我们都对编程感兴趣.
我都有上进心,我们要进步,我们要充实自己.
因为我们年轻,所以我们都有资本.
#5
看看!O(∩_∩)O哈哈~
#6
@jonyxx 我试了这种方式 可iframe里的内容还是没显示完全..