从帧内获取浏览器高度

时间:2012-08-17 03:35:48

标签: javascript jquery height

我正在使用Moodle:moddle

我正在尝试从框架内运行一些Javascript来获取浏览器窗口高度,因此我可以提醒用户他们是否使用的浏览器尺寸不是那么理想。

我尝试过这样的事情:

window.top.document.body.offsetHeight
document.documentElement.clientHeight
$(document).height()
$(window).height()

但是当我调整浏览器大小时,它们都会给出静态高度,而这些高度永远不会改变。

哦,它必须在IE8中工作。

2 个答案:

答案 0 :(得分:5)

您必须使用iFrame窗口的parent属性:

从iFrame中运行此代码,它将返回父窗口的高度:

$(window.parent).height();

但是,如果您使用的是jQuery 1.8.0,如果您的浏览器位于quirks mode,这可能无效。从jQuery 1.8.0开始,命令$(window).height()在quirks模式下停止了Internet Explorer的工作,并don't plan to fix it

如果您使用的是jQuery 1.8.0,请改用此轻微变体:

$(window.parent.document).height();

这将确保跨浏览器支持,即使在IE怪癖模式下也是如此;)

http://www.w3schools.com/jsref/prop_win_parent.asp

答案 1 :(得分:1)

一个简单的解决方案是从iframe调用父文档函数返回文档高度

iframe Javascript

alert(top.getDocHeight());  

主要文档Javascript

function getDocHeight()
{
    return $(window).height();

}