Ticket #4155 (closed bug: worksforme)
$(window).width() and $(window).height() incorrect in Safari/Webkit
| Reported by: | jasonmp85 | Owned by: | brandon |
|---|---|---|---|
| Priority: | low | Milestone: | 1.5 |
| Component: | dimensions | Version: | 1.3.1 |
| Keywords: | dimension window height width safari webkit | Cc: | |
| Blocking: | Blocked by: |
Description
Using Safari/Webkit (I use the latest nightly, but I've confirmed this with latest stable Safari as well), calling $(window).width() and $(window).height() returns incorrect values as compared to the values returned in other browsers and those returned from JQuery 1.2.6 in Safari.
This breaks numerous plugins that rely on this behavior, one of which being Slimbox. For instance, take this webpage:
http://jasonandrebecca.net/content/home.html
It uses JQuery 1.2.6 and the Slimbox positioning is correct. Now consider:
http://jasonandrebecca.net/content/testcase.html
Exact same markup, this time using JQuery 1.3.1. Slimbox positions the popup off the bottom of the viewport. Why? Compare the $(window).(width|height)():
testcase (using 1.3.1):
$(window).width() 960 $(window).height() 1611
home (using 1.2.6):
$(window).width() 1170 $(window).height() 333
An interesting thing to note is that while resizing the window results in different values for the 'home' page, the values for 'testcase' stay fixed. Both pages work correctly in Mac FF3. Also, I'm fairly certain that 960 is the width of my fixed-width layout, so it is telling that $(window).width() should always report this.
--Jason
Change History
comment:1 Changed 4 years ago by dmethvin
- Owner set to brandon
- Component changed from unfilled to dimensions
comment:2 Changed 3 years ago by rwaldron
- Priority changed from major to high
- Status changed from new to open
- Milestone changed from 1.3.2 to 1.5
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.
