mirror of
https://github.com/jquery/jquery.git
synced 2025-01-10 18:24:24 +00:00
Offset: fix iframe scrollTop/Left test for IE8 and iPhone
* IE8 need a doctype, otherwise IE will scroll it, but will
still show old values. It wasn't noticable before, since IE8 will
update values if in the dev tools you swtich to "Quirks mode"
and then back again, then this tab will always show the correct values
even if you update it
* iPhone resize the iframe by its content regardless of
the width, height values, meaning it's not possible to scroll
the iframe only its parent element
Ref ae30fb6c27
This commit is contained in:
parent
d632699c6b
commit
62a333e064
@ -550,17 +550,31 @@ test("fractions (see #7730 and #7885)", function() {
|
||||
test("iframe scrollTop/Left (see gh-1945)", function() {
|
||||
expect( 2 );
|
||||
|
||||
// Tests scrollTop/Left with iframes
|
||||
var ifDoc = jQuery( "#iframe" )[ 0 ].contentDocument;
|
||||
jQuery( "#iframe" ).css( "width", "50px" ).css( "height", "50px" );
|
||||
ifDoc.write( "<div style='width: 1000px; height: 1000px;'></div>" );
|
||||
ifDoc.close();
|
||||
|
||||
jQuery( ifDoc ).scrollTop( 200 );
|
||||
jQuery( ifDoc ).scrollLeft( 500 );
|
||||
// iPhone resize the iframe by its content
|
||||
// meaning it's not possible to scroll the iframe only its parent element
|
||||
if ( /iphone os/i.test( navigator.userAgent ) ) {
|
||||
equal( true, true, "iPhone doesn't scroll the iframes" );
|
||||
equal( true, true, "iPhone doesn't scroll the iframes" );
|
||||
|
||||
equal( jQuery( ifDoc ).scrollTop(), 200, "$($('#iframe')[0].contentDocument).scrollTop()" );
|
||||
equal( jQuery( ifDoc ).scrollLeft(), 500, "$($('#iframe')[0].contentDocument).scrollLeft()" );
|
||||
} else {
|
||||
// Tests scrollTop/Left with iframes
|
||||
jQuery( "#iframe" ).css( "width", "50px" ).css( "height", "50px" );
|
||||
|
||||
// Support: IE8
|
||||
// Need a doctype, otherwise IE will scroll it but will still show old values
|
||||
ifDoc.write( "<!DOCTYPE><div style='width: 1000px; height: 1000px;'></div>" );
|
||||
|
||||
// Support: IE8
|
||||
ifDoc.close();
|
||||
|
||||
jQuery( ifDoc ).scrollTop( 200 );
|
||||
jQuery( ifDoc ).scrollLeft( 500 );
|
||||
|
||||
equal( jQuery( ifDoc ).scrollTop(), 200, "$($('#iframe')[0].contentDocument).scrollTop()" );
|
||||
equal( jQuery( ifDoc ).scrollLeft(), 500, "$($('#iframe')[0].contentDocument).scrollLeft()" );
|
||||
}
|
||||
});
|
||||
|
||||
})();
|
||||
|
Loading…
Reference in New Issue
Block a user