我正在使用Moodle:
我正在尝试从框架内运行一些Javascript来获取浏览器窗口高度,因此我可以提醒用户他们是否使用的浏览器尺寸不是那么理想。
我尝试过这样的事情:
window.top.document.body.offsetHeight
document.documentElement.clientHeight
$(document).height()
$(window).height()
但是当我调整浏览器大小时,它们都会给出静态高度,而这些高度永远不会改变。
哦,它必须在IE8中工作。
答案 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怪癖模式下也是如此;)
答案 1 :(得分:1)
一个简单的解决方案是从iframe调用父文档函数返回文档高度
iframe Javascript :
alert(top.getDocHeight());
主要文档Javascript :
function getDocHeight()
{
return $(window).height();
}