IE Slow Menu Problem, Fast in Firefox
Hi there,
I have searched the internet for the last two hours and haven't found a solution anywhere, so I'm here to track down all the guru's once again.
I am using a asp:menu on a intranet and found that the menu is very sluggish when using internet explorer, it would take about 2-5 seconds when hovering over the menu item before it would show the child menus. The menu is loaded with about 900 items (yes I know it's quite large).
I have tested it on many different computers with the same result. However when using a computer with Firefox the menu performs excellent with no problems at all, even on the same computer where IE was performing very slow. When searching the internet I found that many others are also experiencing this problem but with no solution.
My question is, has anyone found a solution for this? If you have please help!!!
PS: Changing to firefox isn't an option, as this will mean convincing everyone to change over. (Not possible)
Thanks in advance
Re: IE Slow Menu Problem, Fast in Firefox
Being a client side problem for IE makes it hard to know what is happening.... Is it the javascript, css, html causing the problem. Is it all versions of IE ?
The only course of action I can think to take is to change how the menu is rendered
1. have a look at css adapters here http://www.asp.net/cssadapters/
they change the html output and you can customise the css.
2. create your own by inheriting from the menu control
3. google asp.net menu and see if there is a 3rd party control you could use.
Let us know how you go.
Re: IE Slow Menu Problem, Fast in Firefox
I'd also go for #2 or #3. I suspect the problem has more to do with the javascript and XML (if any) than with the actual HTML being rendered out.
Re: IE Slow Menu Problem, Fast in Firefox
Alright,
I recreated the menu using css and "<ul><li></li></ul>", but unfortunately I ran into yet another problem along the way.
when I add items to the list using "innerhtml". It seems that the "innerhtml" property doesn't like to take a large amount of data and takes a very long time to load(Like a minute). But then other computers work perfectly and load with 5 seconds. (computer specs are similar to one another).
Example:
For i as integer = 0 to 1000
ul.innerhtml += "<li>" & i.tostring & "</li>"
Next
Anyone experienced this before. Is there a better way of adding a new <li> to the list that would perform much faster than using innerhtml.
Thanks In Advance.
Re: IE Slow Menu Problem, Fast in Firefox
Yeah, generate the contents of the list in the codebehind. Why do you need this done in javascript? Javascript DOM manipulation should be used sparingly, not exceedingly.
Re: IE Slow Menu Problem, Fast in Firefox
The reason behind this is that we have one directory stored on a shared folder, this directory and all it's contents is loaded into the menu for easy access(Easy for them but extremely slow and sluggish at the moment). Previously I hard coded files and directories but we ran into dead links when people rename files and directories.
It was a good idea at the time but now i've pretty much hit a brick wall and hoping someone can bail me out :(.
Cheers
Re: IE Slow Menu Problem, Fast in Firefox
Couldn't you use System.Io classes to read the directory names and generate the file structure you need? What you're describing is best done in the codebehind anyways. DOM manipulation will always be slow for this case.