2012-08-17 99 views
1

moddle获取浏览器的高度我使用的Moodle

我试图从框架中运行一些JavaScript得到浏览器窗口的高度,因此,如果他们用的是我可以提醒用户少于最佳的浏览器大小。

心中已经尝试过的东西,如:

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

但他们都给予高度的静态当我调整浏览器这永远不会改变。

哦,它必须在IE8中工作。

+0

当调整浏览器大小时,它永远不会改变....这是一个响应模式,您需要在$(window).on('resize',function(){console.log($(窗口).height());});' – Ohgodwhy 2012-08-17 03:41:41

+0

我的意思是,刷新浏览器之间。我已经建立了一个警报,告诉我负载的高度。 – Mint 2012-08-17 03:46:49

回答

5

你必须使用iF的parent属性RAME窗口:

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

$(window.parent).height(); 

但是,如果你使用jQuery 1.8.0,这可能不是,如果你的浏览器中工作在quirks mode。从jQuery 1.8.0开始,命令$(window).height()在怪异模式下停止工作于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

+0

顶尖人物使用jQuery 1.7.2完成了这个诀窍。谢谢。 – Mint 2012-08-17 04:39:52

1

一个简单的解决方法是将调用来自iframe的父文件函数返回文件的高度

的iframe的Javascript

alert(top.getDocHeight()); 

主文档的Javascript

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

} 
相关问题