Search and Top Navigation
#4631 closed bug (fixed)
Opened June 24, 2009 05:21AM UTC
Closed February 04, 2010 09:52PM UTC
Last modified May 16, 2010 03:23PM UTC
Draggable: Fixed positions include wrong scroll offset in Safari 4
Reported by: | attaboy | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | 1.8 |
Component: | ui.draggable | Version: | 1.7.2 |
Keywords: | draggable fixed position scroll offset safari | Cc: | |
Blocked by: | Blocking: |
Description
This re-opens bug #4142.
Safari 4 fixed the bug that this fix worked around, and as a result, fixed position scroll offsets are now wrong in Safari 4. (Ah, the joys of browsers.)
I have devised a simple patch which checks the Webkit version number before using the old workaround. Webkit 526 and higher is equivalent to Safari 4.
Basically, for tests like:
$.browser.safari && this.cssPosition == 'fixed'
The code would become:
$.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed'
Attachments (1)
Change History (8)
Changed July 09, 2009 02:19PM UTC by comment:1
milestone: | TBD → 1.8 |
---|
Changed July 09, 2009 05:38PM UTC by comment:2
We should remove the browser check and actually do feature detection.
Changed July 09, 2009 07:03PM UTC by comment:3
Whats the feature here, and how can we detect it?
Changed August 21, 2009 02:00PM UTC by comment:4
needs reduced test case - not reproducable using http://jquery-ui.googlecode.com/svn/trunk/tests/visual/draggable/draggable.scroll.html
Changed September 25, 2009 12:18AM UTC by comment:5
That URL has two "Fixed" elements inside scrolling divs but neither one is even visible on the screen in Safari 4! No wonder you can't reproduce it! :-)
Just make a position:fixed div on a page with a bunch of other items halfway down a page, shrink the window so the scrollbar appears on the main window, scroll down a bit, then start dragging the div. You'll see it jump around spastically.
Changed September 25, 2009 12:42AM UTC by comment:6
I patched my copy and did some DRYing out of the relevant code as well. It's much clearer now that 4 nearly-identical nested-ternary-operator statements are replaced with some function calls.
Changed February 04, 2010 09:52PM UTC by comment:7
resolution: | → fixed |
---|---|
status: | new → closed |
Fixed in r3778. Now with even more browser detection! :-(
Changed February 04, 2010 10:02PM UTC by comment:8
Replying to [comment:3 joern.zaefferer]:
Whats the feature here, and how can we detect it?
The feature is whether or not we can determine the offset correctly for fixed position elements. You can create a fixed position element, position it, get the offset and determine if the value is correct.