1

我正在使用 Moodle:模块

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

我试过这样的事情:

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

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

哦,它必须在 IE8 中工作。

4

2 回答 2

5

您必须使用parentiFrame 窗口的属性:

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

$(window.parent).height();

但是,如果您使用的是 jQuery 1.8.0,如果您的浏览器处于quirks 模式,这可能无法正常工作。从 jQuery 1.8.0 开始,该命令$(window).height()在 quirks 模式下停止对 Internet Explorer 工作,并且他们不打算修复它

如果您使用的是 jQuery 1.8.0,请改用这个细微的变化:

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

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

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

于 2012-08-17T04:10:58.000 回答
1

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

iframe Javascript

alert(top.getDocHeight());  

主文档 Javascript

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

}
于 2012-08-17T04:09:06.303 回答