我试图从框架中运行一些JavaScript得到浏览器窗口的高度,因此,如果他们用的是我可以提醒用户少于最佳的浏览器大小。
心中已经尝试过的东西,如:
window.top.document.body.offsetHeight
document.documentElement.clientHeight
$(document).height()
$(window).height()
但他们都给予高度的静态当我调整浏览器这永远不会改变。
哦,它必须在IE8中工作。
我试图从框架中运行一些JavaScript得到浏览器窗口的高度,因此,如果他们用的是我可以提醒用户少于最佳的浏览器大小。
心中已经尝试过的东西,如:
window.top.document.body.offsetHeight
document.documentElement.clientHeight
$(document).height()
$(window).height()
但他们都给予高度的静态当我调整浏览器这永远不会改变。
哦,它必须在IE8中工作。
你必须使用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的怪癖模式;)
顶尖人物使用jQuery 1.7.2完成了这个诀窍。谢谢。 – Mint 2012-08-17 04:39:52
一个简单的解决方法是将调用来自iframe的父文件函数返回文件的高度
的iframe的Javascript:
alert(top.getDocHeight());
主文档的Javascript:
function getDocHeight()
{
return $(window).height();
}
当调整浏览器大小时,它永远不会改变....这是一个响应模式,您需要在$(window).on('resize',function(){console.log($(窗口).height());});' – Ohgodwhy 2012-08-17 03:41:41
我的意思是,刷新浏览器之间。我已经建立了一个警报,告诉我负载的高度。 – Mint 2012-08-17 03:46:49