mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Fix #3838, $(document).height() incorrect in IE6
May still be broken in Netscape Navigator 4.
This commit is contained in:
parent
da02e190b5
commit
5cae50e66e
@ -42,8 +42,16 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
|
||||
if ( elem.nodeType === 9 ) {
|
||||
// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
|
||||
doc = elem.documentElement;
|
||||
|
||||
// when a window > document, IE6 reports a offset[Width/Height] > client[Width/Height]
|
||||
// so we can't use max, as it'll choose the incorrect offset[Width/Height]
|
||||
// instead we use the correct client[Width/Height]
|
||||
// support:IE6
|
||||
if ( doc[ clientProp ] >= doc[ scrollProp ] ) {
|
||||
return doc[ clientProp ];
|
||||
}
|
||||
|
||||
return Math.max(
|
||||
doc[ clientProp ],
|
||||
elem.body[ scrollProp ], doc[ scrollProp ],
|
||||
elem.body[ offsetProp ], doc[ offsetProp ]
|
||||
);
|
||||
|
17
test/data/dimensions/documentLarge.html
Normal file
17
test/data/dimensions/documentLarge.html
Normal file
@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr" id="html">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<style>
|
||||
body {
|
||||
width: 1000px;
|
||||
height: 1000px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<script src="../include_js.php"></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
11
test/data/dimensions/documentSmall.html
Normal file
11
test/data/dimensions/documentSmall.html
Normal file
@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr" id="html">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<script src="../include_js.php"></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -315,3 +315,17 @@ test("outerHeight()", function() {
|
||||
div.remove();
|
||||
jQuery.removeData($div[0], "olddisplay", true);
|
||||
});
|
||||
|
||||
testIframe("dimensions/documentSmall", "window vs. small document", function( jQuery, window, document ) {
|
||||
expect(2);
|
||||
|
||||
equal( jQuery( document ).height(), jQuery( window ).height(), "document height matches window height");
|
||||
equal( jQuery( document ).width(), jQuery( window ).width(), "document width matches window width");
|
||||
});
|
||||
|
||||
testIframe("dimensions/documentLarge", "window vs. large document", function( jQuery, window, document ) {
|
||||
expect(2);
|
||||
|
||||
ok( jQuery( document ).height() > jQuery( window ).height(), "document height is larger than window height");
|
||||
ok( jQuery( document ).width() > jQuery( window ).width(), "document width is larger than window width");
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user