Bughunting Safari 3
Yes, Oliver there is a bug in Safari3. It’s a javascript issue, to be precise. And it’s annoying.
I have a design relying on Inman Positioning. The javascript is supposed to execute at load time. Problem is, when it does execute, the CSS has not yet been applied to the columns, so it gets an incorrect figure for the height of the div.
The only workaround I’ve got so far is to use setTimeout to set a delay of over 1/3 of a second on the executing of the positioning script. Yes, it’s ugly. But at least it works. And yes, Oliver, I checked the Safari3 tracker and I see 2-3 reports that look like what I’m seeing, so it looks like it’s been reported.
Andy Clarke of Transcending CSS fame convinced me Inman positioning was the way to go, but this makes we wonder. Is it worth it, now?
(BTW, if you haven’t seen that book, see it. The epitome of how a book on design should be not only useful but beautiful. Superb job, buy it, you won’t regret it. Not ever. I promise.)
OK, update.
Thanks to Steve Clay I’ve located a passable workaround for this, and educated myself along the way.
Nutshell: There’s a Safari/IE variable, “document.readyState,” that will tell me when the DOM is fully loaded. No such luck with FireFox, though, but there’s a DOMContentLoaded event that could help.