Javascript jQuery返回错误的文档高度
我在Cocoa(Mac)中使用Webview,并试图获得文档的正确高度。只要做正常的事情,Javascript jQuery返回错误的文档高度,javascript,jquery,css,cocoa,Javascript,Jquery,Css,Cocoa,我在Cocoa(Mac)中使用Webview,并试图获得文档的正确高度。只要做正常的事情,webview.mainFrame.frameView.documentView.bounds.size.height似乎在所有情况下都能正常工作,除了我刚刚发现的一个: 当我在这个网站上尝试这样做时,我得到的文档高度大约为500,而实际文档高度更像是2000+,因为我必须滚动几个屏幕才能到达最后 我尝试在webview中评估javascript以获得实际高度,方法如下: 但这些也给出了非常不正确的值,就
webview.mainFrame.frameView.documentView.bounds.size.height
似乎在所有情况下都能正常工作,除了我刚刚发现的一个:
当我在这个网站上尝试这样做时,我得到的文档高度大约为500,而实际文档高度更像是2000+,因为我必须滚动几个屏幕才能到达最后
我尝试在webview中评估javascript以获得实际高度,方法如下:
但这些也给出了非常不正确的值,就像我最初的方法一样。即使进入该页面,加载jQuery,然后执行$(document.body).height()之类的操作,也会给出一个非常不正确的值。有人知道发生了什么吗?是否有其他方法可以获得可靠的文档高度
我注意到检查员报告的镀铬高度也变得混乱起来。在这些屏幕截图中,您可以看到document.body height报告为小于其一个子节点的高度
chrome inspector中的子div高度“>
希望这能有所帮助。我认为您得到的是window.innerWidth/Height,而不是整个文档 试试这个
document.body.offsetHeight
我在一个随机网页上尝试了一下,得到了+8000像素,这是正确的。我的窗口高度只有590(控制台打开ofc)
希望能有帮助
- 莫勒
html,body{height:100%}
和屏幕滚动,.screen滚动>body{overflow:hidden}
会把事情搞得一团糟。如果将它们都设置为高度:100%
并将body设置为溢出:隐藏
,则html和body都将具有相同的100%
高度,而没有溢出
,这将使文档的高度与窗口的高度相同
因此,您可能实际上是在寻找标题、导航和.background white
的高度之和,这更像4222
,而不是您现在得到的500
类似这样的内容:
var hh = $('header').height(),
nh = $('nav').height(),
bh = $('.background-white').height(),
docHeight = hh+nh+bh;
alert(docHeight);//test
在页面加载之前等待怎么样?
$(文档).ready(函数(){..})
我在Chrome上也有同样的问题。在一个网站上,有必要使用js调整两列的高度。当我单击F5时,其中一列的高度不同,请使用$(document)进行修复。准备好了吗?这会发生在所有浏览器上,还是仅在Chrome上
2015年1月1日,chrome更新了他们的浏览器,这改变了一些值得注意的事情,但其中之一与计算浏览器窗口/视口有关。以下是帖子,也许会有所帮助:此页面的内容如下:
HTML和正文(以及一些底层元素)都设置为100%的高度,因此它们完全适合浏览器窗口。在我的例子中,大约500像素高。那么它们如何建立这种滚动呢?嗯……有一个带溢出的div:auto,实际内容要多得多(大约4000px)
因此,您实际上不是在滚动整个页面,而是在滚动这个特定的div(签出布局前景滚动区域)
在这种情况下,文档高度为500px是完全正确的,您要查找的高度可以通过控制台通过以下方式找到:
document.querySelectorAll(".scrolling-region")[0].scrollHeight
这将给出4133px的高度,在本例中,这是页面的实际高度
干杯:)我也面临着同样的问题。经过一整天的努力,我意识到了这一点,但如果我把语句称为inside window.onload,它会返回正确的高度。我试过了,但在这种情况下给出了错误的答案。在media.com上试过。试过了,但在我所说的情况下不起作用:www.media.comis给出了与窗口不同的值。innerHeight
这确实是一个有趣的问题。我已经更改了标题-我认为这更合适,应该引起更多的注意。这确实是一个bug,通过打开并激活一个我认为这是真正的bug,您应该向报告。谢谢,我刚刚这样做了:如中所述下面我的回答是,这不是jQuery错误,而是Medium团队的设计选择。我不认为这是一个缺陷。我应该知道的。谢谢!
document.querySelectorAll(".scrolling-region")[0].scrollHeight