有很多页面都有很大的应用程序。
在控制台中,我在应用程序的任何页面上执行console.log($(window).height())
,结果如预期:窗口的高度,而不是文档。例如:
$(window).height() //351
$(document).height() //1037
但是有一个页面,在第一次加载时,Chrome45和FF38中的结果是错误的:它使文档的高度减去1px。例如:
$(window).height() //2753
$(document).height() //2754
如果我重新加载页面,结果是正确的,就像在任何其他页面上一样。 那里有很多javascript:jquery,jqueryui.1.8.23,primefaces,jquery插件。等。
但我无法找到,会导致这种奇怪的行为。在IE11上一切正常。
错误计算window.height
的原因是什么?你能提出任何想法,在哪里看?
答案 0 :(得分:1)
如果有人需要解决方案:
问题是由文档的doctype引起的。所有网页都有sudo
但这个网页有<!DOCTYPE html>
之类的内容。在重新加载时,doctype与其他页面相同。也许与这个jQuery错误相关的东西:https://github.com/morr/jquery.appear/pull/16
正确的doctype解决了这个问题。