Now Showing on IE7: femtoblogger
Femtoblogger now shows on IE7. Not too bad. It only took 2 hours to work out the layout problems.
The most severe is that max-width: 600px in the CSS file brings up a bug when used inside a table cell. The cell gets expanded as if there was no max-width so the table ends up expanding to fill the screen. All the articles were cowering against the lefthand border of the screen with the nav stuff still on the right. (Firefox does this too but only if you are clicking a link in a table cell. There went 120 minutes of my life for that one.)
My ultimate solution was to make IE use a width: 600px instead. There is now an IE only CSS file that is loaded after the real one and has a rule to patch that up. Thankfully the IE blokes must have known they were being a menace to society and they built a special comment hack into their HTML parser to let people cope.
<link rel=stylesheet type=text/css href=femtoblogger-ie.css>
… it would have been nice to have something similar in CSS, that would save a file and a download.
You can read more about this hack at CSS Hacks- The good, the bad, and the ugly- Conditional comments
- IE does not have contentDocument, use contentWindow instead.
- addEventListenter/attachEvent silliness.
- The focus and blur events go on the IFRAME's contentWindow, except Firefox needs it on the contentWindow.document. (Not an IE problem, but my first IE fix broke this.)
- The absolute DIV needed an explicit .style.left as it was positioning to the right of the parent.
- Odd problem where a delete n.moseyTimer was leaving the value there. I had to set it to false explicitly.
- Lucky break: accidentally found a problem with which document I use to make the .selection() call while wresting the fleeing tool bar.
- Wash me. Unable to keep the toolbar from taking focus, I have resorted to a timer to notice if a toolbar hide is a result of the toolbar being clicked and suppressing the hide.
- IE is still doing amusing things with the spaces around selections when it wraps them. More hackery to come.