Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invalid support.scrollboxSize() function result #4029

Closed
isukces opened this Issue Mar 30, 2018 · 1 comment

Comments

Projects
None yet
2 participants
@isukces
Copy link

commented Mar 30, 2018

support.scrollboxSize() returns sometimes true and sometimes absolute value depending on browser zoom.

Problem was found on:

  • jquery 3.3.1,
  • Chrome 64bit ver. 64.0.3282.186 and 65.0.3325.181,
  • Windows 10 operating system, resolution 1920x1080, normal system font (100%),
  • Browser zoom : 90% and 110%.

chrome-jquery-problem

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    var sbs = $.support.scrollboxSize();
    var text = sbs==='absolute' ? "WRONG": "OK";
    alert("support.scrollboxSize() returns " + sbs + " so its " + text + ".");
});
</script>
</head>
<body>
    <p>Change font size in chrome with ctrl+wheel and reload page.</p>
</div>
</body>
</html>

Originally problem was found on Serenity framework volkanceylan/Serenity#3412 .

@gibson042

This comment has been minimized.

Copy link
Member

commented Mar 31, 2018

Confirmed. Similarly to #3808, zoom can apparently mess with offsetWidth even though it's not supposed to.

@gibson042 gibson042 self-assigned this Mar 31, 2018

gibson042 added a commit to gibson042/jquery that referenced this issue Mar 31, 2018

gibson042 added a commit that referenced this issue May 7, 2018

@GulajavaMinistudio GulajavaMinistudio referenced this issue May 8, 2018

Merged

Update upstream #49

0 of 4 tasks complete

hubot pushed a commit to eclipse/scout.rt that referenced this issue Jun 8, 2018

Add jQuery patch for wrong box size calculation in Chrome when zooming.
jQuery 3.3.1 includes the fix for issue 3699
(jquery/jquery#3699). See commit
jquery/jquery@20cdf4e
The fix tries to detect if a browser wrongly calculates box sizes with
overflow:scroll.
The fix targets IE9 but is also wrongly active on e.g. Chrome if the web
page is initially loaded using zoom (e.g. 90%).
This was reported as issue 4029
(jquery/jquery#4029) and fixed with commit
jquery/jquery@821bf34
Unfortunately the fix for issue 4029 is not included in a jQuery release
yet.
As Scout no longer supports IE9 anyway and rarely makes use of
overflow:scroll, disable fix 3699 completely for the moment.
As soon as jQuery is updated again, this patch may be removed after good
testing.

The issue can be observed in the Scout UI e.g. in the Desktop header
form-menus when starting Chrome with 90% zoom. It is important to
refresh the page after the zoom has been set to 90% because jQuery only
calculates the css-fixes once and caches the results!

GerHobbelt added a commit to GerHobbelt/jquery that referenced this issue Jul 3, 2018

@lock lock bot locked as resolved and limited conversation to collaborators Nov 3, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.