镀铬和FF错误的窗户高度

Chrome and FF wrong window height

本文关键字:窗户 高度 错误 FF      更新时间:2023-09-26

有一个很大的应用程序,有很多页面。

当我在控制台中对应用程序的任何页面执行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计算错误的原因是什么?你能给出一些想法吗?去哪里看?

如果有人需要解决方案:

问题是由文档的doctype引起的。所有的页面都有<!DOCTYPE html>,但这一页有类似<!DOCTYPE composition PUBLIC ..bla...XHTML 1.0 Transitional..bla...>的内容。在重新加载时,doctype与其他页面相同。也许与这个jQuery错误有关:https://github.com/morr/jquery.appear/pull/16

正确的doctype解决了此问题。