PDA

View Full Version : Bug rendering MenuButton in IE6+



dngrmoose
30 May 2007, 2:57 PM
There is a small space after the text in the menubutton. This is proportional to the amount of the text in the menu button. I've tracked it down to the fact that the render() method does not defer the execution of autoWidth(), as occurs with Ext.Button.

jack.slocum
30 May 2007, 3:12 PM
Thanks, I have made the update.

stever
31 May 2007, 2:23 PM
Thanks, I have made the update.

It would be great if IE7 also used the defer(), as that would fix problems for me.

jack.slocum
31 May 2007, 8:51 PM
It would be great if IE7 also used the defer(), as that would fix problems for me.

IE7 doesn't need a defer though.

stever
1 Jun 2007, 8:33 AM
IE7 doesn't need a defer though.

Ahh... but it does..! If you do an inline code render (before the document is ready). I know you hate that, but I have things setup such that the page renders as it goes. Actually, things like toolbars I have the menu buttons render, but the code for the menu (which the user can't see) gets left until much later. In many cases, only when the user goes to click the menu.

I have made a change to the CSS that actually negates the need for the defer. I attach the classes like isIE and isStrict immediately after the body tag such that i can target my css fix appropriately. That also results in less shifting.

There is an alternative for me -- I can have the server side learn the same HTML that the JS uses such that the JS substitutions result in the exact same HTML. I'm considering do that, even though it makes the server side more difficult, it would only mean delays on the client side on the document ready point, not during rendering. I'm not sure if it is worth it.

Why inline? Not everything is a pure JS application! Sometimes we use Ext to add enhancements. We just can't have the document rerender so bunch of times. It looks sloppy.

jack.slocum
1 Jun 2007, 1:48 PM
Why inline? Not everything is a pure JS application! Sometimes we use Ext to add enhancements. We just can't have the document rerender so bunch of times. It looks sloppy.

Why not hide it while it is rendering since inline scripts delay rendering the same time anyway?